Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Detry322/redisred
A small Redis-based URL Redirector
https://github.com/Detry322/redisred
Last synced: 3 months ago
JSON representation
A small Redis-based URL Redirector
- Host: GitHub
- URL: https://github.com/Detry322/redisred
- Owner: Detry322
- License: mit
- Created: 2015-07-07T03:40:25.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-07-23T21:37:45.000Z (over 5 years ago)
- Last Synced: 2024-08-01T01:28:18.514Z (6 months ago)
- Language: JavaScript
- Homepage: http://jack.plus/redisred
- Size: 44.9 KB
- Stars: 72
- Watchers: 4
- Forks: 28
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-starred - Detry322/redisred - A small Redis-based URL Redirector (others)
README
A small Redis-based URL Redirector
[](https://www.heroku.com/deploy/?template=https://github.com/Detry322/redisred)
## Give it a test!
If you want to test it out first hand, try it here: [https://redisred.herokuapp.com/admin](https://redisred.herokuapp.com/admin)
Username: `admin`
Password: `testing`## Features
### Randos
- Visitors can go to `/whatever`, and they'll be redirected to link named `whatever`
- 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
- `/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 redirects
- `POST /admin/api/create` creates a redirect with parameters `key` and `url`
- `POST /admin/api/delete` deletes a redirect with parameter `key`## How to get up and running
Some quick easy steps:
1. Make sure you have `gcc`, `brew`, `node`, and `npm` installed.
2. Run `brew install redis`
3. Run `npm install && npm run create-config`
4. Edit the `.env` file to have the environment variables you like :)## How to run the app locally
1. `npm run start-redis`
2. `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 :)
[](https://www.heroku.com/deploy/?template=https://github.com/Detry322/redisred)
## Environment variables.
| Variable | Description |
| -------- | ----------- |
| PORT | The port this app should run on |
| ADMIN_USERNAME | The username used to log into the admin console |
| ADMIN_PASSWORD | The password used to log into the admin console |
| 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 |## License
Redisred is released under the MIT license.