在 Linux 上构建 Gemini 服务器并加入可能已经存在的 Web

Gopher 是一种互联网协议,存在于 1990 年代初期,但最终输给了 HTML 和万维网。 它今天仍然存在,Gemini 是它的精神继承者,具有更高的安全性,以及在低成本硬件上运行的数千个独立服务器(称为胶囊)。

与我们熟悉和喜爱的网络相比,这些数字微不足道,但只需稍加努力,您就可以将胶囊排名扩大一个。 继续阅读以了解如何设置您自己的 Gemini 服务器。

Gemini 与 Gopher 有何不同

Gopher 失败了,因为它的技术是专有的——与万维网背后的技术不同。 Gemini 不会犯同样的错误,而且服务器软件是免费和开源的,所以任何人都可以随意使用、改编和分发。

与许多复古计算项目一样,Gopher 和 Gemini 都过度使用双关语。 之所以叫 Gopher,是因为如果用户请求资源,它会“去”他们。 Gopher 站点被称为 Gopher Holes。

双子座以太空探索为主题,名字指的是双子座太空计划。 双子座站点被称为太空舱,使用的端口是 1965 年——纪念 1965 年第一次载人双子座太空飞行。

Gemini 也比 Gopher 更强调安全性——每个胶囊都需要自签名证书。

设置双子座胶囊很便宜

实际上,过去 30 年生产的任何计算机都可以安装 Gemini 胶囊——只要它能够运行 Linux 发行版。 树莓派因其低成本和低能耗而特别受欢迎。 因为 Gemini 使用的资源非常少,所以像 Raspberry Pi 4B 这样的高端 Pi 太过分了,更适合用于要求更高的项目。 Raspberry Pi Zero W 的性能非常好。

您还需要一个域名或备用子域。 如果您还没有,请阅读我们关于如何选择和购买域名的指南。

在你的 Pi Zero 上托管 Gemini Capsule 很简单

首先,访问您的域名注册商并为您的域名创建新的 DNS 记录。 将类型设置为 一个,主机为@,值为您家的公共IP地址。 如果您需要帮助,我们已经解释了如何从 Linux 系统中找到您的公共 IP 地址。 将 TTL 值设置得尽可能低。

现在去 admin 您的路由器的页面。 您可以通过将浏览器指向 192.168.1.1. 如果这对您不起作用,请查阅您的路由器手册。

查找名为 Port Forwarding、Port Mapping 或 Port Management 的部分,并为 Gemini 创建一个新条目。 本地 IP 地址应该是你的 Pi 的本地 IP 地址,协议是 TCP,本地和公共端口都应该是 1965。

如果您已经在 Raspberry Pi 上安装了发行版,您应该通过 SSH 连接到机器:

ssh user@xxx.xxx.x.xx

…在哪里 用户 是您的用户名,xxx.xxx.x.xx 是您的 Raspberry Pi 的本地 IP 地址。

通过键入以下内容更新和升级系统上的存储库列表和软件包:

sudo apt update
sudo apt upgrade

现在为 Gemini 创建一个新目录:

mkdir gemini

双子座 目录将保存双子座胶囊的内容——其中最重要的部分是 索引.gmi. 继续做一个:

nano gemini/index.gmi

Gemini 使用 Markdown 语言。 如果您对此还不满意,请阅读我们的 Markdown 入门指南。

索引页应包含对您的双子座胶囊的介绍和其他有用信息。

Save 并退出文件 Ctrl + O 然后 Ctrl + X.

创建一个名为的新目录 垃圾桶 在双子座目录中并 cd 进入它:

mkdir gemini/bin
cd gemini/bin

在浏览器中,访问 GitHub 上的玛瑙 并在“资产”部分下,为您的硬件确定正确的包。 64 位 Raspberry Pi 4B 需要 agate.aarch64-unknown-linux-gnu.gz,而 32 位 Pi 零 W,则需要 agate.armv7-unknown-linux-gnueabihf.gz.

右键单击相应的包名称以获取链接地址,然后将其粘贴在 wget 命令之后以将包下载到当前目录。

wget https://github.com/mbrubeck/agate/releases/download/v3.2.4%2Bbuild/agate.aarch64-unknown-linux-gnu.gz

使用以下命令提取包:

gunzip agate.aarch64-unknown-linux-gnu.gz

请记住,根据下载的架构,包名称会略有不同。 重命名提取的文件:

mv agate.aarch64-unknown-linux-gnu.gz agate

使其可执行:

sudo chmod +x agate

光盘 回到你的主目录并使用 nano 创建一个 shell 脚本:

nano gemini.sh

将以下内容粘贴到文件中,确保将“example.com”更改为您的实际域名:

#!/bin/bash
/home/pi/gemini/bin/agate --content /home/pi/gemini/ --addr [::]:1965 --addr 0.0.0.0:1965 --hostname example.com --lang en-US

Save 和 close 和 Ctrl + X 然后 Ctrl + O 并使脚本可执行:

sudo chmod +x gemini.sh

开始您的双子座胶囊:

./gemini.sh

从任何地方访问您的 Gemini Capsule

Gemini 不是网络,您无法使用普通的网络浏览器访问它。 但是,有许多浏览器可以同时访问 Gopher 孔和 Gemini 胶囊。 我们推荐 水晶,适用于 Windows、macOS 和 Linux。 下载并安装在您的常规机器上。

您可以通过键入访问您的双子座胶囊 双子座://example.com 进入地址栏,其中 example.com 是您的域名!

用更多页面扩展您的双子座胶囊

您现在可以在 Raspberry Pi 上创建和运行 Gemini 胶囊。 对于一个非常简单的信息站点来说,一页就足够了,您可以通过添加来创建更多 .gmi 文件 到您的内容文件夹。 想想你对什么感兴趣以及访问者想要阅读什么内容。 同样,您也可以在 Linux 上创建和访问 Gopher 漏洞。