For the past 3 days, I have been actively working on a URL shortener called FlyURL. It started as a project to help me learn Python and Flask, but now has grown into a pretty big project.
Some main differences between FlyURL and other self-hosted URL shorteners (like Pckd[0] or Shlink[1]):
- FlyURL is ONLY compatible with SQLite (Unlike Pckd)
- FlyURL has NO API or CLI (Unlike Shlink)
- FlyURL has really basic tracking (Only by clicks), while Pckd and Shlink features more robust tracking (This is something on working)
- FlyURL has a clean and basic UI (Influenced by is.gd[2], and thanks to Lit[3]) - FlyURL requires NO logins (Influenced by chilp.it[6])
- FlyURL uses blacklist from Steven Black's hosts[4] and its in-house URL shortener service list[5] to block harmful websites and prevent creating a "chain" of URLs (Influenced by is.gd) (I'm not sure if Pckd or Shlink do the same, but it's likely they do)
- FlyURL is built with Python and Flask (Shlink is built with PHP, and Pckd is built with React)
If you want a URL shortener that just works, then FlyURL may fit for you. If you want more features and more robust, then Shlink and Pckd are better choices.
[0]: https://github.com/PckdHQ/Pckd
[1]: https://shlink.io/
[2]: https://is.gd
[3]: https://ajusa.github.io/lit/docs/lit.html
[4]: https://github.com/StevenBlack/hosts
[5]: https://gist.github.com/HoangTuan110/e6eb412ed32657c841fcc2c...
[6]: https://chilp.it