Skip to content

iStoreOS 软路由部署指南

iStoreOS 是一款目前极其流行、针对软路由和轻 NAS 优化的人性化系统,底层基于 OpenWrt。 由于软路由通常放置在网络网关或旁路网关的位置,直接在 iStoreOS 中运行云手机信令与前端服务能提供最高效的网络数据转发路径。


🛠️ 方式一:iStoreOS 网页端图形化创建 (推荐)

iStoreOS 内置了精简的 Docker 管理应用,您无需通过命令行,在浏览器中即可一键完成拉起:

  1. 进入 Docker 应用:登录 iStoreOS 后台,点击左侧菜单的 「Docker」,然后选择 「容器」
  2. 下载最新镜像
    • 在「容器」或「镜像」选项卡中,点击 「拉取镜像」 (或「下载」)。
    • 输入镜像名称:buutuu/scrcpy-over-webrtc:latest 并点击拉取下载。
  3. 创建容器
    • 下载完成后,在容器列表页点击 「添加」
    • 容器名称:输入 cp-aio
    • 镜像:选择刚刚拉取的 buutuu/scrcpy-over-webrtc:latest
  4. 网络配置 (Host 模式)
    • 在配置页面的“网络设置”中,网络类型 必须选择 Host (主机网络)
    • WARNING

      云手机推流涉及大段 UDP 动态端口(55000-55100 等)交互,若选择 Bridge(桥接)模式,您必须在图形界面上手动添加 100 多个端口转发映射,这会导致配置工作极其低效。Host 模式直接使用软路由的网口,配置最简单且转发性能最强。

  5. 环境变量配置
    • 切换到“高级设置”中的“环境变量”选项卡。
    • 点击 「添加」,增加以下两个关键变量:
      • 变量名PUBLIC_IP<您的软路由局域网 IP> (例如 192.168.100.1)。
      • 变量名NO_AUTHtrue (用于内网免密测试)。
  6. 启动容器
    • 其他卷挂载选项保持默认,点击 「保存并应用」「启动」 即可。

💻 方式二:SSH 终端命令行直接拉起 (极客推荐)

如果您习惯使用终端或者旁路由调试,可以通过 SSH 登录软路由终端直接执行以下指令:

bash
docker run -d --name cp-aio \
  --restart always \
  --net host \
  -e PUBLIC_IP=<您的软路由局域网 IP> \
  -e NO_AUTH=true \
  buutuu/scrcpy-over-webrtc:latest

(只需将 <您的软路由局域网 IP> 替换为您软路由的 LAN 口 IP,如 192.168.100.1 即可。)


🔒 关键防坑:iStoreOS 软路由防火墙放行

由于 iStoreOS 本质上是一个路由器系统,底层内置了严格的 OpenWrt 防火墙保护。 如果您的 Android 手机或电脑客户端处于不同的网段下(例如跨越了旁路由、或者是从软路由的 WAN 口方向接入访问),防火墙可能会拦截 WebRTC 的 UDP 数据包,导致“黑屏”或“无法加载”。

开放防火墙通信规则步骤:

  1. 进入 iStoreOS 网页后台,点击 「网络」➔「防火墙」
  2. 切换到 「通信规则」 选项卡。
  3. 点击 「添加」 规则:
    • 名称cloudphone-webrtc
    • 协议:选择 TCP+UDP
    • 源区域:选择 任意WAN
    • 目标区域:选择 设备 (入站)
    • 目标端口:填入信令网页端口及中转媒体端口段: 8443, 3478, 55000-55100
    • 动作:选择 接受 (ACCEPT)
  4. 点击 「保存并应用」,彻底打通音视频推流网络链路!

基于开源协议分发。本文档持续同步 AOSP 与 scrcpy 优化规范。