内容提要
本文介绍了Finger协议(1971年诞生的早期社交网络)及其现代应用。作者注册了happynetbox.com账号,编写脚本将本地~/.plan文件自动同步到该平台,并通过cron定时任务每30分钟更新。他还利用AI每天早上翻译其他用户的新内容推送给自己。文章详细记录了注册、发帖接口发现、自动化同步过程及踩过的坑(如中文乱码、CRLF换行、cookie过期),展示了复古协议与现代技术的结合。
延伸解读
Finger 协议的历史与定位
Finger 协议诞生于 1971 年,比互联网本身还早,最初用于查询用户信息,后来演变成一种简单的社交分享方式。它的核心是 .plan 文件,用户通过修改本地文件来更新状态,其他人通过 finger 命令查看。这种去中心化的模式与现代社交平台形成鲜明对比,更注重隐私和自主控制。
现代应用与自动化实践
作者通过脚本和 cron 任务,将本地 .plan 文件自动同步到 happynetbox.com,实现了类似博客的更新机制。这种自动化方式展示了复古协议与现代工具的结合,但也暴露了技术上的限制,如不支持中文、需要 CRLF 换行等。对于技术爱好者来说,这是一种有趣的实验,但普通用户可能难以适应。
技术限制与解决方案
文章详细记录了三个主要问题:中文乱码、CRLF 换行和 cookie 过期。这些问题反映了 Finger 协议的老旧特性,但也提供了解决思路:使用纯英文内容、正确使用网络工具、以及实现自动重登机制。这些经验对于其他复古协议或老旧系统的集成具有参考价值。
Q&A
Finger协议是什么时候诞生的?
Finger协议诞生于1971年,由斯坦福SAIL实验室开发。
Finger协议的工作原理是什么?
Finger协议的工作原理是:客户端连接到对方主机的79端口,发送一行用户名,服务器返回该用户家目录下.plan文件的内容。
happynetbox.com是什么?
happynetbox.com是一个实验性网站,由Ben Brown创建,是一个公开的finger服务器。用户注册后可以发布文字,其他人可以通过finger命令查看。
如何通过curl登录happynetbox?
使用curl发送POST请求到/login,携带handle和password参数,并保存cookie到文件。例如:curl -c ~/.happynetbox.cookie -X POST https://happynetbox.com/login -d "handle=bboysoul&password=xxx"
如何通过curl在happynetbox上发帖?
使用curl发送POST请求到/post/<handle>,携带content字段。例如:curl -b ~/.happynetbox.cookie -X POST https://happynetbox.com/post/bboysoul --data-urlencode "content=Myblog: https://www.bboy.app"
作者如何实现本地.plan文件自动同步到happynetbox?
作者编写了一个脚本,检查cookie有效性,计算.plan文件的md5值,与上次同步的缓存比较,如果有变化则通过curl POST到happynetbox。然后设置cron定时任务每30分钟执行一次。
作者如何利用AI翻译happynetbox上的更新?
作者编写了一个采集脚本,通过finger命令获取最近更新的25个handle,然后逐个finger获取内容。再设置cron每天早上6点运行,内容有变化时用AI翻译成中文推送给作者。
使用happynetbox时遇到哪些坑?
遇到的坑包括:1. finger服务端不支持中文,中文会乱码,解决方案是只写英文并检查非ASCII字符;2. nc请求需要带CRLF结尾,否则返回错误;3. cookie会过期,需要检查并自动重新登录。