mirror.dongdigua.github.io/org/usenet_and_cli_browsers.org
2023-06-28 23:52:05 +08:00

6.7 KiB

Usenet 新闻组 和 命令行浏览器选择 (w3m, lynx, links, elpher, offpunk)

这个文章还是中文写, 因为中文互联网相关内容真的太少了.

Usenet 新闻组

一直以来, 我从各个地方 (主要是历史资料里 comp.*) 都有看到 Usenet 新闻组一事. 但我的认知里, 这种服务怎么也得有个服务器地址 URL 吧 (比如 news://news.tilde.club), 怎么能就只是组名? 而 Wikipedia 英文文章并没有提到 URL, 这使我困惑, 曾一度以为 Usenet 是一个历史的东西, 在当今已经消逝了. 但是访问不到不代表不存在, 如著名不存在网站 Google, 问题是一样的. 我们这里没有这样的服务, 而这个服务在国外是如此常见以至于就是服务商的 news://news 解析, 这也是 gnus 和 tin 的默认 URL, 国内三大服务商一直以来都没有. 后来用中文搜索 (习惯了 DugkDuckGo 的英文搜索), 发现了 ruanyifeng 关于 Usenet 的文章 1, 他介绍 (打广告) 了一个付费的 Usenet 代理, 我当然不想刚入门就用付费的. 在评论区里发现了 news.cn99.com 可惜已经没了, 于是又突发奇想, 为什么不上中文维基, 在那里, 终于找到了这篇 新闻组, 看起来有点像宣传文章 2 维基百科也是这样评定的, 但终于在提供的几个链接里找到了唯一一个能用的: 一个台区域名提供商.

news://freenews.netfront.net

一个全新的世界为我敞开!

浏览器

有三大命令行浏览器–国内那些搬运文章经常这么说, links, lynx 和 w3m. links 和 lynx 是我最开始 (比我得知 emacs eww 还早) 在 Gentoo Install Wiki 里看到的, w3m 是作为 ranger 图片渲染得知的. 这三者我都尝试使用过 (然后在主目录下产生了一堆垃圾文件), 但实际上除了上下键/jk 翻页, TAB 跳链接, Enter 跟随, 我并没有太重度使用过. 这次弄新闻组, 开始不知道 tin 如何加载组目录的时候, 才发现 lynx 这种多协议通用纯文本浏览器的好处: 学会一套快捷键, 不管是 http, ftp. gopher, nntp 甚至 gemini 都可以访问. 在一个纯终端的机器比如我的家里云上这也是一个必要的技能. 而这三个浏览器就必须一决高下了, 我可不想装一堆浏览器 (怎么感觉这话是在说可怜的国内 Windows 用户呢)(GUI 我几乎只用 FireFox, Chromium Freeword 只用于 B 站直播).

(e)links

links 中文都显示不了, 不行, 而且 html 渲染也很离谱, 比如我的主页. JavaScript 支持不再维护, js 终端里有时候很有用, 另外的方式就是用 GUI 浏览器 (firefox) 渲染然后在终端里显示那些项目. elinks 调用 lynx 访问 news 和 gopher.

lynx 与 w3m

实验报告:

~ w3m lynx
image probably (!tmux) no
html render seems better ok
news render bad ok
gopher render [directory] (DIR)
gemini support ok since 2023.1 waiting
color not too much colorful but looks old
vi key default -vikeys
man page lines 268 (so simpler) 1239

所以又是不同的需求不可兼得, 可能现在 w3m 还可以吧… 现在(2023.5)的补丁有个 bug: 加载页面之后鼠标会跑到页面最下面, 有时间我修一下. TODO anyway, 我用 Nix 打包了支持 gemini 的 w3m https://github.com/dongdigua/nur-pkg/tree/master/pkgs/w3m

offpunkelpher

elpher 很好, 但是当我在 aur 搜索 av-98 时发现的 offpunk 使我眼前一亮, 它拥有一个我我一直想要的功能: 将访问过的正文存储在本地留个记录, 以便之后查找 (fzf/ripgrep) (这个也记录在我的画饼想法里) html 做这种事很难, 而 gemini 这种轻量级标记文本就太适合这种场合了. 我要是逛 gemweb 早些时候就用 offpunk, 现在也不至于突然想起来一个之前看过的文章然后怎么找都找不到…3 elpher 只能加书签, 没有存储的历史记录, 那种当时看到没在意, 事后突然回想起的就没办法.

offpunk 的两个优点:

开箱即用

offpunk 就是个 python 文件, 依赖项都是可选的. (btw, 像 offpunk 这样的单文件程序就不要 Nix 安装了, locale, $LESSHISTFILE, xdg 这些事费劲.) (btw, offpunk 其实有点慢, offpunkrc 里 quit, 时间是 200ms, 用 pypy 能减到 100ms, 原因是许多依赖不兼容) 而 elpher 的依赖项是 emacs, 我在服务器上不想弄 emacs.

根正苗红

offpunk 源于 AV-98, AV-98 作者是 Gemini 协议的创始人 Solderpunk, 新协议, 就要有新力量, 他肯定比其他人更清楚 建设什么样的客户端, 怎样建设客户端. 这里面比较有趣的一个功能 tour 是一个 FIFO 队列, 很能体现他的思考. (6.27) 当我研究 CGI 的 6x client cert 的时候发现 offpunk 的 cert 命令也特别好.

而 elpher 只是一个简单的 emacs 客户端, 甚至都没有 TOFU 最好是能让 elpher 访问过的页面也按照 offpunk 的方式存储, 倒不一定要让 elpher 支持 offline, 以及历史记录. 感觉不难 TODO

Footnotes & Related Link