9个版本 (5个重大变更)
0.6.0 | 2023年12月3日 |
---|---|
0.5.0 | 2022年11月7日 |
0.4.0 | 2022年5月23日 |
0.3.0 | 2021年11月21日 |
0.1.2 | 2020年3月14日 |
#1223 in 网络编程
每月36次下载
210KB
4.5K SLoC
ncgopher
ncgopher
是现代互联网的Gopher、Gemini和Finger客户端。它使用ncurses,用Rust编写。
gopher
Gopher是在1991年由明尼苏达大学开发的,并以学校的吉祥物命名。Gopher是一种菜单驱动的界面,允许用户在各种Gopher服务器上浏览文本信息。
gemini
Gemini是一种新的应用级互联网协议,用于分发任意文件,并特别考虑了服务于轻量级超文本格式,以便于文件之间的链接。
截图
必须的截图
功能
- Gopher、Gemini和Finger支持
- Ncurses界面
- 键盘命令导航
- 书签支持,包括自定义标题
- 访问过的Gopher洞的历史记录
- 下载文本文件和Gophermap(另存为…)
- 下载二进制文件
- 易于配置的菜单
- 某些终端中的鼠标支持
- TLS支持
- 暗黑模式!
- 外部命令用于HTML、图像和Telnet
- 文本中的类似Vi的搜索
- 书签、历史记录以及禁用历史记录记录的选项
安装
Arch Linux
Arch Linux用户可以使用pacman安装ncgopher
sudo pacman -S ncgopher-git
NixOS
NixOS用户可以使用nix-env安装ncgopher
nix-env -iA nixos.ncgopher
NetBSD
NetBSD用户可以使用pkgin安装ncgopher
pkgin install ncgopher
所有其他系统
ncgopher
目前没有复杂的安装过程。有一些外部依赖项需要安装。首先,当然你需要安装Rust。其他依赖项包括 openssl、ncurses 和 sqlite3 库。如果这些没有安装,构建将失败,但你很可能会知道缺少什么。
基于Debian的Linux
sudo apt install build-essential pkg-config libssl-dev libncurses-dev libsqlite3-dev
基于Arch的Linux
sudo pacman -S base-devel pkg-config openssl ncurses sqlite
OpenBSD
doas pkg_add sqlite3 rust
MSYS2(Windows,MINGW64终端)
pacman -S base-devel mingw-w64-x86_64-pkgconf mingw-w64-x86_64-rust mingw-w64-x86_64-ncurses mingw-w64-x86_64-openssl mingw-w64-x86_64-sqlite3
如果你知道如何在你的操作系统上安装所列的依赖项,并且它没有列出,请提交一个pull request以添加它。
安装这些依赖项后运行
cargo install ncgopher
要安装最新开发版本
git clone https://github.com/jansc/ncgopher.git
cd ncgopher
cargo build
cargo run
键盘快捷键
在alpha版本中,快捷键不可配置,许多功能尚未实现。
按键 | 命令 |
---|---|
箭头键 | 在文本中移动 |
Enter | 打开光标下的链接 |
Esc | 转到菜单栏 |
空格 | 向下滚动一页 |
g | 打开新的URL |
G | 编辑当前URL |
b | 后退 |
q | 关闭应用程序 |
s | 保存当前页面 |
r | 重新加载当前页面 |
i | 显示光标下的链接 |
a | 为当前页面添加书签 |
l | 转到下一个链接 |
L | 转到上一个链接 |
j | 向下移动一行 |
k | 向上移动一行 |
/ | 在文本中搜索 |
n | 转到下一个搜索结果 |
N | 转到上一个搜索结果 |
鼠标支持
ncgopher
支持菜单和对话框中的按钮的鼠标交互。如果您想选择文本,大多数终端在按下SHIFT
时支持选择。
调试
该软件仍处于beta版本,这也是我第一个用Rust编写的应用程序。预期会有很多错误和写得不好的Rust代码。
如果应用程序崩溃,我会对日志文件感兴趣。要生成一个,请使用命令行标志-d
和要存储日志的文件名重新运行程序,例如"error.log"。它看起来可能像这样:ncgopher -d error.log
这将将日志消息追加到error.log
(如果文件不存在,则创建文件)。使用此方法,尝试重现错误并注意回溯输出。
如果您知道如何做,并且安装了源代码,您可以使用RUST_BACKTRACE
运行程序以获取回溯。
许可证
ncgopher
根据BSD 2条款许可证授权。
版权所有(c)2019-2022 ncgopher 作者。状态栏实现的部分版权所有(c)2019,Henrik Friedrichsen
依赖项
~41–56MB
~1M SLoC