Small Internet Stack
I’ve recently taken an interest in what’s been dubbed the Smol Internet, “small Internet”, or “the Dork web”. In this context, it refers to simpler protocols, sometimes old ones, in contemporary use. This also has cross over with the “indie web” communities. I’ve deployed my own stack and content for some of these services for fun.
- Lagrange is a nice cross-platform browser that supports each of these protocols (desktop).
- Elaho is an iOS app for browsing Gemini.
- deedum is a Gemini browser for iOS and Android
- Gopher Client for iOS.
- Ariane is an Android app for browsing Gemini.
- DiggieDog is a Gopher client for Android.
See the awesome-gemini repo on GitHub for a list of things related to Gemini.
I’m using Ansible to deploy these services to a Rocky Linux virtual machine on my Homelab.
See https://github.com/joshbeard/homelab-service-smolstack for my Ansible playbook for the whole stack.
The Gopher protocol predates the web but still has an active community of enthusiasts.
I’m using Gophernicus to serve my Gopher hole.
Gopher response using Netcat:
echo | ncat jbeard.co 70
A newer protocol that was introduced only a few years ago is Gemini. This is somewhere between Gopher and the Web/HTTP - probably closer to the Gopher side.
Gemini response using Netcat:
echo "gemini://jbeard.co/" | ncat -C --ssl jbeard.co 1965
Another service is Finger.
I am using Finger2020 for my Finger service.
To “finger” me, you can use a simple command, which is common across Linux, macOS, and Windows:
Finger response using Netcat:
echo "josh" | nc jbeard.co 79