936ce044039a4f764d3ac247978c3af15b345889
cellular-proxy
轻量 「走代理 = 走数据流量」(无 frp,512MB 友好)。
语义
| 流量 | 出口 |
|---|---|
| 不走 本代理 | 系统默认(通常 WiFi) |
| 走 本代理 | 一律数据网卡(自动探测并 bind) |
全自动一键安装
无参数即可:
- 下载源码
- 自动探测数据网卡(名称 / 驱动 / 次要默认路由 / 非默认物理口)
- 写入配置并 bind 出口
- 安装 sing-box + systemd
- 启动并尝试验证出口 IP
curl -fsSL 'https://gitea.chickliu.fun/Hermes/cellular-proxy/raw/branch/main/install.sh' | sudo bash
可选覆盖:
curl -fsSL 'https://gitea.chickliu.fun/Hermes/cellular-proxy/raw/branch/main/install.sh' | sudo bash -s -- \
--iface wwan0 \
--secret '面板密钥' \
--user proxy \
--pass '代理密码'
| 选项 | 说明 |
|---|---|
| (无参数) | 全自动探测 + 绑定 + 安装 + 启动;若已安装则自动改走增量升级 |
--upgrade |
强制增量升级(保留密钥/网卡) |
--ui-only |
只更新 9090 面板 |
--force-binary |
升级时强制重下 sing-box |
--rebind |
升级时重新探测数据网卡 |
--verify |
升级后做出口验证(升级默认跳过) |
--force-install |
已安装也走全量安装流程(仍尽量沿用 live settings) |
--iface |
强制指定数据网卡 |
--secret |
面板密钥(默认随机;升级不改已有) |
--user / --pass |
代理鉴权 |
--port / --panel-port |
默认 7890 / 9090 |
--memory |
MemoryMax MB,默认 96 |
--skip-start / --skip-verify |
跳过启动或验证 |
增量升级(推荐,已装机器)
一条命令:
sudo cpxy upgrade
可选:
sudo cpxy upgrade --ui-only # 只刷面板
sudo cpxy upgrade --force-binary # 强制重下 sing-box
sudo cpxy upgrade --verify # 升级后验证出口
sudo cpxy upgrade --rebind # 顺带重新探测数据网卡
| 保留 | 默认跳过 | 会更新 |
|---|---|---|
settings.conf / PANEL_SECRET / 代理账密 |
重下 sing-box(已存在则复用) | UI 面板 |
CELLULAR_IFACE 绑定 |
重新探测网卡 | scripts / cpxy / systemd unit |
| 端口与 MemoryMax | 出口公网验证 | 重生 config.json 并 restart |
原理:
cpxy upgrade在线拉最新install.sh,再以--upgrade跑增量流程。
若机器上还是旧版cpxy(只会打印说明),先执行一次:
curl -fsSL 'https://gitea.chickliu.fun/Hermes/cellular-proxy/raw/branch/main/install.sh' | sudo bash -s -- --upgrade
之后就只需sudo cpxy upgrade。
装完 / 升级后:
cpxy verify # 直连 IP ≠ 代理 IP
cpxy rebind # 重插卡后重新自动探测并绑定
cpxy detect # 查看评分/驱动
cpxy status | logs
cpxy auth --user u --pass p # 设置 7890 代理账号密码
cpxy auth --show | --clear
sudo cpxy upgrade # 一条命令在线增量升级
- 代理:
LAN-IP:7890(HTTP + SOCKS5) - 面板:
http://LAN-IP:9090/ui/(密钥在安装结束输出 /settings.conf) - UI 可直接配置代理账号密码(管理 API 默认
9091,与面板 secret 相同)
自动探测逻辑(摘要)
按分数选择,优先:
- 驱动像蜂窝/USB 拨号:
qmi_wwan、cdc_mbim、cdc_ether、rndis_host等 - 名称含:
wwan/wwp/usb/enx/ppp/rmnet/ccmni… - 不是 系统默认路由网卡(默认通常是 WiFi)
- 多默认路由时取次要默认口
- 回退:任意非默认且有 IPv4 的物理网卡
探测失败会直接报错并提示用 --iface。
手动安装
git clone https://gitea.chickliu.fun/Hermes/cellular-proxy.git
cd cellular-proxy
sudo ./scripts/install.sh # 同样会自动探测并绑定
资源
- 单进程 sing-box
- 中文静态面板(animal-island-ui 视觉 token,单文件无 React)
- 默认
MemoryMax=96MB
二进制从哪里下?
优先 Gitea Release 预置包(一键安装默认走 Gitea,无需访问 GitHub):
https://gitea.chickliu.fun/Hermes/cellular-proxy/releases/download/bin-v1.11.7/sing-box-1.11.7-linux-amd64.tar.gz
https://gitea.chickliu.fun/Hermes/cellular-proxy/releases/download/bin-v1.11.7/sing-box-1.11.7-linux-arm64.tar.gz
https://gitea.chickliu.fun/Hermes/cellular-proxy/releases/download/bin-v1.11.7/sing-box-1.11.7-linux-armv7.tar.gz
下载顺序:Gitea 整包 → Gitea 分片合并(兜底) → GitHub 代理(https://git.86482425.xyz) → 直连 GitHub。
代理账号密码(更优雅的方式)
| 方式 | 说明 |
|---|---|
| 面板 UI | 打开 http://LAN-IP:9090/ui/,填 secret → 「代理账号密码」保存 |
| CLI | sudo cpxy auth --user u --pass p |
| 安装时 | --user / --pass |
| 改文件 | settings.conf 的 PROXY_USER / PROXY_PASS 后 cpxy generate |
管理 API:POST http://LAN-IP:9091/proxy-auth,Header Authorization: Bearer <PANEL_SECRET>。
维护者更新预置包(从 GitHub 经代理拉再上传 Gitea):
set -a; source ~/.hermes/env/gitea.env; set +a
ARCHS='amd64 arm64 armv7' ./scripts/publish-binaries-to-gitea.sh
安全
局域网监听建议设置 --user/--pass;面板 secret 已默认随机生成。
REQUIRE_CELLULAR_IFACE=true:数据口不在则不装/不生成假出口。