Usenet 新闻组 和 命令行浏览器选择 (w3m, lynx, links, elpher, offpunk)
Table of Contents
这个文章还是中文写, 因为中文互联网相关内容真的太少了.
1. 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 维基百科也是这样评定的, 但终于在提供的几个链接里找到了唯一一个能用的: 一个台区域名提供商.
一个全新的世界为我敞开!
2. 浏览器
有三大命令行浏览器–国内那些搬运文章经常这么说, 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 站直播).
2.1. (e)links
links 中文都显示不了, 不行, 而且 html 渲染也很离谱, 比如我的主页.
JavaScript 支持不再维护, js 终端里有时候很有用, 另外的方式就是用 GUI 浏览器 (firefox) 渲染然后在终端里显示那些项目.
elinks 调用 lynx 访问 news 和 gopher.
2.2. 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
2.3. offpunk 与 elpher
elpher 很好, 但是当我在 aur 搜索 av-98 时发现的 offpunk 使我眼前一亮, 它拥有一个我我一直想要的功能:
将访问过的正文存储在本地留个记录, 以便之后查找 (fzf/ripgrep) (这个也记录在我的画饼想法里)
html 做这种事很难, 而 gemini 这种轻量级标记文本就太适合这种场合了.
我要是逛 gemweb 早些时候就用 offpunk, 现在也不至于突然想起来一个之前看过的文章然后怎么找都找不到…3
elpher 只能加书签, 没有存储的历史记录, 那种当时看到没在意, 事后突然回想起的就没办法.
offpunk 的两个优点:
2.3.1. 开箱即用
offpunk 就是个 python 文件, 依赖项都是可选的.
(btw, 像 offpunk 这样的单文件程序就不要 Nix 安装了, locale, $LESSHISTFILE, xdg 这些事费劲.)
(btw, offpunk 其实有点慢, offpunkrc 里 quit, 时间是 200ms, 用 pypy 能减到 100ms, 原因是许多依赖不兼容)
而 elpher 的依赖项是 emacs, 我在服务器上不想弄 emacs.
2.3.2. 根正苗红
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
3. Footnotes & Related Link
youtube: 用代理来兼容 gemini
r/slackware: Which browser is better? (w3m or Lynx)
linuxquestions: links, lynx, w3m??