This release brings three main changes.

  1. The ability to filter links.
  2. Support for an optional notes field.
  3. 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.

Edit: There’s a Codeberg mirror as well.

    • SinTan1729@programming.devOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 months ago

      Thanks. Just a small correction. The API isn’t really REST, it’s REST-ish but probably closer to JSON-RPC.

  • adarza@lemmy.ca
    link
    fedilink
    English
    arrow-up
    3
    arrow-down
    2
    ·
    2 months ago

    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.

      • adarza@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        2
        ·
        2 months ago

        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’

        • SinTan1729@programming.devOP
          link
          fedilink
          English
          arrow-up
          5
          ·
          2 months ago

          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.