双子星、Gopher 与手指:噢,我的 HTTPS 之外的替代互联网
Gemini, Gophers, and Fingers. Oh My Alternative Internets Beyond HTTPS

原始链接: https://brennan.day/gemini-gophers-and-fingers-oh-my-alternative-internets-beyond-https/

当今网络被以 Chromium 为核心的浏览器、企业监控以及臃肿的框架所垄断,形成了一种单一文化。作为回应,“小型网络”(Small Web)运动正通过 Finger、Gopher 和 Gemini 等去中心化的终端协议,重夺互联网的控制权。 这些协议优先考虑简洁性、隐私和可访问性。Finger(1971 年)实现了去中心化的用户状态更新;Gopher(1991 年)提供了一种分层式的菜单驱动替代方案;Gemini(2019 年)则带来了一种现代的、加密的、无干扰的体验——完全摒弃了 Cookie、JavaScript 和追踪技术。 由于这些协议轻量化,它们可以在被现代浏览器淘汰的旧硬件上运行,从而跨越数字鸿沟并减少电子垃圾。这一运动在哲学上与“太阳朋克”(Solarpunk)相契合,拒绝榨取式的注意力经济,转而追求以人为本、自给自足的互联网。通过使用 Bombadillo 或 Offpunk 等工具,用户可以逃离企业网络,拥抱“电子亲密感”,并参与到一个建立在关怀而非利润之上的数字公共空间中。这个替代性互联网并非遥远的愿景,而是一个向任何愿意走出浏览器的人开放的鲜活生态系统。

这篇 Hacker News 的讨论聚焦于“Gemini”协议以及那些优先考虑简洁性和隐私、而非现代广告技术驱动的替代性网络架构。 参与者们探讨了 Gemini 限制性特征的利弊。批评者认为,缺乏内嵌图片和 Cookie 等原生功能,使得浏览体验变得不必要的困难,且信息量不及标准网页。相反,支持者则认为,正是这些约束保护了用户免受当前网络中侵入式追踪和臃肿内容的干扰。 讨论中指出,诸如点击加载图片或使用社区构建的认证服务等“蹩脚”的变通方法,是为了获得更清洁、非商业化的数字体验所必须付出的代价。最终,该帖将“小型网络”(Small Web)定义为一种刻意远离现代浏览器复杂性的举措,并暗示对于那些既想保护隐私又不愿彻底与世隔绝的用户来说,“简单网络”(Simple Web)标准可能是一个可行的中间方案。
相关文章

原文

In my last post, I announced that I created a bash tool for easier blogging in the terminal, inspired by the tildeverse. Today, I want to continue my discussion on visions of alternative Internets that are already being created.

I want to talk about Uniform Resource Identifier (URI) schemes.

Sounds boring, right? Or at least complicated, but it really isn't. URIs are just the protocols set for browsing the Internet. There are many, some official (as per the Internet Assigned Numbers Authority) and some unofficial.

One of the biggest draws of the IndieWeb for me is the decentralization of the Internet. The entire point is to stop the erosion of the Internet from being a handful of bad-faith, extractive corporate social media platforms.

But at the end of the day, we're still all using the same Internet, aren't we? The same handful of browsers, the same frameworks and engines. We can take this a step further, and we can interface with the Internet in ways that don't involve going to websites that start with https://

The Colour of What We Call the Internet

Chrome alone controls roughly 73% of global desktop browser market share. If you add in Edge, Brave, Opera, Vivaldi, which all are built on Google's Chromium engine, that accounts for over 80% of desktop browsing worldwide. Mozilla, which still maintains one of the only independent rendering engines (Gecko), is the only viable competitor. Everything else is Blink and Google.

More and more, the webdevs of the world test and develop for Chrome only. Agriculture teaches us how dangerous and fragile monocultures like this are.

It doesn't need to be this way. https:// is not the only way to connect and interface with the Internet. Some that you may know are ftp:// for file transfers, mailto: for email composition, ssh:// for secure shell access, irc:// for Internet Relay Chat, or magnet: for peer-to-peer downloads. The majority of Internet browsers do not play nicely even with these protocols, handing them off to other applications.

But what I want to write about today are three protocols that have their own ecosystems, their own communities, and their own aesthetics. finger://, gopher://, and gemini://. Two predate the World Wide Web entirely, but one was created in 2019, the same year the first black hole photograph circled the planet. None of them require a GUI. None of them require JavaScript. All three of them run in a terminal.

Finger (1971)

Let me start with the deep past, when the ARPANET was less than two years old. In 1971, users wanted to know who else was logged into their small networks, and where they were. The existing tool, called WHO, gave a list of user IDs and terminal line numbers which was cryptic, technical, readable only if you already knew what you were looking at. Researcher Les Earnest at the Stanford Artificial Intelligence Laboratory watched people literally run their fingers down the WHO printout, scanning for recognizable names. He named his new program after that gesture.

The finger daemon runs on TCP port 79, serving a small, human-readable file about you. Your name. Your email. Whether you're logged in. And the contents of two files: .plan and .project.

The .plan file was originally meant to contain a user's current and future plans, a professional status update before status updates existed. But as the informal culture of the early Internet evolved, .plan files became random musings, personal manifestos, and links to things you were thinking about. A broadcast of who you were to anyone who cared to ask. In ways, it was the first social media profile.

I have a .plan file in my tilde home directory right now. I'm not going to tell you what it says, for the point is you have to go looking. finger [email protected] and you'll find out what I'm working on right now. And yes, of course the verb "to finger someone," is designed to make you snicker.

It's opt-in, low-infrastructure presence. A plain text file and a TCP connection.

Bombadillo, the terminal-based non-web browser I'll mention more below, supports Finger natively alongside Gopher and Gemini. You can run your own finger server on any Linux machine. The protocol is so simple it fits in your head.

Gopher (1991)

Now let's move forward twenty years, to another problem at another university.

In 1991, the University of Minnesota wanted a campus-wide information system. The project became, as these things do, a design-by-committee monstrosity. A group of programmers, Mark McCahill, Farhad Anklesaria, Paul Lindner, Daniel Torrey, and Bob Alberti, decided to go around the committee entirely and built something themselves on personal computers rather than a mainframe, and see if they could have a working prototype done before the next meeting. They released the code without official approval. The committee initially rejected it, and then the rest of the Internet found it.

Paul Lindner, dubbed the Gopher Dude for his evangelism, long metal-head hair and all—signed his emails with Babes in Toyland lyrics. Programmer Robert Alberti later recalled that "[Gopher] was the first viral software. All these people started calling the University and pestering the president and other administrators, saying, 'This Gopher thing is great, when are you going to release a new version?' And the administrators said, 'What are you talking about?'" The administration unsurprisingly reversed their decision and gave the project their blessing shortly after.

The name is a triple pun. The University of Minnesota's mascot is the Golden Gopher; "gopher" evokes the act of burrowing; and it's a play on "go-fer," an errand-runner who fetches things on request. The protocol is a hierarchical menu system, you navigate a tree of directories and documents. It's faster and more simple than FTP. For a moment in 1991 and 1992, Gopher and the World Wide Web competed as genuine equals. Two totally different visions of how to organize human knowledge on a global network.

Gopher lost. In 1993, the University of Minnesota announced it would start charging a licensing fee to commercial users. Tim Berners-Lee had declared HTTP and HTML completely free and open, with no licensing attached, ever. The press started describing Gopher as an obsolete predecessor rather than a living alternative. Within a couple of years, the race was over because of one institutional decision about money.

But, Gopher isn't actually dead. It got turned into a newt, but then got better! Here are the stats over the past twenty years, as per Veronica2 Gopher search index:

Index Date Gopher Servers Unique Selectors
19 March 2007 86 740,000
3 January 2008 148 1,220,665
2012 approx. 160 approx. 2,500,000
November 2014 144 approx. 3,000,000
15 October 2015 144 3,314,158
25 April 2016 137 4,396,061
15 August 2017 146 5,176,602
May 2018 260 approx. 3,700,000
10 December 2018 297 3,946,750
May 2019 320 approx. 4,200,000
January 2020 395 approx. 4,500,000
18 November 2020 358 5,973,552
18 October 2021 343 5,294,599
11 October 2022 333 5,098,733
17 February 2024 323 5,113,957
19 June 2025 296 5,113,382
29 August 2025 432 5,254,158
28 January 2026 411 5,856,111

In January 2026, there were 411 active Gopher servers serving nearly six million unique selectors. Gopher is maintained by people who choose it, not being propped up by corporate interest backing whatsoever.

I maintain my own gopherhole manually with a shell script, gopher-build.sh, that lives in my bin/ directory. Navigating it in a terminal feels like handling a card catalogue.

Gemini (2019)

Project Gemini was started in June 2019 by a pseudonymous developer known as Solderpunk. The name is a reference to NASA's Project Gemini, the human spaceflight program conducted between 1964 and 1966, and the protocol runs on port 1965 to honour that.

It has nothing to do with Google's AI, or the cryptocurrency exchange. It's named after part of the space program between Mercury and Apollo, the middle step, the bridge. What made the moon landing possible.

Solderpunk designed Gemini as a direct response to watching more and more people rediscover Gopher, finding a refuge from what the web had become. But Gopher, with its age, has a significant problem: no encryption. Particularly after Edward Snowden's 2013 revelations about mass surveillance, running an unencrypted protocol started to feel more and more like bad practice. Gemini's answer is to make TLS encryption mandatory for all Gemini capsules.

The Gemini specification fits in a few pages. Requests are a single URL terminated by a line break. Responses include a two-digit status code, a content type, and the data. That's it. There are no cookies, no tracking pixels, no third-party resources, no behavioral analytics. A Gemini capsule cannot phone home and surveil you. There's no JavaScript or cookies or tracking pixels or 3rd-party resources or any other bullshit.

Gemtext, Gemini's native document format, is line-oriented. The first three characters of a line determine its type: a heading, a link, a list item, a quote, a preformatted block, or body text. There's no nesting, inline formatting or images.

You can't use bold for emphasis or italicize a word for tone. Writing is stripped down to its skeleton, and I think that forces you to be a better writer.

I've been using Gemini for a while through Smol Pub, a brutally simple blogging platform which publishes your posts at both https:// and gemini:// simultaneously. For only $5, you have a lifetime license to the platform, which I think is an amazing deal! The math of the small web is different from the math of the attention economy.

Because I work primarily in Markdown, I built a Markdown to Gemtext converter, which is a great way to get started. You can read my write-up about the project on my smol pub.

Blogging? More Like Gemlogs and Phlogs!

As I wrote about in my previous post, ttbp, the tilde.town blogging platform, nicknamed FEELS is one of my favourite ways to blog. You run it in the terminal, opening your text editor of choice to a plain text file. You write, then save and quit. The entry propagates automatically to a global feels list, and publishes to both HTML and Gopher simultaneously.

I have a public_gopher/feels directory right now that's synced to my gopherhole. I think the naming is important, as this isn't content or articles, they're called feels. It's people writing mundane journal entries, poetry, and reflections. Emotional and human. Electric intimacy of strangers sharing inner lives with anyone patient enough to look.

A phlog (a portmanteau of "Gopher" and "blog") is a blog maintained in Gopherspace, updated via a gophermap. A gemlog is the same thing for Gemini. My gemlogs/ directory has its own feed and indexor.

Gemlogs follow the Gemini subscription convention, which means it's designed to be subscribable without needing RSS or Atom. Each entry is formatted as:

=> /posts/YYYY-MM-DD-title.gmi YYYY-MM-DD Post title

The date format (YYYY-MM-DD) at the start of the link label allows Gemini clients to automatically detect and subscribe to new posts. The simple, human-readable format works great for this kind of small-scale personal publishing.

A Gift to Old Hardware

Something important about these protocols that I think is underlooked is that, due to their simplicity, all you need is the terminal to access and create on them, no GUI needed at all. This vastly lowers the hardware requirements compared to the mainstream Internet browser.

Loading a modern website built with React (or any of its cousins) requires your browser to download a JavaScript bundle, parse it, execute it, render a virtual DOM, reconcile that DOM with the real one, and then do it all again whenever state changes.

A modern Chromium-based browser uses ~2 GB of RAM in normal operation. NASA's Gemini Guidance Computer had 20kb. The machines required to run these browsers have only been getting more expensive and more energy-intensive to manufacture every year.

On the other hand, a Gemini capsule in Bombadillo requires a terminal emulator, a network connection, and a TLS library. The entire browser is a few megabytes. This will run on a machine from 2005.

This is important for the mountain of electronics we have landfilled. A laptop from 2008 no longer able to run Chrome can run Bombadillo, accessing the six million documents in Gopherspace and browsing thousands of Gemini capsules.

These protocols can run on virtually anything, they meet you where you are.

Who gets to participate in an Internet that requires an increasingly expensive, frequently-replaced device to use in any meaningful way? You still need a network connection and terminal, sure, but the hardware threshold drops dramatically.

The Small Web and Solarpunk

Solderpunk's pseudonym instantly reminded me of Solarpunk, a speculative fiction genre and a real-world political and aesthetic movement. Cyberpunk imagines a future of neon-soaked corporate dystopia and steampunk looks backward to industrial romanticism, but solarpunk imagines forward—toward decentralized communities, renewable energy, mutual aid, technology that serves life rather than exploiting. The symbol is a half-gear for technology compatible with nature, and a sun for the infinite potential of the open imagination. The movement began in sci-fi and migrated into architecture, gardening, political organizing, and Internet culture.

Solarpunk doesn't worship technology, nor demonize it. Rather, solarpunk asks how we can use technology to improve humanity. It's interested in decentralized infrastructure, community engagement, and a DIY attitude. It distrusts monocultures, suspicious of scale for scale's sake, asking: who benefits from technology, and at what expense?

This is what the small web asks. Gemini was created by someone who named themselves after the act of soldering—the work of connection with heat and metal. Bombadillo was developed by sloum on tildegit, a fellow tildeverse resident. The tildeverse itself runs on the philosophy that public-access Unix servers are a commons you can have a home on the Internet without paying a corporation. Without surrendering your data or being the product.

I have a .botany/ directory on tilde.town, a terminal plant-growing game. A small, shared, pixelated garden where tilde.town residents tend to ASCII plants, growing when you're logged in and paying attention.

It's stuff like that, you know?

The alternative Internet is not separate from the struggle for a better world. We learn to build intentionally, creating for people. Not for social currency or scale or profit. For care. There's no way to have a pipeline for data harvesting or intrusive advertising on these alternative protocols.

The only way any of these projects continue being maintained and grow is by us using them and contributing to their developers. I believe that now more than ever we need to be imaginative and play with the Internet. There are so many different ways to use our connection to the entire world we haven't even thought about yet.

Want to get started? For a catalog of Gemini clients, servers, and tools across every programming language, the awesome-gemini list on GitHub is great.

For accessing these protocols, Bombadillo is a versatile terminal option, handling Gopher, Gemini, and Finger in a single interface with Vim-style keybindings.

Offpunk is another excellent, offline-first command-line browser worth knowing about. It handles the Web, Gemini, Gopher, and RSS feeds all from your terminal, with a focus on working offline and syncing content for later reading. Thanks to Candy for the tip on that one!

For a GUI browser, Lagrange is my personal favourite.

If you want to browse Gemini from a web browser first, proxies at portal.mozz.us and proxy.vulpes.one will translate Gemini capsules into HTTP. My own Markdown to Gemtext converter is free to use if you want to bring existing writing into Geminispace easily.

联系我们 contact @ memedata.com