Giter Club home page Giter Club logo

dogeify's Introduction

Dogeify

Dogeify is a Node.js super-webscale Doge-powered awesome-infused evented based streaming Doge injecting proxy server.

Think CloudFlare, but with Doge.

Check it out live

What is this?

This proxy is designed to insert tags, and also rewrite links, headers, cookies, etc so it appears to transparently work as a man in the middle.

It also inserts Doge.

The proxy is designed to run on a wildcard domain *.SUFFIX_DOMAIN, and everything are rewritten to match that domain.

It currently only supports HTTP sites (running on ports :80).

Configuration

These can be set by environment variables:

PORT : Port proxy listens on Default: 5000

EXTERNAL_PORT : Port proxy appears to be listening on (eg, the front-end server) Default: 80

SUFFIX_DOMAIN : Domain that is appended when rewritting links Default: 'dogeifyit.com'

LOG_FORMAT : Connect Middleware style log format Default: ':method :status :response-time \t:req[Host]:url :user-agent'

Setup

You will need PostgreSQL installed. Additionally, run this in your terminal:

createuser -P -e dogeify

First, import db.sql into Postgres. Then, run these in your Postgres console:

GRANT ALL PRIVILEGES ON DATABASE "dogeify" to dogeify;
GRANT ALL PRIVILEGES ON TABLE "sites" TO dogeify;
GRANT ALL PRIVILEGES ON TABLE "users" TO dogeify;
GRANT ALL PRIVILEGES ON TABLE "payments" TO dogeify;

CREATE FUNCTION update_changetimestamp_column()
RETURNS TRIGGER AS $$
BEGIN
   NEW.updated_at = now(); 
   RETURN NEW;
END;
$$ language 'plpgsql';

CREATE TRIGGER update_ab_changetimestamp BEFORE UPDATE
ON payments FOR EACH ROW EXECUTE PROCEDURE 
update_changetimestamp_column();

Here's the command I use to run it locally:

SUFFIX_DOMAIN=dogeifyit.com.local PORT=5000 EXTERNAL_PORT=9000 LIBRATO_AUTH=EMAIL:API_KEY DEBUG=1 node --debug src/dogeify.js

Notes

Major changes compared to Meowbify:

  • Removed coffee from our diet (removed CoffeeScript)
  • Removed sub-domain requirement.
  • Added API, database, blockchain components.
  • Re-designed the landing page and cut down on the CSS dependency.

Special Thanks

The Mobify Team:

  • @rrjamie @fractaltheory @kpeatt @shawnjan8 for Meowbify
  • @mobify whose time and money @rrjamie was wasting to write Meowbify
  • @ericmuyser for liking doges more than cats

dogeify's People

Contributors

highruned avatar kpeatt avatar mobifydave avatar noahadams avatar

Stargazers

 avatar  avatar  avatar

dogeify's Issues

Comic Sans

Add into the css file something like

* {
  font-family: 'Comic Sans', 'Comic Sans MS', Chalkboard, ChalkboardSE-Regular, 'Marker Felt', Purisa, 'URW Chancery L', cursive !important;
}

Image dimensions should be correct

Story:
When the page loads, I want to see doge in the correct image dimensions. We can accomplish this by keeping the original image and injecting a script to find its dimensions after load and set doge appropriately.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.