Files
cellular-proxy/config/settings.conf.example
T
Hermes 659ad6f950 feat(watch): treat ModemManager journal as redial standard
Use MM registration/packet-service events as the recovery trigger
instead of public egress probes, so re-register heals with zero
cellular traffic. Wait for wwan IPv4 after settle, coalesce bursts,
and keep ip-monitor + poll as fallbacks.
2026-07-24 09:53:03 +00:00

90 lines
3.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# =============================================================================
# cellular-proxy — 轻量「代理出口 = 数据流量」
# 512MB 友好;无 frp;本机/局域网 HTTP+SOCKS;中文 Web 面板
#
# 语义(请按这个理解):
# · 系统默认路由仍可走 WiFi
# · 只要客户端走本代理,出口一律绑数据网卡(运营商流量)
# · 不做「部分域名走 WiFi、部分走数据」的应用层分流
#
# 复制:cp config/settings.conf.example config/settings.conf
# =============================================================================
# ---- 安装路径 ----
INSTALL_DIR=/opt/cellular-proxy
LOG_DIR=/var/log/cellular-proxy
# ---- 数据网卡(代理出口强制绑定)----
# 留空则自动探测 wwan/usb/enx 等;建议手动填准
CELLULAR_IFACE=
# 元数据:数据侧当前源 IPv4generate/watch 会更新;默认不写入 sing-box)
CELLULAR_SOURCE_IP=
# 是否把源 IP pin 进 sing-box inet4_bind_address
# false(默认,推荐):只 bind_interface=网卡名 → WWAN 重拨换私网 IP 时通常无需 regenerate
# true:额外写 inet4_bind_address(需 watch/rebind 同步,否则易 stale → SOCKS rep=0x01
BIND_SOURCE_IP=false
# 数据网卡不存在则不启动(推荐 true,避免代理静默从 WiFi 出)
REQUIRE_CELLULAR_IFACE=true
# 自动探测关键词(逗号分隔)
CELLULAR_IFACE_PATTERNS=wwan,wwp,usb,enx,ppp,cdc
# 后台监控(推荐开):网卡改名/掉线/无 IPv4 时自动 rebind;默认开启 long-running watch
ENABLE_CELLULAR_WATCH=true
# watch 轮询兜底间隔秒(事件驱动 ip monitor + ModemManager 日志为主)
WATCH_INTERVAL_SEC=60
# 以 ModemManager 日志为「重拨/重注册」标准(零公网流量,只读本机 journal)
# 命中 home→searching / attached→detached / bearer 断连等后:settle → 等 IPv4 → generate/restart
WATCH_MM_EVENTS=true
WATCH_MM_UNIT=ModemManager
# 事件后先等几秒再查数据面(避免刚 detached 就 generate
WATCH_MM_SETTLE_SEC=5
# 等待 wwan IPv4 / MM home 的最长时间
WATCH_MM_READY_TIMEOUT_SEC=90
WATCH_MM_READY_POLL_SEC=2
# 同一轮抖动合并窗口(searching→registering→home 只恢复一次)
WATCH_MM_COALESCE_SEC=20
# ---- 代理监听(局域网其它设备用 0.0.0.0)----
# mixed = 同一端口同时支持 HTTP 代理 与 SOCKS5
PROXY_LISTEN_HOST=0.0.0.0
PROXY_MIXED_PORT=7890
# 代理鉴权(局域网强烈建议设置;留空=无鉴权)
# 7890 代理鉴权(空=无密码)。也可用: cpxy auth --user u --pass p 或面板 UI
PROXY_USER=
PROXY_PASS=
# ---- 中文 Web 面板(内置静态页 + Clash API----
PANEL_LISTEN_HOST=0.0.0.0
PANEL_PORT=9090
# 面板密钥(浏览器里填;务必修改)
PANEL_SECRET=please-change-me
# 是否启用内置 DNS(推荐 true;DNS 查询也从数据出口出,减少漏到 WiFi)
ENABLE_DNS=true
# 日志:info / warn / error / debug(低内存建议 warn
LOG_LEVEL=warn
# ---- sing-box ----
# auto = 优先 Gitea 预置包(整包/分片),失败再走 GitHub 代理
# gitea | github | local | auto
SING_BOX_SOURCE=auto
SING_BOX_VERSION=1.11.7
SING_BOX_BIN=
# Gitea 预置包 Releasepublish-binaries-to-gitea.sh 上传)
GITEA_BASE=https://gitea.chickliu.fun
GITEA_OWNER=Hermes
GITEA_REPO=cellular-proxy
# 默认 tag: bin-v{SING_BOX_VERSION}
SING_BOX_RELEASE_TAG=
# 维护端从 GitHub 拉包、安装端回退 GitHub 时使用;置空则直连
GITHUB_PROXY=https://git.86482425.xyz
# 进程内存上限(MB,0=不限制)。512MB 设备建议 64~96
MEMORY_MAX_MB=96
# ---- 验证 ----
EGRESS_CHECK_URL=https://ifconfig.me
# 可选:填数据侧公网 IP 后,verify 会严格比对
EXPECTED_CELLULAR_PUBLIC_IP=