This project spawned due to my curiousity in gRPC, golang, and building something practical to share.
GoShorten is a self-hosted URL Shortener written in Golang. It uses a gRPC server on the "backend" for API calls and stores data in a Redis Database. The current Time-To-Live for each URL/Code is possible via the webgui. Options for 5 min, 24 hrs, and 48 hrs are available.
-
git clone https://github.com/incidrthreat/goshorten.git
-
cd goshorten
-
Execute
./generate-tls-certs.sh
to generate the TLS certs. -
In the /backend directory, rename
config.json.example
toconfig.json
- Currently only supports Redis.
-
docker-compose up
ordocker-compose up -d
- Redis "password" is on line 19 in
docker-compose.yml
- Change password as necessary
- Redis "password" is on line 19 in
-
open your favorite browser to
localhost:8081
Note: To view statistics of your code, append a +
to the end of the uri.
If you are interested in contributing to this project please send an email to incidrthreat@hackmethod.com
or submit a PR with any changes you'd like to see. If you run into issues please submit an issues "ticket" here.
- Initial - Incidrthreat