你敢信吗?这套 Tailscale 配置给了我彻底的自由
所属系列
- 网络与基础设施系列 (3 共 12)
如果你也想让手机成为完整的开发工作室,随手就能使用 SSH、实时预览和整套工作流,那么这个故事就是写给你的。一次小小的 Tailscale 实验,彻底改变了我构建项目、写代码和保持连接的方式。从私有开发环境到浴缸里写代码,没错,是真的,下面说说它们是怎么串起来的。
每一节都在前一节的基础上推进,直到最后那个“真不敢相信,我的手机已经是一整间开发工作室”的时刻。如果可以,请从头读完,后面的收获值得。
从一次实验开始
我最近才开始尝试 Tailscale。原以为它能方便偶尔的远程 SSH,没想到它会成为我构建和交付项目的骨架。几天之内,它就改变了我的日常,尤其是在开发 Eleventy 起始模板 Subspace Builder,以及记录这个项目的博客时。
默认私有的开发环境
我的 Eleventy 起始模板 Subspace Builder,连同开发服务器和 Umami 分析服务,如今都安全地待在 tailnet 中。不必为了测试一个功能就开放公网端口,我把所有服务都指向 Tailscale 的 100.x.x.x 网络。SSH、Eleventy 热更新预览,甚至 Umami 分析面板,都保持私有,同时随时可达。
仅仅这一个设计选择,就减轻了我的压力。知道 ssh nicholas@macbook-pro 或 https://macbook-pro.tailXX.ts.net:8080 只会在网状网络内部解析,实在让人百分之千地安心。不用再折腾防火墙规则或测试环境密码。
手机在口袋里,工作站就在手边
另一个惊喜是移动端体验如此顺畅。iOS 上的 Blink + mosh,让我随处拥有一套完整的 tmux 工作站:
mosh pro直接进入 MacBook,默认用户设为nicholas。mosh debian使用专门的<remote-user>账户连接 VPS。
一小段 Blink 配置把主机名映射到正确的用户名,我很少需要输入主机名以外的内容。连上之后,一个窗格运行 Codex,一个显示 Eleventy 日志,第三个查看 git status,全都在手机屏幕上。
对家人也友好的网络
给不懂技术的人配置安全网络,往往意味着周末又要做技术支持。Tailscale 却正好相反。中国的家人安装应用、扫描二维码,便能通过我本来就保持在线的机器,顺畅地走出防火长城。不用 CLI,不用设置路由器,只需登录,然后点选想访问的设备。
出口节点与日常隐私
说到出口节点,开启它真的只需在主机上执行一条命令,再切换手机应用中的一个开关。我让一台小服务器持续在线,作为“随处可用”的代理。它位于英国境外,因此我可以绕过英国的年龄验证门槛,不必把证件交给第三方供应商。看到服务接连泄露大量身份数据,比如最近 Discord 供应商的数据泄露之后,我宁愿选择自己控制、值得信任的出口,也不想再给另一家服务商上传身份证件。
为什么我彻底用上了它
我原以为 Tailscale 会是“又一个 VPN”。结果它给了我:
- 轻松、私密地访问所有重要开发环境的能力。
- 一套让人愉快的移动编码设备,仿佛 Mac 缩小后装进了口袋。
- 帮家人轻松浏览开放互联网的方法。
- 出行时随时可用的保障,让我拥有自己的全球代理。
这个几乎随手安装的应用,悄悄成了我工作流的骨架。
最后的边界:<redacted> 编程场景真的存在
就拿现在来说:这篇文章是我在浴缸里写的。没错,真的(仅限防水设备 😜)。Tailscale、Blink、mosh 和 tmux 把我直接连到 Mac,仿佛它就在眼前。GPT 补写段落,Eleventy 预览服务器安静运行,Tailscale Serve 则把私有预览送进 tailnet,像某种数字魔术。
这固然有趣,也确实不可思议。手里这块小小的玻璃,已经变成完整的开发工作室,成为通往整套工作流的入口,完全看不到线缆或端口。舒适与能力终于可以兼得:哪怕人在浴缸里,我也能构建、写作和发布。
能生活在这个时代,真好!