This release brings three main changes.
- The ability to filter links.
- Support for an optional notes field.
- Ability to edit expiry time and notes.
I try not to too many new features to avoid bloat, but it seemed like these were pretty useful for a link shortener, especially when managing thousands of short links. (To my surprise, some people even use it to manage millions of links.)
Please take a look at the release notes for a complete list of changes.
P.S. The next thing I’ll be focusing on is improving throughput under sustained load. If anyone has experience with SQLite, feel free to drop any tips. All the db related code is here. I’m mostly interested in improving insert speeds when 1000s of inserts are done per second.
This looks pretty interesting. I have been passively looking for such a service. I will give this a whirl and try it out.
Hope you like it.
This is very cool. I like your github write up a lot. Hosted.
Thanks. Hope you like it.
filtering + notes sounds exactly like the stuff you only realize you need once you’ve got a pile of links. curious if filtering covers tags/domains/expiry too? i use https://cryptly.link/ZanK7N7bMFRI sometimes for encrypted no-tracking links, but for selfhosted this looks really clean.
Thanks. Filtering does not cover expiry, but it does cover shortlinks, longlinks, and notes. Making expiry work will make the filtering inefficient for little benefit, since the expiry times are stored as UNIX timestamps in the database.
That looks great, I’ve added Chhoto URL to OpenAltFinder as well.
Thanks. Just a small correction. The API isn’t really REST, it’s REST-ish but probably closer to JSON-RPC.
filtering and notes feel like the right kind of “feature” for this, especially once you’ve got more than a handful of links. i’ve been using https://cryptly.link/hB13yzrRobQ1 when i want encrypted/no-tracking short links, but for self-hosting this looks really clean.
Opening the shortened URL in your browser will instantly redirect you to the correct long URL. (So no stupid redirection pages.)
an interstitial or redirect page would be a security feature, especially for a shortener open to the public.
Can you elaborate? Seems interesting.
bad actors use shorteners to mask the actual url of their pages so their potential victims don’t know where they’re going until it is, perhaps, ‘too late’
That could be, but I don’t think that it should be relied upon. The shortener itself can execute malicious code, so that kind of security is, in my opinion, essentially theatre. I’d just say that don’t click on links that you don’t trust.
This project is for own use/use with friends/family/internally in an org etc., where trust isn’t an issue. Of course, I cannot stop anyone from using it in any other way that they see fit. It can help shorten annoying long links, but that’s it.
Optimizing a dead internet engine






