<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/ DTD/wml_1.1.xml">

<wml>
<head>
<meta http-equiv="cache-control" content="max-age=180,private" />
</head>
<card title="淘汰的旧手机无需Root，把它改造成24小时在线的Linux服务器">
<p>
作者:<a href="index.php?action=showuser&amp;userid=1&amp;hash=">admin</a><br />时间:2026-07-16 10:12<br />分类:<a href="index.php?action=list&amp;cid=3&amp;hash=">电脑技术</a><br />内容:
淘汰的旧手机无需Root，把它改造成24小时在线的Linux服务器


提到安卓跑Linux，很多人第一反应是 Termux。但我折腾一圈后放弃了，原因很现实：


环境差异大：Termux 的命令和原生 Linux 有区别，Shell 脚本经常跑不起来，学习成本高。


网络不稳定：源在国外，下载速度慢，动不动就断连。


权限受限：无法获取 Root，很多底层操作没法搞。


✅ 终极方案：Podroid + Rathole


经过一番摸索，我找到了一套更优雅、更稳定的方案：Podroid + Rathole（此处我们是在内网环境进行测试部署）。


Podroid 简介：这是一个搭载独立内核的真实 Alpine Linux 虚拟机，而非 chroot 或 proot 取巧方案。Docker、Podman 都能完美运行。


项目地址： https://github.com/ExTV/Podroid


Rathole简介：安全、稳定、高性能的内网穿透工具，用 Rust 语言编写，类似于 frp 和 ngrok，可以让 NAT 后的设备上的服务通过具有公网 IP 的服务器暴露在公网上。


项目地址： https://github.com/rathole-org/rathole


这套方案的核心逻辑非常清晰，完美解决了安卓设备&ldquo;有算力难访问&rdquo;的痛点：


podroid 负责建立阵地：它在安卓系统之上，虚拟出一台拥有独立内核的 Alpine Linux 虚拟机。在这个沙箱里，你拥有完整的 Root 权限，可以随意折腾 Docker、Podman 等服务，而不影响宿主安卓系统的稳定性。


Rathole 负责打通隧道：由于安卓系统严格的网络隔离策略，外部网络无法直接访问 Podroid 内部开放的端口。因此我们引入 Rathole 进行内网穿透，建立一条从公网服务器到本地 Podroid 的安全加密通道


脚本化与 Caddy 负责高效部署：为了降低部署门槛，我们将客户端的配置、监控和初始化逻辑全部脚本化。同时，利用 Caddy 搭建轻量级的 Web 文件服务器，只需一条 wget命令，就能在旧手机上拉取所有必需文件，实现&ldquo;一键部署&rdquo;。


部署实战


整个部署流程分为&ldquo;公网服务端准备&rdquo;和&ldquo;旧手机端接入&rdquo;两部分。


第一阶段：公网服务器环境搭建（Rathole 服务端 &amp; Caddy）


我们需要一台有公网IP的服务器作为&ldquo;跳板&rdquo;和&ldquo;仓库&rdquo;


相关文件下载：https://pan.baidu.com/s/1TIpcgBvawG323qWtqdMbjw?pwd=atyc


上传rathole-setup文件夹并进入cd rathole-setup 运行脚本。


XML/HTML代码


    chmod +x rathole_setup.sh

    ./rathole_setup.sh





脚本运行后会自动生成 1-client 交付包。


Rathole 内网穿透运维操作手册（openEuler 终极稳定版 V17.9）内容比较长，大家可以自己去网盘中下载。


自动识别服务状态。


安装caddy文件服务器（可选）。


上传 caddy-2-10-alpine-dns.tar   caddy-fileserver.sh


授权并解压caddy镜像（在官方2.10镜像基础上增加腾讯云dns授权）。


XML/HTML代码


    chmod +x caddy-fileserver.sh

    docker load -i caddy-2-10-alpine-dns.tar





执行。




XML/HTML代码


    ./caddy-fileserver.sh







将生成的客户端包与 Alpine 初始化脚本打包并放入 Caddy 目录.


cd /opt/caddy/file


#需要从网盘中下载后上传到服务器上


XML/HTML代码


    cp /root/setup-alpine-ssh.sh  

    tar -zcf 1-client_rathole_ssh.tar.gz  

    setup-alpine-ssh.sh  

    1-client  





现在，访问 http://服务器IP/ 1-client_rathole_ssh.tar.gz 即可下载所需文件。


第二阶段：旧手机端配置（Podroid APP）


准备好 Podroid-v1.2.6-release.apk，双击安装，部分手机会报警忽略即可。


可以参考下面图片进行设置并启动虚机（需要耐心等待几分钟）


点击打开终端,执行下面的命令


#此处是上文部署的caddy web地址


wget http://192.168.31.100/


            1-client_rathole_ssh.tar.gz


          


tar zxvf 


            1-client_rathole_ssh.tar.gz


           


cd 1-client/


chmod +x 


            monitor.sh


           


cd ..


chmod +x 


            setup-alpine-ssh.sh


           


./


            setup-alpine-ssh.sh


           


cd 1-client/


./


            monitor.sh


           


图片


???? 验证成果


服务已经启动


图片


尝试ssh成功。


图片


???? 总结


这套方案通过 Rathole 的高效转发能力和 Podroid 的轻量级容器化，真正释放了老旧安卓设备的余热。无论是用来挂个人博客、做爬虫节点，还是当作家庭影音库的下载机，都是极好的选择。
</p><p>
<a href="index.php?action=login&amp;hash=">立即登陆发表评论</a><br />
</p>
<p><a href="index.php?action=list&amp;hash=">返回日志列表</a><br /><a href="index.php?action=index&amp;hash=">返回主页</a></p>
</card>
</wml>
