Gemini
外观
Gemini 是一个新设计的、协作设计的互联网协议,它探索了 Gopher 和 Web 之间的空间,致力于解决其中一个(被认为存在的)限制,同时避免另一个(无可否认的)陷阱。
agate 服务器
agate 是一个用 Rust 编写的简单的 Gemini 超文本协议服务器。Agate 功能非常少,只能提供静态文件。它使用异步 I/O,即使在低端硬件上运行并服务大量并发请求时,它也应该相当高效。
安装
配置
生成自签名 TLS 证书和私钥。例如,如果您安装了 OpenSSL 1.1,您可以使用类似以下的命令。(请将主机名 example.com 替换为您的 Gemini 服务器的地址。)
$ openssl req -x509 -newkey rsa:4096 -keyout key.rsa -out cert.pem \
-days 3650 -nodes -subj "/CN=example.com"
运行服务器。您可以使用以下参数来指定内容目录、证书和密钥文件的位置、要监听的 IP 地址和端口、请求 URL 中预期的主机名以及用于 Gemini 文本文件的 MIME 类型中要包含的默认语言代码:(再次将主机名 example.com 替换为您的 Gemini 服务器的地址。)
$ agate --content path/to/content/ \
--key key.rsa \
--cert cert.pem \
--addr [::]:1965 \
--addr 0.0.0.0:1965 \
--hostname example.com \
--lang en-US
Gemini 客户端
终端客户端
- amfora(Go),一个“花哨”的终端客户端。
- asuka-gitAUR(Rust),一个基于 NCurses 的终端客户端。
- av-98AUR(Python),一个源自流行的 VF-1 Gopher 客户端的终端客户端。
- bombadillo-gitAUR(Go),一个集成了 Gopher 和 Gemini 功能的终端客户端,具有 vim 式的按键映射。
- Elpher(Emacs),一个流行的文本编辑器/操作系统上的 Gopher 和 Gemini 客户端。
图形客户端
- castorAUR(Rust,GTK),最早的 GUI 客户端之一,支持 Gemini、Gopher 和 finger。
- kristallAUR(C++,Qt),一个集成了 Gopher 和 Gemini 功能的 GUI 客户端。
- lagrangeAUR(C,SDL),一个漂亮的标签式 GUI 客户端,提供 Windows 和 MacOS 的预编译二进制文件。
Web 代理
您可以使用下面的 Web 代理之一从您的 Web 浏览器探索 Geminispace。
- Mozz.us portal
- geminize(Firefox 扩展)