A simple URL shortener that just shortens links.
Deploy this app to Linode with a free $100 credit!
A simple selfhosted URL shortener with no unnecessary features.
Don't worry if you see no activity for a long time. I consider this project to be complete, not dead. I'm unlikely to add any new features, but I will try and fix every bug you report.
If you feel like a feature is missing, please let me know by creating an issue using the "feature request" template.
I've looked at a couple popular URL shorteners, however they either have unnecessary features, or they didn't have all the features I wanted.
Clone this repository
git clone https://gitlab.com/draganczukp/simply-shorten
Gradle 6.x.x and JDK 11 are required. Other versions are not tested
.jar
filegradle build --no-daemon
The --no-daemon
option means that gradle should exit as soon as the build is
finished. Without it, gradle would still be running in the background
in order to speed up future builds.
# Required for authentication
export username=<api username>
export password=<api password>
# Sets where the database exists. Can be local or remote (optional)
export db_url=<url> # Default: './urls.sqlite'
java -jar build/libs/url.jar
You can optionally set the port the server listens on by appending --port=[port]
http://localhost:4567
in your browser, add links as you wish.docker run
methoddocker build . -t simply-shorten:latest
docker run -p 4567:4567
-d url:latest
-e username="username"
-e password="password"
-d simply-shorten:latest
1.a Make the database file available to host (optional)
touch ./urls.sqlite
docker run -p 4567:4567 \
-e username="username" \
-e password="password" \
-v ./urls.sqlite:/urls.sqlite \
-e db_url=/urls.sqlite \
-d simply-shorten:latest
docker-compose
There is a sample docker-compose.yml
file in this repository. It contains
everything needed for a basic install. You can use it as a base, modifying
it as needed. Run it with
docker-compose up -d
As requested in #5, it is possible to completely disable the authentication. This if not recommended, as it will allow anyone to create new links and delete old ones. This might not seem like a bad idea, until you have hundreds of links pointing to illegal content. Since there are no logs, it's impossible to prove that those links aren't created by you.
If you still want to do it, then you need to set an environment variable to an exact value:
INSECURE_DISABLE_PASSWORD=I_KNOW_ITS_BAD
Any other value will not work.Please login to review this project.
No reviews for this project yet.
Comments (0)
Please login to join the discussion on this project.