Tailscale 组网工具

最近一个多月我用了一下 Tailscale 这个组网工具,很喜欢。 一、组网还是不组网 在互联网的田园时代,每台能上网的计算机都能分到一个 IPv4 地址,在自己家的计算机上搭建一个网站也是一件非常容易的事情。而现代,由于 IPv4 地址的短缺,人们组建家庭或办公网络时,往往会使用路由器来做网络地址翻译(NAT)——即局域网(LAN)内的设备使用诸如 192.168.0.0/16 这样的内网网段,对外共享一个或少数几个公网 IPv4 地址。这样的部署对于一般的网上冲浪来说是够用了,但是由于没了公网可路由的地址,想要在自己家的计算机上搭建一个网站供别人访问,就变得没那么方便了。 为了解决这种需求,现代的家庭路由器一般会带有端口转发功能,即将其拿到的公网地址的某个端口转到某个内网设备的端口上。比如当外部访客访问路由器的 443/tcp 端口时,最终接收和处理请求的其实是内网某台 NAS 上的 Nginx 服务器。 除了端口转发,另一种让不在内网里的设备也能访问到内网服务的方法就是组个新的内网。比如不住在一起的朋友想要联机打游戏,那便可以通过虚拟专用网(VPN)组建一个虚拟的局域网,让两台电脑以为自己共处同一局域网 ……

写给 Twitter 用户的 Fediverse 指南

作为一个用了十几年 Twitter 的用户,我于两个月前从 Twitter 迁移到了 Fediverse 联邦宇宙。本文面向 Twitter 难民介绍如何开始使用 Fediverse,以及它与 Twitter 的异同。 一、欢迎来到 Fediverse 联邦宇宙! 如果你没有听说过 Fediverse / Mastodon / Pleroma / ActivityPub 等概念,请先阅读拙作《Fediverse 联邦宇宙》。 简而言之,Fediverse 联邦宇宙是一张不同站长搭建的不同的站点之间互通有无的网络。互通有无是指站点之间虽然域名不同,但是可以互相通信,就像 Email 那样。Fediverse 存在已久,但近期 Twitter 风雨飘摇,大量 Twitter 用户主动或被迫离开 Twitter,使得 Fediverse 社区人数激增。根据 instances.social 的爬虫统计,截至 2023-01-12,在 Fediverse 里已经有超过 1.7 万个站点、705 万用户。 Fediverse 里使用 ActivityPub 协议进行通讯。实现这一协议的服务器软件有很多,目前使用量最大的 ……

2022 年度总结

往年我总觉得年度总结这种东西太过泛泛,因此年底只是罗列一下自己这一年读了哪些书,权当是年度总结了。然而今年实在是没读几本书,不如还是写个内容更多一些的年度总结吧。(指塞入电影、电视剧、游戏凑一锅。) 一、漫画/轻小说 BEASTARS 去年了看完了根据漫画改编的同名动画,感觉总体还不错,就是结尾感觉有点莫名其妙。读过漫画的家属告诉我,动画的结局跳过了不少情节,漫画很好看。于是我就去读了漫画。 漫画总共有 196 话,动画第二季的剧情改编到第 98 话,按这个改编速度,还能再出两季动画?从第 98 话往后的情节还挺有意思的,故事的舞台不再局限于校园,而是扩大到了社会,出现了许多有趣的新动物。 然而,后期的情节开始觉得跳脱,很多地方的逻辑转折让我非常不能理解,有种强行制造矛盾与冲突的感觉。个人感觉这部作品后期远不如前期好看,可能是作者江郎才尽了。 电子书方面,亚马逊上的简体中文版和讀墨上的繁体中文版的价格经过货币转换后是一样的,应该是日本版权方统一定价。从文件大小来看,讀墨的画质应该是远高于亚马逊的,推荐有条件的读者购买讀墨版本(只对香港和台湾 IP 地址销售)。 讀墨版本一共 22 个文件,对应 22 卷漫画; ……

Fediverse 联邦宇宙

你是否对社交网络平台内容审查不满?你是否担心自己辛辛苦苦写的内容被网站管理员删除?你是否担心自己用了很多年的网站被收购之后变成自己不喜欢的样子?加入 Fediverse 联邦宇宙吧!搭建你自己的社交平台,制定自己的规则,与联邦宇宙里的其他人互动! 一、什么是 Fediverse 联邦宇宙? 传统的社交网络平台,往往是由大公司运营,用户在网站上注册账号之后发表内容。同一网站里的不同用户之间可以交流,但是不同网站之间的用户却不行。比如 Twitter、饭否和新浪微博,虽然定位都是「微博客(microblog)」,但三个网站由不同公司运营,用户之间无法互相交流。 但有些系统不是这样运作的,比如银行转账。一家位于冰岛的银行 A 和一家位于阿根廷的银行 B 虽然相隔万里,但是 A 银行的用户可以方便地和 B 银行的用户之间转账。这是因为全世界大部分银行都使用了 SWIFT 组织规定的协议,因此没有交流障碍。 网络世界有没有这样的例子呢?当然有,比如电子邮件。一位美国的 Gmail 邮箱用户为什么能和一位澳大利亚的 FastMail 邮箱用户互相发邮件?因为 Gmail 和 FastMail 都使用 SMTP 这种协议, ……

Terraform —— 使用代码管理基础设施

最近一段之间我开始较频繁地使用 Terraform,不仅是在公司环境中使用,也给自己的个人环境使用。跟友人说起这件事的时候,他们不以为然,甚至觉得现有的 Ansible 之类工具也一样可以完成 Terraform 的工作。本文是对 Terrform 及其必要性的介绍与说明。 一、Terraform 的必要性 越来越复杂的配置 Terraform 是 IaC (Infrastrucutre as Code) 工具。为什么 IaC 是必要的?因为现在的云服务(PaaS)的配置越来越复杂了。以一个普通的 AWS S3 bucket 为例,有哪些可配置项呢?光是访问控制(谁能/不能访问什么),就有这么好几层: IAM policy 用于控制哪些 AWS 服务或 IAM 用户能访问这个 bucket 或里面的 objects; ACL policy(分 bucket ACL 和 object ACL 两种)较为古老,用于设置简单的访问控制(public/private),已不推荐使用,但是 CloudFront 依然依赖它; Bucket policy 较新,用于设置更细的访问控制(IP 地址白名单等),是 AWS ……