• 2 posts
  • 2 comments
Joined 2 years ago
Cake day: March 28th, 2025

It’s a tiny selfhosted service that determines the client’s IP address or accepts an IP address through a query parameter, then returns geolocation and ASN information using the MaxMind GeoLite2 databases.

I often used services like ipinfo.io for checking my IP, location etc. e.g. to make sure a VPN was working properly. These are also handy for figuring out which timezone to use etc. I wanted to selfhost it, but couldn’t find one that satisfied my needs. So I decided to write one.

Check out the README for details.

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.