reduc.io alternatives and similar software solutions
Based on the "URL Shorteners" category.
Alternatively, view reduc.io alternatives based on common mentions on social networks and blogs.
-
Reduced.to
Free Modern URL Reducer. Make sure to share love by giving it a star.๐ Have a great day! -
devShort
DISCONTINUED. A simple and privacy-friendly URL shortener for web developers, admins and all professionals. -
Lstu
Lightweight URL shortener. Read-only mirror of https://framagit.org/fiat-tux/hat-softwares/lstu -
Purl
Purl (Petite URL) is an open source project with the goal of providing you with your own private URL shortener! -
Link-shortener-bot
Host your own link shortener that works with a bot. Just send the link to a bot and it'll take care of the rest for you.
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of reduc.io or a related project?
README
โฑ reduc.io โฐ
URL shortener service
http://reduc.io/wuXaq
Tech stack
Alternative solutions
We could use following short code gen also:
substr(base62(md5(url)), 6) = 62 ^ 6 //unique short urls
Commands
Run
Run docker-compose
, it will start api
, redis
and will expose api port to host.
docker-compose up
Sample usage
# Shorten
curl -i http://localhost:9001 -F "url=https://www.amazon.com/Star-Wars-Battlefront-II-Digital/dp/B072JZZ4XD"
# Call shortened url
for ((i=1;i<=100;i++)); do curl -i "http://localhost:9001/SEwuXHhBQw"; done
# Get Stats
curl -i "http://localhost:9001/stats/?url=https://www.amazon.com/Star-Wars-Battlefront-II-Digital/dp/B072JZZ4XD"
# returns: {"callCount":100}
Create executable
sbt packageBin
Test
sbt test
Gatling Simulation
Simulation users count can be set in application.conf
in test resources.
# terminal 1
sbt run
# Run simulation in terminal 2
sbt gatling:test gatling:latestReport
Coverage with Report
sbt clean coverage test coverageReport
Improvements
- Seperate read and write API's
- Move statistics to different data store and API
- Add DB support by having write master/replicas and have read replicas
- Move hit counts to MapReduce job and generate them from the Web Server logs
- Implement Authentication using JWT authentication protocol with OAuth2 authentication framework
- API Documentation using swagger or similar
- Add Host denyList
- Add Retry policies for
Redis
calls using Retry or similar one - Add Throttling using akka-http-contrib
- Add Metrics support using akka-http-metrics
z i ฮป a s a l.