SinTan1729

@SinTan1729@programming.dev · Joined ⁨Mar⁩ ⁨2025⁩

posted in Selfhosted

[CBH] Self IP: A small self-hosted IP geolocation API written in Go

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.

github.com/SinTan1729/self-ip
A small self-hosted IP geolocation API written in Go - SinTan1729/self-ipGitHubGitHub - SinTan1729/self-ip: A small self-hosted IP geolocation API written in GoA small self-hosted IP geolocation API written in Go - SinTan1729/self-ip

Chhoto URL v7 is out now: A simple, blazingly fast, selfhosted URL shortener with no unnecessary features; written in Rust.

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.

github.com/SinTan1729/chhoto-url