Small Internet Stack

I’ve 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.

Apps

See the awesome-gemini repo on GitHub for a list of things related to Gemini.

Deployment

I’m using Ansible to deploy these services to a Rocky Linux LXC on my Homelab.

See https://github.com/joshbeard/homelab-service-smolstack for my Ansible playbook for the whole stack.

Gopher

The Gopher protocol predates the web but still has an active community of enthusiasts.

I’m using Gophernicus to serve my Gopher hole.

Gopher: gopher://jbeard.co

Gopher response using Netcat:

echo | ncat jbeard.co 70

Gemini

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.

I am using JetForce for my Gemini service and have also used Agate.

Gemini: gemini://jbeard.co

Gemini response using Netcat:

echo "gemini://jbeard.co/" | ncat -C --ssl jbeard.co 1965

Finger

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:

With the finger command:

finger josh@jbeard.co

Finger response using Netcat:

echo "josh" | nc jbeard.co 79

Resources