A small Redis-based URL Redirector
Give it a test!
If you want to test it out first hand, try it here: https://redisred.herokuapp.com/admin
Username: admin
Password: testing
Features
Randos
- Visitors can go to
/whatever
, and they'll be redirected to link namedwhatever
- If the link doesn't exist, they'll be presented with a nice 404 page :)
- Visiting just
/
brings you to a designated root redirect.
Admins
/admin
brings people to page where they can sign in with Google OAuth/admin/redirects
lets people view and edit all of the redirects
API
All requests must be authenticated with a x-access-token
header.
GET /admin/api/
returns a json of all the redirectsPOST /admin/api/create
creates a redirect with parameterskey
andurl
POST /admin/api/delete
deletes a redirect with parameterkey
How to get up and running
Some quick easy steps:
- Make sure you have
gcc
,brew
,node
, andnpm
installed. - Run
brew install redis
- Run
npm install && npm run create-config
- Edit the
.env
file to have the environment variables you like :)
How to run the app locally
npm run start-redis
npm start
To stop the server, Ctrl+C
, and then:
npm run stop-redis
Deploy the app to heroku
To deploy this to heroku, click this fancy button :)
Environment variables.
Variable | Description |
---|---|
PORT | The port this app should run on |
OAUTH2_PROXY_CLIENT_ID | The client ID of your Google app |
OAUTH2_PROXY_CLIENT_SECRET | The client secret of your Google app |
API_TOKEN | The token to be used on all API calls |
ROOT_REDIRECT | The URL the root of your website should redirect to |
SESSION_SECRET | A secret key for verifying the integrity of signed cookies |
ALLOWED_USERS | The Google Plus IDs of users you want to allow to log in |
License
Redisred is released under the MIT license.