数字自留地

写这篇的起因是周围有朋友陆陆续续问过类似的问题:想在家里或者私人设备上跑点服务,不知道从哪里入手,也搞不清楚要花多少钱、麻不麻烦。所以整理了一下自己的实践,算是入门引导——不讲操作步骤,更多是帮你想清楚「要搭什么」「为什么」「怎么选」。 核心出发点只有三个:便宜、可控、数据是你的。 为什么要自己搭 动机其实很朴素。 云服务现在确实方便,iCloud、Google Photos、OneDrive 开箱即用,每个月收点小钱,大多数情况下够用了。但这里有个前提:你信任对方,而且愿意接受对方可以随时改规则、涨价、停服。国内网盘删库、限速、关停的新闻不是没有,国际服务也有账号被封、区域限制的问题。 自托管的核心价值是主动权在你:数据存在你的硬件上,随时可取,随时可迁移,功能自己决定要不要开。代价是维护责任也在你——硬件坏了、服务挂了,得自己处理。所以这条路比较适合对这件事本身有点兴趣的人;如果完全不想折腾,云服务是更合理的选择。 但是,和ChatGPT聊过后,感觉这些可能也只是表面 数字自留地不一定意味着拥有所有基础设施。 它意味着你始终拥有迁移、备份、恢复和退出的能力。 我对云保持警惕,但我也不想把家里塞满硬件和服务器。 因为我真正反感的不是云,也不是硬件。我反感的是: 当某个东西出问题时,我没有选择。 硬件 迷你主机 / Mac mini 市面上 N100 这类低功耗 x86 迷你主机,功耗在 10-15W 左右,7×24 小时全年电费大概在 100-200 元,算是家用服务器的性价比首选。价格从几百到一两千都有,性能跑绝大部分常见服务没有问题。如果本来就有 Mac mini 常驻家里,顺手兼做服务器也完全可以。 有一点要配置好:断电后自动启动。在 BIOS(找「AC Power Loss」相关选项)或 macOS 的节能设置里打开,不然停电来电之后需要手动开机,很烦。如果预算允许,搭一个家用 UPS 电源,应对短时停电更从容。 旧笔记本 旧笔记本自带电池,本身是一个丐版 UPS——停电了服务还能继续撑一段时间,这是很多人没想到的优势。缺点是功耗比迷你主机高,散热噪音可能也大一点,长期运行建议设置合盖不休眠,或者干脆不合盖。 Linux 在旧笔记本上往往状态更好。我自己一台 2019 年的 Magicbook 装了 ArchLinux,内存占用从 Windows 的 70%+ 降到 400MB 左右,拿来当小服务器跑得很顺畅。 VPS(可选) 如果你想对外提供服务,或者没有公网 IP,一台低配 VPS 可以做公网入口。便宜的配置(1 核 512M-1G)一个月几十块,量力而行,不是必须的。 另一个场景是存储型 VPS:有些云服务商有挂载大磁盘的低配机器,对计算要求不高但存储容量大,适合拿来做备份节点,比单独购买对象存储有时候灵活性更好,看具体需求选择。 基础设施:Tailscale 在讲具体服务之前,先说一个基础问题:怎么安全地从外网访问家里的服务。 Tailscale 是我目前的方案。它基于 WireGuard 协议,把密钥管理和 NAT 穿透都自动处理掉了,装上之后几分钟内就能把所有设备组进同一个虚拟局域网,从外网访问家里的服务就像在局域网里一样。免费计划对个人够用(100 台设备、3 个用户)。 ...

June 9, 2026 · 2 min · ChaosNyaruko

我的工具箱

写在前面 这类文章在互联网上其实已经泛滥了,我本来也不打算写。但一方面某些工具确实改变了我的工作方式,值得记录一下;另一方面我有不少朋友问过我类似的问题,与其每次重复解释,不如写成文章。 先说清楚一点:工具这种东西有非常浓厚的个人色彩,没有好坏优劣之分,只是每个人看重的东西不一样。「差生文具多」这句话本质上是一种自嘲,不是用来攻击别人的武器;同理,用某个工具也不应该成为你炫耀的资本。把工具本身当成某种身份符号,反而本末倒置了——有点像崇拜那个你在哪里读书而不是你读了什么书一样。求同存异,工具服务于人就好。 我的选型理念 大概有这么几条原则,按重要程度排列: 开源优先:不是为了装,是为了在厂商「喂屎」的时候有得选。《自由软件,自由社会》我虽然没完整读过,但那个道理我是认同的。商业公司不是慈善机构,功能阉割、涨价、后门——当你的迁移成本高到一定程度,你就只能吃屎。 跨平台:我同时在用 macOS 和 Linux,偶尔还要连一些 Linux 服务器,一个只能在一个平台用的工具对我来说打折扣。Windows 现在用得少了,但也不是完全不接触,选工具时的标准是至少「能用」就行,不需要体验完美。Windows 上 CLI 生态和 UNIX 系确实不在一个量级,如果真要在 Windows 上做点什么,基本上也是开个 WSL 解决,而不是指望 cmd/PowerShell 那边。 不被 vendor locked:和开源有关联,但不完全一样。核心配置最好是纯文本的,这样我可以用 git 管理,随时迁移,不依赖任何厂商的同步服务。 不 all-in-one:一个工具做好一件事(UNIX 哲学),然后组合使用。把所有东西塞进一个超级 App 听起来很方便,实际上某一部分拉垮了你整个工作流都得跟着受苦,还有隐私风险集中的问题。 极简+实用主义,CLI 和 GUI 并用:能用 CLI 解决的问题不一定非要 GUI,但有好的 GUI 我也不排斥,不存在「用 GUI 就是不够 hardcore」这种奇怪观念。 当然,有些领域受制于现实情况,或多或少会违背上面的原则。特定场景特定分析,后面会提到。 操作系统 / 设备 主力设备 工作:公司发的 Mac(具体型号懒得说,反正不是自己买的,用着就行) 个人:自己买的 Mac mini + 一台装了 ArchLinux 的老笔记本(Magicbook 2019)+ 一台 2019 款 MacBook Pro(发热降频严重,但内存相对大,勉强还能用,主要用来跑一些对算力有一定要求的本地任务) 手机:Android 日常 + 老 iPhone 备用,基本只用来打电话、刷视频、MFA验证之类的 小型 VPS:自建一些服务用 为什么用 Linux 之前专门写过一篇:笔记本折腾Linux碎碎念。简短版本:Windows 在这台老机器上已经烂到不可接受,而且微软近年来的所作所为(Recall、强制更新、莫名其妙的后台服务……)让我实在没有继续用的理由。装 ArchLinux 之后内存占用从 70%+ 直接降到 400MB,老机器焕然一生。 ...

May 28, 2026 · 3 min · ChaosNyaruko

“差生文具多”还是“工欲善其事必先利其器”?

开始 古人云“工欲善其事,必先利其器”,这是啥意思我就不科普了,想必大家都知道。然而现在也有个说法,叫做“差生文具多”,适用的场景包括但不局限于: “字面意思”, 上学时成绩一般的学生却有着很多高档或者花里胡哨的文具(这里没有贬低这些同学的意思,成绩说明不了很多问题,只是说明有时存在这个现象) 篮球场上的装备党,戴最拉网的装备,挨最重的打🤣 “立志”于培养自身某个习惯而购买了大量装备,却没有注重于事情本身,例如立志于培养健身习惯的人买了很多装备,像速干衣、专业跑步鞋、办健身卡等,却只有第一次;又例如有的人买了Kindle等电子设备想培养自己的阅读习惯,结果却沦为泡面盖等等。(同样这里可能有用花费来激励自己的结果,有很多人也确实养成了习惯,这里只是提一种典型的现象而已,无冒犯之意) … 其实在很多场景下都有类似的现象,而作为一个菜鸟程序员,自然也在编程或者说计算机工程这个领域中,随着自己经验的增加和深入思考,发现自己或者同行或多或少都有着类似的现象。因此在这里写下自己的一些思考和观点,用以劝诫自己,也欢迎友好的交流。对于我的观点中读者可能不同意的部分,可以在评论区交流,但不接受抬杠和秀优越感,你杠就是你对:) 如何看待 本节的阐述会主要辅以编程领域的经典流量密码“最好的编辑器”话题,对我的一些观点进行说法。这个话题其实很有意思,我并不想自诩是一个非常牛逼的程序员,但我认为在这个话题相当一部分的口水都是由那些对各大编辑器的特性不了解的人挑起的,有的甚至都不了解他们观点对立的编辑器特点,就开始各种攻击。虽然这个争论本身并不是本文的重点,但下面以Vim作为主要角色的辅助阐述可能或多或少会涉及到这一点,如果和你的观点不同,希望能够求同存异。 要辩证这个问题,不要二极管 这里想说的是“适度”/“中庸”/…,或者很多其他类似的词汇,也是最核心的观点。 Vim以其超强的扩展性而闻名,在这一点在Emacs也是,甚至更甚,但要将他们配置成适合开发一个真实项目的顺手的环境,可能需要自定义很多配置项,而Vim/Emacs所具备的扩展能力其实足够让他们通过配置具备现代IDE的80%甚至全部的功能。 但就我个人而言,我虽然用Vim,但是并没有像很多教程一样,把它配置成一个从界面到功能都和现代IDE相似的环境,因为那在很多场景下不是我想要的,而且要花出非常多的精力,想达到现代IDE的功能可能需要折腾很久,还有很大的维护成本,体验可能还比不上,如果折腾工具并不没有给自己的生产效率带来足够的提升,那大概就是所谓的“差生文具多”了。但 而另一方面Vim/Emacs甚至VSCode的扩展能力和生态是又让我相当热衷于维护一套自己的配置,打磨自己的开发环境和工具,因为这样我就不用因为IDE的更换、开发商的“喂屎”等各种因素,而让自己被迫去记住另一套快捷键,去熟悉另一套操作生态,而这个打磨的过程便是所谓的“工欲善其事,必先利其器”了,也就是我“砍柴”之前所磨的“刀”,只要把握好这个度,不要让磨刀耽误了砍柴,或许便达到了平衡。 不要本末倒置,也不要嘲讽你不能理解/和你不致的事情 对于一些人来说,不要光磨刀,不砍柴,比如大多数的程序员,折腾编辑器或许可以取代玩游戏,但最好不要耽误本职工作与正经事儿 每个人都自己的想法和追求,不要觉得和你不一样的人就是傻逼/装逼犯,也许他们的工作就不是砍柴,磨刀就是他们的工作,而磨好的刀可以帮助他们做出更好砍柴的工具。有人折腾编程工具是因为他们的乐趣就是这个,或者说他们是为其他程序员提供更棒的工具的人,没有必要说“编程用XXX IDE不香吗,用Vim/Emacs装什么逼呢”,有没有想过你手上所谓好用的IDE正是通过不断的折腾和体验才有目前的形态的吗?退一万步讲,人家就是装逼怎么了,装逼就是能提供情绪价值,在一些场景上甚至因为这个提高生产价值,抨击别人装逼请拿出你自己不装逼的产物,无意义的攻击带不来任务东西,哪怕是满足感 合适的场景使用合适的工具 工具是用来提高生产效率的 登录远程机器你还有IDE可以用吗,修改配置文件等你可能不得不使用一些看起来很古老很不易于使用的工具,vi/vim/nano等等,或者退而求其次使用vscode的remote-ssh功能,但你能确定你的所有环境都能使用吗,例如树莓派、或者能力更弱甚至没有网络环境的嵌入式开发板?vi/vim可能就是你唯一可能的工具,适当“利其器”哪怕只是很基础的设置可能也足够了 写Java,据我所知,idea仍然是体验最好的工具 数据挖掘/分析,jupyter notebook就是能提供很好的体验 … 适度折腾,均摊风险 使用Vim这类编辑器,你可以自定义一些东西,虽然人的习惯和适应能力很强,但有适配的自由度仍然是很重要的,因为很多默认设置就是很别扭,怎么也习惯不了 “自由”非常重要,具体可以参考《自由软件,自由社会》这本书,厂商不是慈善家,虽然听起来很不友好,但如果你没有使用自由软件的能力,在被厂商喂屎时就很被动,包括但不局限于免费变收费、涨价、功能阉割、后门等等,你可能因为过高的迁移成本而不得不选择强行吃屎,因此商业软件虽然方便,但我仍然建议保留使用自由软件能力和倾向,尽管多数情况下自由或者开源(开源不等于自由)软件需要更多的折腾。 纯文本的力量 这是个题外话,很多商业软件并不提供纯文本的配置方式,这导致了配置同步很多程度上只能依赖于厂商,而纯本文的配置文件,你完全可以使用任何同步方式(私有云/Git等),管理自己不同设备内的对应配置,很方便,通用性也很强 备注 可能后续会出Vim系列的视频教程,虽然我个人主力使用Vim是在不久之前,使用时间并不长,但确实体会到了这个古老的编辑器所具备的魅力,也希望了解更多技巧,开坑的话我会补充对应的视频链接。 我的配置文件可以参考ChaosNyaruko dotfiles,更多是我个人使用,组织得可能不是很好,废配置也比较多😒,有空再整理吧

February 11, 2023 · 1 min · ChaosNyaruko