【超详细|保姆级教程】手机搭建服务器 · 第 二 期

Semmering 2026-05-14 22:43 1

上期回顾:【超详细|保姆级教程】手机搭建服务器 · 第 一 期




前言



第一期文字内容看上去很多,但其实就讲了两个事情:


1.判断自己的设备和网络是否具备公网访问的条件。


2.设备为什么需要root。



当你同时具备这两个条件时,你的手机才能更接近一台服务器,才具备更高的可玩性


当然,这里还是要提前说明一下: 不 root 也不是完全不能玩。 如果你只是想简单体验一下,比如在 Termux 里跑个小服务、局域网访问一下网页,那不 root 也可以。


但如果你的目标是:让手机长期插电、自动运行、开机自启、网络异常自动恢复等等,并且尽量像一台真正的小服务器一样稳定工作,那 root 基本就是绕不开的一步。


因为手机毕竟不是服务器。手机原本的设计就是直接拿手里就能用,而不是随时插着电。


所以我们要让手机长期当服务器,接下来就必须要先解决一个非常现实的问题:手机究竟怎样做更好的电源管理。也就是本期要讲的核心内容:旁路供电。


本期主题:手机如何实现旁路供电



如果供电问题不解决,后面即使你把 SSH、Nginx、Node.js、DDNS 全部配置好了,也会有一个很尴尬的问题:手机天天插着电,电池一直处于充电、发热、满电、掉电、再充电的状态。


短期玩玩问题肯定不大。 但如果你准备长期运行,甚至 7×24 小时放在家里当服务器,这个问题就必须必须必须重视。


所以本期主要解决下面几个问题:


1. 什么是旁路供电?

2. 为什么手机当服务器最好实现旁路供电?

3. ACC + AccA 是什么?

4. QSC 定量停充模块是什么?

5. 两种方案有什么区别?

6. 如何判断旁路供电是否真的生效?

7. 如果没有真正旁路供电,应该怎么设置才比较安全?





一、什么是旁路供电?


先用最通俗的话解释吧


正常情况下,手机插着充电器时,大概是这样的:


充电器 -> 电池 -> 手机正常运行

也就是说,充电器给到电池电量,然后手机又从电池那里获取电量。所以哪怕你一直插着充电器,电池也会一直参与充放电过程。千万不要以为插着充电器,假设电量一直是100%,就没有充电过程了,充电过程很可能还在不断进行。


而我们希望的旁路供电,大概是这样的:


充电器 -> 手机运行
-> 电池尽量不参与

也就是说,手机插着充电器的时候,主要由充电器直接给手机供电,电池尽量保持不充、不放,或者至少减少反复充放电的频率。


这就是大家常说的旁路供电,不够准确的用大白话说就是:



[!note] 旁路供电:

大白话就是,充电器直接给手机提供电源,电池不参与或者极少参与手机供电 ^-^



不过这里要特别注意一个点:



安卓上很多所谓的"旁路供电",并不一定是真正硬件级的旁路供电。



因为不同手机的硬件、电源管理芯片、内核驱动都不一样。所以同样是"停止充电",在不同手机上的表现可能完全不同。


大概会有这三种情况:




情况一:比较理想的真正旁路供电


这种是最理想的状态。


当电量达到设定值,比如 80% 时,模块停止给电池充电。


但是手机仍然插着充电器,并且手机运行主要消耗充电器的电,而不是继续消耗电池。


这种情况就比较接近真正的旁路供电。


如果你的手机能做到这种状态,那就非常适合长期当服务器。


在我的记忆里面,以前的安卓手机系统是没有旁路供电这种设置的,是后来出现了游戏手机,玩游戏的时候,有这种开关。除了游戏手机,现在很多高配置的安卓手机都有这种模式,我亲自接触过的,比如真我,玩游戏的时候就有这个设置,但是我忘记系统设置里面是否有单独的开关了。




情况二:只能做到"停止充电",但不能真正旁路


这种情况也很常见。


比如你设置:


充到 80% 停止充电
掉电道 70% 恢复充电

当手机充到 80% 后,模块确实让手机停止充电了。哪怕插着充电器,电池图标都是未充电状态。

但是手机这个时候用的是电池的电,并不是充电器的电。


所以它会这样循环:


充到 80% -> 停止充电 -> 电池慢慢掉到 70% -> 恢复充电 -> 又再充到 80%

这种严格来说不是真正的旁路供电,而是"定量停充 + 定量恢复"。


它的好处是电池不会长期顶在 100%,大大减少了频繁充放电的频率。但是它的缺陷也很明显,就是电池仍然会反复在范围区间充放电。


但总比你拿着一根数据线长期让手机100%满电要好太多。


这种情况在小米8se上我就遇到,因为之前我是一加9R做服务器的,当时用的方案是QSC(下面会讲),一加上运行是好好,但是到小米8se上,就不行了,充到一定量就停止充电,改用电池。




情况三:完全不生效


这是最后一种情况,就是你的模块设置了,但是手机不听话。


比如你设置了 80% 停止充电,但手机还是一路充到 100%。

或者设置了停止充电之后,手机状态栏显示没在充电,但实际上电池还是在涨。

又或者停止之后无法恢复充电。


反正就是模块不生效,一点用都没有。比如我乐视不管是QSC还是Acc都不行。


我猜测,要么是手机太老了,要么是脚本根本不支持,需要重写脚本,奈何我不会啊!


后面我会专门写如何判断是否真的生效。




二、细说为什么手机做服务器需要旁路供电?



其实我觉得我上面已经说的够多了,但是还是细说一下,因为我发现第一期就有人反复问这个问题。



原因一:长期满电对电池不友好



手机正常使用时,大家可能一天一充,或者两天一充。

但手机当服务器之后,情况完全不一样。


它可能是这样的:每天 24 小时插着充电器、每周 7 天不关机、连续运行几个月甚至更久。


如果一直让电池停留在 100%,再加上手机本身还在运行服务,就很容易带来几个问题:


· 电池长期高电量保存;

· 充电时发热,如果是夏天或者超级快充,电池更热;

· 后台服务过多,运行也可能会发热;

· 电池老化加快;

· 电池鼓包风险增加。





原因二:手机需要长期稳定运行



如果只是普通手机,电池衰减一点可能也没那么明显。

但手机当服务器后,稳定性真的超级重要。

比如你在手机上跑了:

· SSH;

· Debian;

· Nginx;

· DDNS;

· 内网穿透;

· 定时任务;

· IPv6 检查脚本。

这时候你希望的是:


手机一直稳定运行,不要因为电池、温度、供电问题出幺蛾子。




[!warning] 踩过坑

你们千万别以为电池会很少或者不会引起什么幺蛾子。因为现在很多手机都有自己的系统优化策略,比如温度一高或者低电量的时候,很多后台服务是不会运行的,或者运行变得比较诡异。


比如我之前设置的自动化脚本,原计划是10s执行一次,结果变成了20s或者30s执行一次,每次间隔还不一样。真的无语^-^




其他原因比如减少电池发热从而减少手机发热、减少电池反复充放电延长寿命,我就不多说了。大家肯定都懂。所以就说刚才这两个最重要的。





三、本期推荐2种方案



  1. ACC + AccA

  2. QSC 定量停充模块


我个人更推荐第一种:ACC + AccA


原因很简单:一是因为它比较成熟,git上有2k star;二是它可以搭配AccA软件管理配置,可以不用去改配置文件。




方案一:ACC + AccA(推荐)


先科普一下ACC:



ACC全写是Advanced Charging Controller,看名字大家就知道啥意思了。我要补充一点的是,ACC它不是普通的省电控制器。它是通过 root 权限去操作手机底层的充电控制文件,从而实现一些普通 App 做不到的事情。


比如:


· 限制最高充电电量;

· 设置低于多少电量恢复充电;

· 限制充电电流;

· 限制充电电压;

· 根据温度暂停充电;

· 根据温度恢复充电;

· 查看当前充电状态;

· 测试当前手机支持哪些充电开关;

· 很强的记录日志功能,以后出问题可以把日志给AI,让AI来排查问题。





ACC安装教程:



项目地址:https://github.com/VR-25/acc


1. 打开ACC的github项目地址,找到releases(点此直达)




2. 版本我建议选择 v2023.10.16,原因是:


· 2025的版本处于dev阶段,而且很久没有发布正式版了,2023的版本更稳定;


· 一般大家都是拿旧手机玩这个,2023年之前的手机,ACC的支持度还算是不错的。


懒得去github的,可以在本站直接下载:

acc_v2023.10.16_202310160.zip (201.9 KB)


3. 在magisk中安装模块:




补充一点: 由于我个人比较青睐面具,所以如果是其他的root管理方案,比如APatch、KernelSU等等,可以自行去寻求AI帮助,看看如何安装,我就不去测试了。安装方式其实很简单,如果你自己都会安装Magisk、APatch、KernelSU,那管理器对应的模块如何安装肯定不在话下的。


4. 重启手机让模块生效




[!info] ACC模块安装成功后

重新开机后,你会发现没有任何与ACC操作相关的软件,因为改配置需要用到命令行或者用到MT管理器或者RE管理器,然后去/data/adb/modules/acc/中修改配置文件再执行脚本,所以这个地方对于新手来说配置起来是很麻烦的。


好在有大佬根据ACC模块,开发出了AccA,突然感觉真的很幸福 ^-^ ^-^





什么是AccA​^-^:



AccA 是 ACC 的图形界面 App。

ACC 本身更偏向命令行和配置文件。想修改配置,通常要通过命令行或者手动编辑配置文件。

而 AccA 的作用就是:让你可以通过 App 界面管理 ACC。

比如你可以在界面里设置:


· 充到多少停止;

· 掉到多少恢复;

· 温度到多少停止;

· 是否启用 / 停止 / 重启 ACC;

· 查看 ACC 状态充电状态;

· 管理配置;

· 查看日志。


简单说就是:ACC 负责真正干活、AccA 负责让你更方便地操作 ACC





AccA安装和配置教程:



项目地址:https://github.com/MatteCarra/AccA


F-Droid 页面: Advanced Charging Controller (ACCA)


本站不允许直接上传apk,所以我就不上传了。


安装完成后,建议重启一次手机。因为这类底层模块,重启后状态会更稳定。


1. 重启手机之后,打开软件,如果是未启动,就点击启动





2. 如果已经是启动状态,那就点击配置列表。


由于我之前配置过,所以我的配置列表只有一个配置,其余的配置被我删除了。你们第一次打开的话,会有很多个配置;





说一下配置的基础操作:


添加: 在配置列表页面右下角有一个蓝色按钮,点击就可以添加配置;




删除: 点击“配置卡片”的右上角菜单,点击删除即可




重命名: 参考上图,点击“配置卡片”的右上角菜单,点击重命名即可;


配置详情页:




在这个配置详情页中,可以配置的充电相关的设置非常多,但是我们只关心两个问题就可以了:一个是电池停充的电量区间,一个是电池停充的温度区间




[!warning] 电量区间

1.我建议给一个保守的值,像我一样,电量低于75%就开始充电,电量高于85%就停止充电;


2.不要一上来就设置成:98% - 100%、78%-80%这种区间非常小的值,因为间隔太小,手机可能会频繁切换充电状态,电池会短时间充充停停影,这种对电池的寿命影响其实是比较大的。




[!warning] 温度区间

1.这个也不用写得很死,可以像我一样,温度恢复到40%就开始充电,温度高于45%就停止充电;我是保守派,所以最高温度我也写得很小


2.大家可以暴瘦一点,宁愿充得慢一点,也不要长期高温,别想着cpu温度高充着电不影响,其实温度对电池的寿命影响比充充停停影响更大




[!note] 电量和温度之间的条件关系

在 ACC 中,电量条件和温度条件可以简单理解为:


停止充电时,是“谁先触发,谁就让充电停下来”。

不管是电量已经到达设定上限,还是手机温度过高,只要其中一个条件满足,ACC 都会暂停充电。


恢复充电时,更保守些。

ACC 不会只看一个条件,而是会判断当前状态是否已经适合继续充电。只有当电量和温度都回到相对安全、合适的范围内,才会重新允许充电。


在这里给ACC点一波赞^-^




配置应用:

保存好配置之后,点击哪个配置卡片,就表示哪个配置生效。生效的配置前面会有蓝色的边框。比如下面这就是Default配置在生效。





[!tip] 配置切换时要注意

配置文件切换的时候,AccA会有短暂的卡顿,蓝色条不会立马切换显示。因为你选择配置之后,后台要做的事情非常多,所以界面上会有短暂的卡顿感,切换配置的时候,大家多点耐心,等他切换成功,不要疯狂各种点击。






[!question] 如何判断ACC是否成功?

这个个我就不细说了吧,你自己插上数据线测试就行,如果电量低于你设定的值,能自动充电,电量高于你设定的值能停止充电,那基本没问题。我要重点说的是下面这个问题。






[!question] 如何判断旁路充电是否成功?

充电停止会有两种情况,拿85%停止充电举例:


如果电量到了85%,你的电池图标显示正在充电,但是软件中显示没有充电,这个时候,就是最接近旁路供电的,看下图^-^





如果电量到了85%,你的电池图标没有显示正在充电,软件中也没有显示正在充电,这个时候,说明AccA并不支持做到旁路供电。

这个时候你的手机只能用到75%才会又开始充电。

相当于,AccA只能做到让你的手机什么时候开始充电,什么时候停止充电,但是做不到充好电的时候,数据线给你供电。由于之前的乐视手机出掉了,没法给大家看截图了。


除了看电池图标以外,还有种更直接更准确的方式: 就是你在你的手机充电到85%的时候,你继续插上数据线使用手机,看看一段时间后电量是否会往下掉,或者电量下降的速度是不是巨慢,如果是这样,那说明旁路供电是在生效的。






[!question]如何恢复正常充电

恢复正常充电,只需要在AccA中停止模块即可






[!question] 如何卸载Acc核心

在magisk中正常删除,然后重启手机就行了





方案二:QSC定量停充


先科普一下QSC:



QSC全写是Quantitative Stop Charging_switch,是酷安大佬top大佬开发的一个模块,github很久没更新了,推荐大家看酷安板块,但是在酷安用的人很多,甚至还形成了一个专属话题【QSC定量停充】。

目前模块也很久没更新了,最后一个版本是2023年12月4日更新的,估计后续也不维护了。




如果你使用ACC没有任何问题,不要折腾这个方案,除非你使用ACC出现了问题,你可以试试QSC。



QSC安装:



原下载地址:


蓝奏云:https://topdalao.lanzoui.com/b02dplxrc

密码:1111

@来自原作者top大佬


本站直链:

QSC定量停充_独立开关版_20231204.zip (104.7 KB)


安装:

安装方式和ACC一样,直接magisk刷入后,重启即可。


配置:

1. 安装MT管理器或者RE管理器,然后打开路径/data/adb/modules/QuantitativeStopCharging_switch


2. 找到config.conf文件,根据文件内的提醒,配置电量区间和温度区间;

               


启动QSC:


由于现在MT管理器没有权限直接执行sh脚本了,给大家提供一个最适合的启动方式,这个方式还可以把开关添加到状态栏的下拉控制中心中(大部分手机都支持)


1. 安装Anywhere-软件,这里不过多介绍这个软件了,我个人认为是我用过最好用的快捷方式管理软件。


2.打开Anywhere-,点击右上角的设置图标,把工作模式改成root模式





3.返回Anywhere-首页,点击首页右下角的^-^号,然后点击添加卡片:





4.在卡片中选择Shell开关




5.按照下面的内容填写后保存,名称那里可以自定义






[!note]开指令

sh /data/adb/modules/QuantitativeStopCharging_switch/打开定量停充.sh




[!note]关指令

sh /data/adb/modules/QuantitativeStopCharging_switch/关闭定量停充.sh




6.点击卡片,会在开与关两个状态之间切换:


               




[!question]如何判断QSC是否生效

判断逻辑参考ACC部分,逻辑都是通用的。另外,QSC还可以在magisk中看到充电状态展示。但是我没使用QSC,所以就简单截图吧。





[!question]如何删除QSC

直接在magisk中删除后,重启即可。





常见问题



[!question]手机重启后需要重新打开脚本或者软件运行ACC或者QSC吗?

不需要,只要你配置好了,启动脚本以后,重新开机脚本都是正常运行的,自己试一次就知道了




[!question]ACC、QSC 能不能保证一定实现真正旁路供电?

不能百分百保证。这个地方一定要说清楚:ACC 、QSC不是凭空制造旁路供电能力的软件。

它的原理大概是:ACC 或者QSC 通过 root 权限,去控制系统底层暴露出来的充电开关、电流限制、充电状态等节点。

但是不同手机的硬件、电源管理芯片、内核驱动不一样。有的手机确实支持类似“旁路供电 / 电池空闲 / 主板由充电器供电”的模式;有的手机只是能做到“停止给电池充电”,但手机本身仍然从电池取电。所以严谨点说得话就是他们可以尝试调用手机底层的充电控制能力。如果这台手机的硬件和内核支持旁路/电池空闲模式,ACC 就有机会实现比较理想的旁路供电。

如果手机本身不支持,ACC 也不能强行把它变成真正旁路供电。

今天刚好看到一个帖子,荣耀手机(忘记型号了)好像新系统提供了“充电分离”开关,在软件上也实现了类似ACC这样的功能。




[!question]只安装AccA,不安装ACC模块行不行?

绝对不行,AccA可以不装,只是配置起来麻烦,ACC是核心模块,你只安装AccA,根本不可能工作的。




[!question]首页显示这个是什么意思?



这个表示配置正在读取或者加载中,这个时候尽量别动,等加载好就行了




[!success]结束语

写这个教程真的非常耗费时间,几乎占用了我白天一大半的时间才搞定。所以我在想,要不后面的教程我写的简单一些,不这么详细了。但是不会说写的云里雾里,肯定能保证大家直接跟上手的。不然按照这个程度更新下去,感觉进度很慢不说,我真担心我会放弃掉,后面还有很多事情要做,比如如何解决wifi网络稳定问题,如何保证ipv6的有效性,如何做DDNS等等


现在写完后背都很疼,还希望大家能理解


最新回复 (19)
  • chenzhaohui 05-14 22:44
    1

    佬,太强了,先收藏一波,等我买个二手手机试试,感谢!

  • lumines 05-14 23:14
    2

    第一期还没消化掉,第二期就上了,佬友高产 ^-^

  • 還記得你說家是唯一的城堡 隨著稻香河流繼續奔跑 微微笑 小時候的夢我知道 05-14 23:14
    3

    感谢佬友分享,真的很详细,回头慢慢研究学习

  • Xiaoheng 05-14 23:20
    4

    个人觉得这教程面向手上有闲置设备的情况,购买新设备的话你完全可以去买性价比更高的电视盒子刷机用作服务器 ^-^

  • cleof 05-14 23:26
    5

    你这样说我想到了一个,无头三星s7+ 或者flip,之前很热门的改装电视盒子的机型

  • Rhine. 05-14 23:29
    6

    持续追更,佬可以放缓节奏慢慢来,动漫也是一周一更

  • Lucifer Morningstar 05-14 23:32
    7

    完全可以写一个总体的纲要之后让ai写一个小白教程,然后补上佬认为需要强调的内容,这样或许能降低工作量

  • saya 05-14 23:34
    8

    刚刷完机当旁路由,就差这个供电了

  • 05-14 23:34
    9

    快更!刚好手头有个小米14pro,先把充电搞定了哈哈哈

  • saya 05-14 23:51
    10

    显示充电动画,但是电流为0,应该是充不进了吧

  • Mariorich 05-15 00:29
    11

    有什么推荐的手机吗佬?感觉自己瞎搞试错成本挺高的

  • Semmering 楼主 05-15 00:43
    12

    这还高产啊,隔两天才发布一次,属于难产了,哈哈哈哈

  • Semmering 楼主 05-15 00:45
    13

    主要很多佬友有闲置手机。所以闲着也是闲着,不如拿来玩一玩。另外,你说的盒子,性能有限,root折腾也比较麻烦。

  • AIB 05-15 00:47
    14

    先赶紧Mark住,太晚了,没时间看,明天得空要好好学习佬的手机搭建

  • Semmering 楼主 05-15 00:47
    15

    AI写的东西,只能参考一部分,确实能提高一部分效率。但主要这个实操的内容,AI是写不出来的整个过程的。我一方面在做教程,另外一方面在做的知识扩展,内容就变多了

  • Semmering 楼主 05-15 00:48
    16

    谢谢支持,我会慢慢更新玩的。把这个系列做完

  • Semmering 楼主 05-15 00:48
    17

    不对哦,你BL解锁了吗?已经root了?

  • rootwhois 05-15 00:48
    18

    先马了,万一哪天用得上。但是就是感觉性能上损耗会不会有点多

  • Semmering 楼主 05-15 00:49
    19

    仔细看教程中的“如何判断旁路供电是否生效”部分。按照步骤来验证。

* 帖子来源Linux.do
返回