我的服务器现在是一部手机

My server is a phone now

我的服务器现在是一部手机

受够了昂贵的 Hetzner VPS 和飙升的 DRAM 价格,我决定将闲置的 CMF Phone 1 改造成个人服务器。在尝试刷入 postmarketOS 失败并差点变砖后,我意识到 Android 自带的驱动才是最佳方案。最终,我利用 Termux 作为宿主环境,配合 Tailscale 和 Cloudflare Tunnel 实现网络穿透,通过 Ansible 进行自动化运维。现在,这台手机不仅运行着 Surf 远程浏览器和财务追踪器,还能在断网重连后自动恢复服务,彻底取代了传统的云服务器。

Cloudflared 只需一个出站连接,因此当我把手机带到其他网络时,隧道会自动重连,域名也会随之迁移。
  1. tkgally

    顺便提一句,"我的服务器现在是一部手机"和"我的手机现在是一台服务器"这两句话的区别。

    在语言学中,"theme"(主位)和"rheme"(述位)指的是句子中信息的状态 [1]。句子的主位是已知或可从上下文中推断出的内容(即旧信息),而述位则是句子中新引入的信息,通常是对主位的评论。在许多(大多数?所有?)语言中,连贯话语的倾向是主位在前,述位在后。

    因此,如果没有上下文,读者很可能会从"我的 X 现在是 Y"这句话中推断出 X 是作者之前拥有的东西,而 Y 是新事物。因为如今大多数人都有手机,但很少有人拥有自己的服务器,所以我最初对标题"我的服务器现在是一部手机"感到困惑。我不得不读完文章才明白,这里的语序其实是恰当的:对作者而言,服务器是旧信息(他拥有了一段时间的东西),而手机(至少作为服务器而言)是新信息。

    在英语中,主位和述位不仅可以从句子中的位置推断,还可以从名词的标记方式推断。像"my"这样的所有格通常用于指代已知或假设存在的事物之前;定冠词"the"也类似。相比之下,不定冠词"a"(或"an")通常标记新引入的信息,因此更常与述位连用。

    我曾担任多年的日英翻译……

  2. thehamkercat

    "我的手机现在是一台服务器"

    这样写会更好

    --

    > 内置电池备份

    如果你打算把手机或笔记本电脑当服务器用,不是总是建议把电池拆掉吗?(火灾隐患)

    还是说只要把充电限制在 80% 就可以了?

  3. denysvitali

    链接已经打不开了,估计是挂了吧。

  4. SturgeonsLaw

    我依然觉得性价比最高的选择是旧款台式机。比如一颗 i5 处理器配 8GB 内存和 SSD,足以应付 99% 的家庭服务器用途,而且性能还有富余。

    即便在如今硬件价格虚高的环境下,你也能以合理的价格买到一台。

    虽然我也理解为了"游戏"本身的乐趣而去折腾非传统硬件的吸引力。

  5. alightsoul

    顺便提一下,如果像作者那样操作,在 Bootloader 被锁定的手机上是无法实现的。你可以用 Termux,但如果 Termux 运行在 Android 8 以下的系统上,功能会受到严重限制,这时你就需要 PostmarketOS 并可能需要修复相关支持。使用 Termux 的话,如果没有 Root 权限,性能充其量会很慢,正如作者提到的,Root 后速度会有提升。

    没有 Root 权限,你也没法在任何 Android 手机上绑定端口,而 Root 通常要求解锁 Bootloader,并非所有 Android 手机都支持解锁 Bootloader。安装 PostmarketOS 也需要解锁 Bootloader。

    所以,如果不绑定端口,你就无法运行 Web 服务器,除非通过代理服务器运行(作者就是这么做的),或者在 PostmarketOS 上以原生速度运行容器。因为如果你的 Android 内核缺少系统调用,你就无法将 PostmarketOS 刷入手机;或者根据你假设的 Android 内核版本,你可能无法 Root 手机来获得性能提升。

    所以在 Android 上,如果不模拟 x86,容器可能行也可能不行;如果没有 Root 权限,大概率会很慢,特别是如果你被迫模拟为 x86,因为你会发现缺少系统调用,或者无法 Root 来加速(如果 Android 上存在这些调用的话)。再说一遍,没有解锁 Bootloader,就没法安装 PostmarketOS,也没法 Root 来加速容器。

    并非所有 Android 手机都能解锁 Bootloader,除非你找到了漏洞。https://github.com/zenfyrdev/bootloader-unloc […]

同日更多故事

2026-08-09