Modules / netproxy

NetProxy

基于 sing-box 内核的 Android 透明代理模块。 / sing-box based transparent proxy module for Android.

README

NetProxy Logo

NetProxy

Android 系统级 sing-box 透明代理模块
支持 eBPF、TCP / UDP、分应用代理、节点订阅与双控制 API

Latest Release Downloads sing-box Core

下载模块 · 使用文档 · Android 管理器 · 管理器源码 · Telegram

中文 | English


项目简介

NetProxy 8.0 是面向已 Root Android 设备的系统级透明代理模块。模块以内置 sing-box 为代理核心,通过 cgroup 与 TC eBPF 接管本机及共享网络流量,并提供 Android 管理器、模块 WebUI、CLI、Service API Dashboard 与 zashboard 等入口。

支持 Magisk、KernelSU 与 APatch。节点、订阅、路由、DNS 和透明代理配置均保存在模块目录中,不依赖 VPN 模式运行。

源码结构

src/module/          模块安装与运行文件
src/native/netproxy/ 节点、订阅与 Catalog 原生组件
src/webui/           模块 WebUI
src/android/         Android 管理器

Android 管理器与模块共用 netproxyctlschema=1 JSON 契约,但保持独立的本地构建流程。仓库 CI 不编译或发布管理器,推荐通过 Google Play 安装更新;另提供含管理器 APK 的模块包,供无法使用 Google Play 的设备安装。Android 构建说明见 管理器源码

管理入口

入口 适合场景
Android 管理器源码 日常使用,管理服务、节点、订阅、分应用代理、配置与日志
模块 WebUI 从 KernelSU、Magisk 或 APatch 的模块页面进入 NetProxy、zashboard 与 sing-box Dashboard
CLI 终端操作、自动化和故障排查
Clash API + zashboard 查看代理组、连接与延迟,进行运行时控制

Clash API 默认配置:

  • Controller:http://127.0.0.1:9999
  • zashboard:http://127.0.0.1:9999/ui/
  • sing-box Service API Dashboard:http://127.0.0.1:9090/dashboard/
  • Secret:singbox

Clash API 与 Service API 默认只监听本机。需要从其他设备访问时,请显式配置监听地址,并同时调整访问控制、密钥和 TLS;不要直接暴露默认端口。

界面预览

NetProxy Android 管理器界面预览

核心能力

  • 使用 cgroup eBPF 接管本机 TCP、UDP 与 DNS 流量
  • 不修改 iptables、nftables 或策略路由
  • 分应用黑名单 / 白名单、热点和 USB 共享代理
  • 单节点链接、节点文件、Clash YAML 与订阅导入
  • 手动节点选择与 URLTest 自动测速
  • Rule、Global、Direct、AllowAds 出站模式
  • 按 WiFi SSID 在基础模式与 Direct 之间自动切换
  • Clash API、zashboard、连接管理与节点测速
  • 订阅定时更新和规则集提前绕过
  • 自动清理 eBPF 程序、Map 与 TC 挂载

安装

Release 页面提供以下两个版本:

版本 文件名 包含内容 适用设备
标准包 NetProxy_<版本>_<构建号>.zip sing-box、NetProxy 原生组件、模块 WebUI、zashboard、CLI 与 eBPF 默认推荐;通过 Google Play 安装管理器,或使用 CLI / WebUI
含管理器包 NetProxy_<版本>_<构建号>_with-manager.zip 标准包全部内容,以及刷入时可选安装的 Android 管理器 APK 无法使用 Google Play、需要随模块安装管理器的设备

两个包的代理能力完全一致。标准包也是模块自更新的默认下载目标;只有需要随模块刷入管理器时才选择含管理器包

Important

eBPF 入站需要内核启用 BPF、cgroup v2 与 cgroup socket attach 能力。热点共享还需要可用的 TC eBPF 支持;不满足要求的内核无法启动本版本。

  1. Releases 下载最新模块 ZIP。
  2. 在 Magisk、KernelSU 或 APatch 中刷入模块。
  3. 更新已有模块时,按安装提示选择“保留现有数据”或“全新安装”;超时默认保留现有数据。
  4. 含管理器包会提供随附 APK 的安装选项;标准包不显示该步骤。
  5. 已开机刷入会在后台应用新版本,无需重启;Recovery 刷入完成后需要重启设备。
  6. 导入并选择节点,再通过管理器、模块 WebUI 或 CLI 启动服务。

模块默认 AUTO_START=0。确认节点与配置可用后,可在管理器中启用开机启动,或将 config/module.conf 中的 AUTO_START 改为 1

快速开始

以下命令均需要 Root 权限。

# 查看服务状态
su -c '/data/adb/modules/netproxy/netproxyctl service status'

# 导入单个节点链接
su -c '/data/adb/modules/netproxy/netproxyctl node add "vless://..."'

# 导入节点文本或 Clash YAML
su -c '/data/adb/modules/netproxy/netproxyctl node import /sdcard/clash.yaml'

# 查看并选择节点
su -c '/data/adb/modules/netproxy/netproxyctl node list'
su -c '/data/adb/modules/netproxy/netproxyctl node use <分组 ID>/<节点标签>'

# 启动服务
su -c '/data/adb/modules/netproxy/netproxyctl service start'

# 查看或切换出站模式
su -c '/data/adb/modules/netproxy/netproxyctl mode'
su -c '/data/adb/modules/netproxy/netproxyctl mode rule'

添加订阅(名称可省略,留空时自动获取):

su -c '/data/adb/modules/netproxy/netproxyctl sub add https://example.com/sub'
su -c '/data/adb/modules/netproxy/netproxyctl sub list'
su -c '/data/adb/modules/netproxy/netproxyctl sub update <分组 ID>'

节点配置格式

推荐使用 Android 管理器或 CLI 导入节点。模块内置的原生组件会把单链接、节点文件、Clash YAML 和订阅转换为模块需要的 sing-box Provider。

手写节点文件

手写节点文件必须是一个完整的 sing-box 配置片段,顶层使用 outbounds 数组。不能直接把单个 outbound 对象作为文件根节点。

下面是 SOCKS5 节点示例:

{
  "outbounds": [
    {
      "type": "socks",
      "tag": "fr-socks",
      "server": "proxy.example.com",
      "server_port": 1080,
      "version": "5",
      "username": "user",
      "password": "password"
    }
  ]
}

将节点文件导入 default 分组:

su -c '/data/adb/modules/netproxy/netproxyctl node import /sdcard/fr-socks.json'

然后执行:

su -c '/data/adb/modules/netproxy/netproxyctl node list'
su -c '/data/adb/modules/netproxy/netproxyctl node use default/fr-socks'

注意事项:

  • sing-box 出站协议字段是 type,不是 Xray 配置中的 protocol
  • 本地文件导入后会将节点追加到 default 本地配置组;建议保证 tag 在该组中唯一。
  • 不要使用 directblockProxyAuto-Fastest 作为节点标签。
  • data/catalog/ 中的 provider.json 由 Catalog 管理,不建议手动编辑;格式错误会导致对应分组无法加载。协议字段请以 sing-box Outbound 文档 为准。

CLI 命令

netproxyctl [--json] [--timeout <秒|时长>] service status|start|stop|restart|reload|check|toggle
netproxyctl [--json] catalog list|show <分组>
netproxyctl [--json] node list|current|show|add|import|export|edit|remove|use|delay
netproxyctl [--json] sub list|show|add|edit|update|update-all|activate|remove|history|cancel
netproxyctl [--json] mode [rule|global|direct|AllowAds]
netproxyctl [--json] network evaluate --type <wifi|not_wifi> [--ssid <名称>]
netproxyctl [--json] app list|mode|users|add|remove|enable|disable
netproxyctl [--json] ebpf status [configured|all|local|shared] [--raw]
netproxyctl [--json] config list|read|check|validate|apply
netproxyctl [--json] logs show|clear|export

节点引用固定为 <分组 ID>/<节点标签>。自动模式用 node use auto [分组],分组测速用 node delay auto [分组]sub add 可省略名称(sub add <URL>),此时按 Profile-Title、文件名、URL 主机名的顺序自动取名。所有命令默认有超时,订阅变更由下载超时控制,也可使用 --timeout 覆盖。

查看完整中文帮助:

su -c '/data/adb/modules/netproxy/netproxyctl help'

配置与日志

路径 用途
config/module.conf 开机启动、出站模式、当前节点、选择模式和订阅调度
config/ebpf/ebpf.conf eBPF 入站、分应用、共享网络与 Map 容量
config/singbox/confdir/ 通用 sing-box 配置,包括 DNS、路由和 Clash API
data/catalog/<分组 ID>/ 节点与订阅分组,含 meta.jsonprovider.json
runtime/ 启动时生成的 Provider、出站和 eBPF 配置,不应手动编辑
config/singbox/rules/local/ 可编辑的本地路由规则集
config/singbox/rules/remote/ 由远程 Provider 管理的内置 SRS 规则资源
logs/service.log 模块服务、订阅更新与透明代理日志
logs/sing-box.log sing-box 核心日志

常用默认值:

配置项 默认值 说明
AUTO_START 0 默认不随开机启动
OUTBOUND_MODE rule 规则分流
SELECTOR_MODE urltest 自动测速选择
ACTIVE_GROUP_ID default 当前生效的节点分组
EBPF_NETWORK 同时接管 TCP 与 UDP
EBPF_DNS_MODE hijack 在 eBPF 入站劫持 TCP / UDP 53
EBPF_CGROUP_IPV6_MODE always 本机 IPv6 接管策略,支持始终、自动和关闭
EBPF_BYPASS_PRIVATE_ADDRESS 1 默认绕过私网与特殊用途地址
EBPF_BYPASS_RULE_SETS direct,ChinaIP 在内核侧提前绕过可提取 CIDR 的规则集,多个规则集使用英文逗号分隔
EBPF_SHARED_NETWORK 0 默认关闭热点与共享网络代理
WIFI_AUTO_SWITCH 0 默认关闭 WiFi SSID 自动切换

排障

# 服务与核心日志
su -c '/data/adb/modules/netproxy/netproxyctl logs show service 100'
su -c '/data/adb/modules/netproxy/netproxyctl logs show core 100'

# 诊断包(包含运行时配置摘要,敏感信息会脱敏)
su -c '/data/adb/modules/netproxy/netproxyctl logs export /sdcard/Download/netproxy-diagnostics.tar.gz'

启动失败时优先检查 sing-box.log。出现 eBPF 加载错误时,请检查内核 BPF / cgroup 能力、Root 授权与 ebpf.conf;手写节点无法加载时,重点检查顶层是否为 outbounds、协议字段是否为 type、JSON 语法是否正确,以及节点标签是否冲突。

更完整的安装、配置和排障说明请访问 NetProxy 文档

鸣谢

项目 用途
reF1nd/sing-box 当前代理核心
SagerNet/sing-box 上游 sing-box 项目
Proxylink NetProxy 内部节点转换能力的原始项目
AsteriskNG Android eBPF 实现参考
zashboard Clash API 控制面板
v2rayNG 节点解析实现参考
binaries-for-Android Android arm64 bpftool 二进制

历史鸣谢

以下项目曾为 NetProxy 的早期版本提供核心能力或实现参考。

项目 历史用途
CHIZI-0618/sing-box 曾使用的 sing-box 分支
Xray-core 曾使用的代理核心
AndroidTProxyShell TPROXY / REDIRECT 透明代理实现参考
IPSET_LKM IPSET 内核模块与兼容性支持
KsuWebUIStandalone WebUI 独立运行方案参考

交流与贡献

许可证

GPL-3.0 License

Star

Star History Chart

Release History

v8.0.0

Published on August 14, 2026
Download

版本 8.0.0(2026-08-14)

8.0 是一次完整的架构重构:保留 sing-box 核心能力,将透明代理切换为 eBPF 入站,并把原先分散在 Shell 脚本中的运行时业务收拢至 Go。节点导入等已有能力继续保留,但节点、订阅、网络策略和管理入口都换成了新的实现。

eBPF 与 Go 运行时重构

  • 透明代理由 TPROXY / REDIRECT、iptables、IPSET 和策略路由切换为 sing-box eBPF 入站。
  • 移除旧版运行时 Shell 业务脚本;服务生命周期、运行时配置生成、节点切换、订阅事务、日志和网络策略统一由 Go Native 处理。
  • Shell 只保留模块启动阶段的系统桥接,netproxyctl 成为终端、Android 管理器和模块 WebUI 的统一入口。
  • 新增唯一后台 Worker,订阅自动更新不再依赖服务是否运行或 crond

Catalog 节点库与 Local Provider

  • 节点和订阅由 data/catalog/ 统一保存;每个分组使用 meta.json 保存名称、来源、更新与运行时同步状态,使用 provider.json 保存节点内容;当前分组和选择状态保存在 module.conf
  • 本地配置和每个 URL 订阅都有稳定的分组 ID,分组 ID 与显示名称分离;名称保存于 meta.json,首次更新时可由订阅响应自动补全。重启、更新和跨分组切换后仍能准确恢复当前选择。
  • Catalog 取代旧版“每节点一个 JSON + 订阅目录 + CURRENT_CONFIG”的状态模型,节点列表不必扫描全部节点文件才能识别分组和订阅状态。
  • 每个非空分组都会投影为 sing-box Local Provider,并生成对应的 Auto/<分组>Select/<分组> 出站;同组节点切换直接更新 selector,不需要重启核心。
  • 自动模式不再会静默回退到 direct。手动选择的节点在订阅更新后消失时,只回退到当前分组的 Auto。
  • 节点和订阅在服务停止时仍可从 Catalog 浏览和管理;核心运行后再合并测速、流量与实际选中节点。

节点导入扩展

  • 保留原有链接、节点文本、本地文件和 Clash YAML 导入;新增 sing-box JSON 导入。

独立订阅页面与完整订阅配置

  • 应用一级导航新增“订阅”页面,订阅管理从节点/应用页面中独立出来;分应用代理移入设置页。
  • 订阅详情、编辑和更新历史成为独立页面,支持查看节点、启用订阅、单个更新、全部更新、取消更新和删除。
  • 每个订阅可单独配置名称、自动更新、更新周期、通过代理更新、User-Agent、HWID、自定义请求头、下载超时、TLS 校验和节点包含/排除筛选。
  • 首次更新会根据 Profile-TitleContent-Disposition 文件名和订阅主机名自动补全订阅名称。
  • 支持读取并展示流量用量、剩余流量、总流量、到期时间和剩余天数;同时保存上次成功、下次更新和失败原因。
  • 支持 ETagLast-Modified、304 和服务端 profile-update-interval,避免无变化订阅重复转换。
  • 下载、转换、Provider 校验、原子提交和运行时同步分阶段执行;更新失败保留旧节点,运行时同步失败会明确保留待同步状态供后续重试。

Wi‑Fi 自动切换完善

  • Wi‑Fi 自动策略由 Go Worker 统一监听和评估,不再依赖旧 Shell 网络监控脚本。
  • 同时检查 Wi‑Fi 连接状态与实际默认路由,避免 Wi‑Fi 显示已连接但流量实际走移动数据时误判。
  • 增加网络状态确认、去抖和重复评估抑制,减少网络切换时的错误提示和重复操作。
  • 自动切换只改变当前生效模式,不覆盖用户保存的基础出站模式。

eBPF 透明代理

  • 支持本机 TCP/UDP 透明代理和 DNS 53 端口接管。
  • 支持 IPv6 接管、规则集绕过、私网绕过和防循环代理。
  • 分应用代理直接使用 Android 包名,支持黑名单、白名单、多用户和应用分身。
  • 支持热点/共享网络代理、接口过滤、来源 CIDR 和 MAC 地址过滤。
  • 支持本机 cgroup、TC 和共享网络 eBPF 能力诊断。
  • eBPF 是 sing-box 的入站模式,不是独立代理核心;服务启停和节点切换仍由 sing-box 服务统一管理。

管理器与模块 WebUI 重做

  • Android 管理器调整为“仪表盘 / 节点 / 订阅 / 设置”四个一级入口;订阅成为独立页面,分应用代理移入设置页。
  • 仪表盘、节点、订阅、应用代理、日志和配置统一通过 netproxyctl 获取结构化状态,不再分别读取模块文件、PID 和 Shell 文本推断结果。
  • 内核设置删除旧的图形化内核参数管理,改为 sing-box JSON 编辑器;内置 reF1nd Schema,支持补全、校验、查找、撤销、重做和运行时配置查看。
  • 日志导出改为生成脱敏诊断包,并附带模块和管理器版本信息。
  • 原模块图形 WebUI 已删除,替换为直接调用 netproxyctl 的终端式 WebUI;支持命令补全、历史记录和结构化结果的易读显示。
  • 新增 sing-box Service API Dashboard;Clash API 与 zashboard 继续保留给第三方客户端使用。

稳定性与安装体验

  • Catalog 使用跨进程锁、journal、staging、校验和原子替换,避免订阅更新产生半提交数据。
  • 订阅持久化状态和运行时应用状态分离,明确区分已保存、服务未运行、同步失败和已应用。
  • 服务启动状态统一为 stoppedpreparingstartingreadystoppingfailed,只有核心与 eBPF 入站就绪后才显示完整运行时间。
  • 配置保存使用检查、候选文件、原子替换和受控 reload,失败时恢复编辑器和磁盘状态。
  • 安装流程支持保留现有数据或全新安装,超时默认保留现有数据。
  • 支持检测内置管理器 APK 是否已安装及版本,并支持已开机安装时后台应用模块更新,无需强制重启设备。
  • 标准模块包不含管理器 APK;含管理器包提供无 Google Play 环境下的可选安装方式。

使用要求

  • 需要 Root、Android 12+、arm64-v8a,以及支持 BPF、cgroup v2 和 cgroup socket attach 的内核。
  • shared-network 代理还需要 TC eBPF 能力。
  • 8.0 不提供 TPROXY/REDIRECT 回退;设备内核不支持 eBPF 时透明代理无法启动。
  • 8.0 使用新的 Catalog 和配置布局,7.2 的 CURRENT_CONFIG、旧 outbounds 和 TPROXY 配置不属于 8.0 的配置事实源。

v7.2.0

Published on June 27, 2026
Download

版本 7.2.0(2026-06-27)

新增功能

  1. WiFi SSID 自动切换代理:

    • 可按当前连接的 WiFi 名称(SSID)以黑/白名单方式自动开启或关闭代理,切换通过 iptables 热切换瞬时生效、无需重启核心;并可单独设置非 WiFi 网络(移动数据)是否走代理。
  2. 订阅定时自动更新:

    • 支持按设定的间隔小时数自动更新全部订阅,随服务启停,避免订阅过期。

错误修复

  1. 控制接口偶发未就绪时不再导致启动失败:核心已启动即继续加载透明代理,模式/节点同步失败仅告警降级,可稍后重新下发。
  2. 节点解析修正多处字段映射:
    • 修复 VMess JSON 格式 ws path 中 ?ed= 未拆分导致连不通;
    • Shadowsocks obfs 插件键名转换(obfs→obfs-local、mode/host 映射);
    • 增加 skip-cert-verifypeer(sni) 等别名兼容;
    • 修正 Hysteria2 端口跳跃的分隔符解析。

优化

  1. 开启 DNS 乐观缓存并使用 DNS 并发,提高 DNS 稳定性。
  2. 更新内置 sing-box 内核及广告规则、GeoIP / GeoSite 规则集、zashboard 面板等上游资源。
  3. 优化模块升级备份同步机制:仅增量备份个人配置与本地规则(direct.json 等),升级时强制更新 cn.zone 和 singbox/source/ 内置上游规则。

v7.1.0

Published on June 10, 2026
Download

版本 7.1.0(2026-06-10)

新增功能

  1. 全新图形化管理界面(WebUI):

    • 新增基于 Vue 的模块管理界面,涵盖仪表盘、节点、订阅、分应用代理、运行日志与常用配置编辑,可直接在 KernelSU / APatch / Magisk 管理器中打开。
  2. 内置中国 IP 列表与静态 ipset 优化:

    • 透明代理内置中国大陆 IP 列表用于 CN-IP 绕过;默认绕过网段改用静态 ipset 加速匹配,并在不支持的内核上自动回退为逐条规则。
  3. CLI 支持清空运行日志。

错误修复

  1. 修复开机自启 / 启动 sing-box 时进程残留在管理器冻结 cgroup,导致切后台后断网的问题。
  2. 订阅更新改为先下载到临时目录、成功后再替换旧节点,更新失败不再破坏现有节点;批量更新订阅时单个失败也会容错继续。
  3. 优化跨订阅切换节点的流程,并修复 Clash API 控制接口状态检测的漏洞。
  4. 节点转换:支持解析 Clash 的 ws-opts.v2ray-http-upgrade,并修正 sing-box HTTPUpgrade 的 host 字段。
  5. 修复处理含空格文件名时权限设置(set_perm)报错的问题。
  6. 中国 IP 列表下载失败时,自动回退使用已有旧文件。
  7. 操作结果按服务真实退出码反馈,停止失败时如实上报。

优化

  1. 节点扫描改为单次 awk 处理,消除循环内 fork,加快加载速度。
  2. API 请求缓存 busybox 路径,避免每次请求重复探测。
  3. 运行日志增加分级与组件标签,降低噪声、便于排查。
  4. 更新内置广告规则、GeoIP / GeoSite 规则集与 zashboard 面板等上游资源。

v7.0.5

Published on June 6, 2026
Download

版本 7.0.5(2026-06-06)

主要变更

  1. API 请求方式重构:

    • 使用 busybox nc 替代 curl 发送 API 请求,移除对 curl 的依赖,兼容所有 Root 环境。
  2. 安装流程优化:

    • 新增安装来源选择:支持模块内安装配套应用,安装时默认选择安装(
  3. 错误修复:

    • 修复 runtime.sh 脚本重定向语法错误。
    • 增加 API 可用性检查超时时间。

v7.0.4

Published on June 5, 2026
Download

版本 7.0.4(2026-06-05)

主要变更

  1. 服务启动与同步流程优化:

    • 启动服务时强制同步出站模式与节点并进行严格校验:取消原有的警告容错设计。若控制接口就绪超时,或同步出站模式失败,直接中止启动服务。
    • 手动选择模式下,若同步出站节点失败,同样直接中止启动服务,杜绝配置与运行状态不一致。
  2. 订阅与链接解析优化:

    • 导入 vless/vmess 分享链接时,支持解析 WebSocket path 中的 ?ed=N 参数为独立的 max_early_data / early_data_header_name 字段,并在生成 sing-box 或 Xray 配置时进行双向适配与转换。
    • 回滚空指纹(fp)参数时默认使用 chrome 指纹的行为。
    • 优化节点加载扫描逻辑,改用 awk 批量提取节点 tag,提升大规模节点下的扫描性能。
  3. 脚本兼容性与错误修复:

    • 修复节点文件名中含空格、Emoji(如国旗字符)及特殊符号时导出链接失败的问题:重构位置参数处理,以 POSIX 兼容方式安全保留文件名参数,避免 Word Splitting(分词)造成解析错误。
  4. 出站模式与文档页面新增:

    • 新增 AllowAds 允许广告出站模式。
    • 文档系统新增莫奈配色编辑器和祈愿模拟器页面。

v7.0.3

Published on June 3, 2026
Download

版本 7.0.3(2026-06-03)

主要变更

  1. 内核与组件升级:

    • sing-box 升级至 1.14.0-alpha.28-reF1nd-android
    • zashboard 控制面板升级至 v3.7.1
  2. 透明代理路由优化:

    • 优化了 tproxy.sh 脚本,减少子进程 fork 调用,提升模块启动速度。
  3. 订阅与节点管理优化:

    • 订阅管理脚本 subscription.sh 新增 stdin 命令,支持从标准输入直接读取并导入节点。
    • 订阅解析与添加新增 -ua (自定义 User-Agent) 及 -hwid (自定义 X-HWID 设备标识) 选项,并支持持久化保存与更新。
    • 优化订阅添加逻辑,当订阅链接请求失败时,会自动回滚并清理新创建的空订阅文件夹,避免生成无元数据的残留空目录。
  4. WebUI 检测及跳转体验提升:

    • 优化模块默认主页,增加 9999 端口服务连通性检测,成功则秒开跳转。
    • 若服务未运行,将显示的诊断面板,打印排查日志并提示用户先启动服务。
  5. 模块安装及卸载逻辑修复:

    • 新增模块卸载脚本 uninstall.sh,在卸载模块时自动清理 /data/adb/netfilter 内核驱动目录以及 /data/adb/ksu(ap)/bin/ipset 软链接。
    • 为魅族设备增加检测,跳过 IPSET LKM 驱动部署,防止安装导致兼容性故障。

v7.0.2

Published on May 28, 2026
Download

版本 7.0.2(2026-05-28)

主要变更

  1. 性能模式与网络路由优化:

    • 默认开启性能模式(tproxy.confPERFORMANCE_MODE=1)。
    • 修复了部分设备在 Wi-Fi 环境下开启性能模式后代理问题
  2. 节点解析与转换优化 (Proxylink 内核升级):

    • 新增 Shadowsocks 插件 (plugin) 及参数 (plugin-opts) 的解析与转换支持
    • 修复节点 tag 标签中类似 > 等特殊符号在生成 JSON 时被 HTML 转义为 \u003e 导致引用不一致的问题。
    • fp (fingerprint) 参数时,节点转换将默认回退并应用 chrome 客户端指纹。
  3. 配置及清理:

    • 移除内置的 default.json 节点,并且默认将 CURRENT_CONFIG 置空。
    • 不再将 default 词条列为保留出站标签,防止命名冲突导致的过滤问题。
  4. 组件更新:

    • sing-box 更新至 1.14.0-alpha.26-reF1nd
    • zashboard 更新至 v3.6.0
    • AndroidTProxyShell 更新至 v26.05.28

v7.0.0

Published on May 3, 2026
Download

版本 7.0.0(2026-05-03)

核心更新

  • NetProxy 正式完成从 Xraysing-box 的整体迁移,核心架构、配置结构、运行时生成逻辑、节点与订阅管理均已围绕 sing-box 重构。
  • 本次为 6.0.1 -> 7.0.0 的大版本升级,包含核心切换、脚本体系重构、CLI 重写、透明代理优化以及设备兼容性改进。

主要变更

  1. 核心全面迁移至 sing-box:

    • 移除 Xray 相关核心、配置目录与旧更新逻辑,模块运行核心统一切换为 sing-box。
    • 配置主目录从 config/xray 迁移为 config/singbox
    • 新增 Clash API 支持,并内置 zashboard 控制面板。
  2. 节点、订阅与配置生成能力重构:

    • 订阅管理迁移至 core/subscription.sh,统一单链接、节点文件、订阅链接三种输入方式。
    • 全面适配 sing-box 配置生成,增强多协议与多传输方式支持。
    • 支持将 sing-box 节点配置重新导出为节点分享链接。
  3. CLI 与脚本架构重构:

    • CLI 按 sing-box 架构全面重写,统一服务管理、节点切换、订阅更新、模式切换、Clash API、应用分流与透明代理控制入口。
    • 新增 common / config / api / nodes 公共工具层,减少重复实现。
    • service / switch / runtime / subscription 编排层重构,整体结构更清晰,后续维护成本更低。
    • 移除旧的 switch-config.shswitch-mode.sh 等分散逻辑,统一收敛为新的切换流程。
  4. 运行时与出站逻辑优化:

    • 删除静态 05_outbounds.json,改为由运行时动态生成 runtime/outbounds.json
    • 支持手动选择与动态测速两种节点选择模式。
  5. 透明代理与底层性能优化:

    • 优化 shell 执行性能,尽量减少不必要的进程 fork。
    • 改进 POSIX 兼容性与脚本结构一致性。
  6. IPSET 与内核兼容增强:

    • 集成 IPSET LKM 驱动,覆盖 5.10 / 5.15 / 6.1 / 6.6 / 6.12 多个内核版本。

v6.0.1

Published on April 11, 2026
Download

版本 6.0.1(2026-04-11)

核心更新

修复了一些已知问题


v6.0.0

Published on February 27, 2026
Download

版本 6.0.0(2026-02-27)

核心更新

  • 全新原生管理界面: 采用 Miuix 设计语言重构,带来更精致的视觉体验、更流畅的操作反馈以及显著的性能提升。详见 Telegram 公告

主要变更

Important

由于涉及大量文件结构变更,建议先完全卸载旧版本模块后再进行重新安装。

  1. 模式切换逻辑重构:
    • 废弃 WebUI 实时生成路由的逻辑,改为使用预设的静态配置文件(rule.json, global.json, direct.json)。
    • 彻底解决重启后无法自动恢复“全局/直连”模式的历史遗留问题。
  2. 直连模式配置保护:
    • 将直连模式依赖的 freedom 出站配置从 outbounds/ 移至内部受保护路径 confdir/routing/internal/proxy_freedom.json
    • 优化 switch-mode.sh,确保即使出站节点被清空,直连模式依然稳固可用。
  3. 配置目录结构优化:
    • 路由规则统一化: 新增 confdir/routing/ 文件夹,集中管理所有路由 JSON 及 routing_rules.json 规则库。
    • TProxy 配置独立: tproxy.conf 移入 config/tproxy/ 文件夹,结构更清晰。
    • 文件排序优化: 重新排列 confdir 下的文件前缀,提升系统加载逻辑的可读性。
  4. 默认分组重构:
    • 将原 outbounds/ 根目录下的节点配置迁移至 outbounds/default/ 子目录。
    • 自动同步更新 module.conf 中的 CURRENT_CONFIG 路径。

v5.0.1

Published on February 20, 2026
Download

版本 5.0.1(2026-02-20)

新功能与优化

  • 兼容模式:新增 兼容模式(兼容旧版设备环境),修复在部分设备上的代理转发异常
  • 环境兼容增强
    • 透明代理 (tproxy.sh) 移除对 curl 的硬依赖,新增基于 busybox wget 的自动下载回退机制
    • 模块内置 ipset 二进制文件,移除系统环境依赖,原生适配 Magisk/KernelSU 安装运行环境
  • 模块控制面板:Action.sh新增详细的界面状态输出与日志回显
  • ProxyLink 升级:更新 ProxyLink 的编译环境依赖至最新的 Go 1.26.0

问题修复与精简

  • 修复部分场景下启动 WebUI 代理服务异常的问题
  • 移除遗留的“延迟刷新”等无用冗余代码

v5.0.0

Published on February 19, 2026
Download

版本 5.0.0(2026-02-19)

新功能

  • 支持 Hysteria2 协议(hysteria2:// 链接导入与配置转换)
  • 状态页面添加国旗 emoji 显示 IP 所属地区
  • KernelSU 快捷方式

网络与代理

  • tproxy.sh 升级至 v26.02.18
  • 秋风广告规则改为使用 geo 文件
  • WebUI 支持配置更多 tproxy 参数

其他

  • 更新 Xray 内核至 v26.2.4
  • 不再默认安装 netproxy.apk
  • 删除单独的 TProxy 日志页面
  • 依赖更新:Vite 8.0.0-beta.14、KernelSU 3.0.2、Gradle 9.3.1 等

v4.0.6

Published on January 11, 2026
Download

版本 4.0.6(2026-01-11)

配置页与延迟检测

  • 新增延迟结果缓存机制,统一管理延迟数据
  • 优化延迟显示逻辑,排序与清理性能提升

网络与代理

  • 阻止本地访问 TProxy 端口,防止流量回环
  • 优化外网 IP 获取

订阅与规则

  • 订阅 User-Agent 调整为 Clash
  • 更新内置规则

其他

  • 优化并清理部分代码实现

v4.0.5

Published on January 6, 2026
Download

此版本有较多配置文件调整,建议卸载重装,或者手动处理module,routing_rules,01_inbounds,02_dns,03_routing

版本4.0.5(2026-01-06)

🧩 WebUI 与前端结构调整

  • 全新的状态页设计(参考 flclash)
  • 重构 WebUI 服务层,按领域拆分为模块化结构
  • 移除新年特效相关代码
  • 调整顶部标题显示位置,移除顶部主题切换功能
  • 原“配置页”更名为“节点”,并更换图标
  • uid-page.js 重命名为 app-page.js
  • i18n-service.js 移入 src/i18n/
  • monet.css 移入 styles/ 目录,移除 style.css
  • 删除 status-card.css

核心脚本与服务体系

  • 使用统一的 service.sh 替代旧的 start.sh / stop.sh

  • 合并启动与停止逻辑,支持:

    • start / stop / restart / status
    • status 显示 PID 与运行时间
  • ksu-service.js 统一调用新 service.sh

  • 服务日志同时输出到文件与 stderr

  • 修复 log() 输出到 stdout 导致命令替换捕获日志的问题


网络、代理与规则能力

  • 实现 出站模式切换
  • 优化 TProxy 脚本性能,减少外部进程调用
  • 内置 秋风广告规则 v1.6.9
  • 修改部分配置文件,尝试修复 DNS / 订阅相关问题

安装与设备兼容性

  • 全新的安装脚本
  • 优化 OnePlus A16 修复脚本与服务启动逻辑

v4.0.3

Published on January 3, 2026
Download

🚀 版本 4.0.3(2025-12-30)

🔧 稳定性与修复

  • 修复 WebUI 下拉菜单文字对齐与选中状态显示问题
  • 修复应用列表添加 / 删除后不刷新的问题
  • 修复节点导入、删除后列表状态不同步的问题
  • 修复运行中修改 TProxy 配置后停止服务清理不完整的问题(如 IPv6 规则残留)

⚡ WebUI 性能与交互优化

  • 服务启停改为非阻塞执行

    • 启停操作立即响应,UI 不再卡顿
    • 增加状态轮询与超时提示
  • 延迟检测改用 spawn API

    • 测速过程不阻塞 UI
    • 增加超时保护,提升稳定性
  • 优化 Toast 显示位置,不再遮挡底部导航栏


🎨 主题系统与视觉优化

  • 重构主题颜色管理逻辑
  • 新增 Material 3 风格主题支持
  • 支持浅色 / 深色模式下的手动主题色
  • 优化自动模式与莫奈取色的颜色应用逻辑
  • 调整主题切换按钮布局,统一视觉风格

🌐 节点与订阅系统升级

  • 引入 Proxylink 作为统一节点解析与订阅转换引擎
  • 节点解析与订阅处理更加稳定、规范
  • CLI、WebUI、订阅脚本统一解析逻辑
  • 移除旧版 URL2JSON 与 WebUI X 相关代码

🧹 其他优化

  • 统一应用信息获取逻辑,提升首次加载成功率
  • 优化内核更新提示行为
  • 精简冗余代码,提升整体可维护性

v4.0.2.0

Published on January 2, 2026
Download

🎉 4.0.2 元旦特别版(2025-12-30)

feat(webui):2026 元旦特效 🎊
1 月 1–3 日生效:灯笼、飘雪、烟花;点击首个灯笼可关闭,关闭后本年度不再显示。


DNS 与路由系统

  • 新增 DNS 配置能力

    • 支持自定义 DNS 服务器
    • 支持静态 Hosts 配置
  • 修复 DNS 规则不生效的问题

  • 新增 DNS 劫持路由

  • 调整路由与策略参数

    • policy.levels 默认值改为 0
    • 优化部分路由与代理相关参数
  • 出站结构调整

    • confdir 新增出站文件:Direct / Block / DNS-Out
    • 删除默认配置中的 DirectBlock 出站
    • URL2JSON 节点转换中移除 DirectBlock 相关内容

核心性能与状态检测

  • 优化 Xray 运行状态与运行时统计

    • 使用 /proc 获取 Xray 运行时间
    • 替代 ps / grep 实现,提升 Android 兼容性
    • 显著减少 fork 次数,降低 CPU 与 IO 开销
  • 内存使用统计优化

    • 改为读取 /proc/<pid>/status 中的 VmRSS
  • 网络速率统计优化

    • 移除 1 秒阻塞延迟
    • 使用服务端差值计算
    • 首页加载时间提升约 1 秒

配置页性能与结构重构

  • 配置页加载性能大幅提升

    • Shell 层一次性获取配置目录结构
    • 批量读取配置信息,减少重复调用
    • 数据缓存避免重复加载
  • 渐进式与懒加载

    • 分组展开才加载数据
    • 节点列表支持滚动懒加载(IntersectionObserver)
    • 按块加载,避免重复请求
  • 配置页布局重构

    • 改为横向标签页(mdui-tabs
    • 标签栏支持横向滚动
    • 订阅分组操作按钮移入标签页面板
    • Tabs 适配 Monet 取色方案

WebUI 交互与体验优化

  • 页面切换体验优化

    • 所有页面统一延迟 200ms 切换
    • 等待导航动画完成后再更新页面内容
  • 应用代理页面重构

    • 支持多用户
    • 支持显示系统应用
    • 支持关闭分应用代理设置
  • 节点管理能力增强

    • 新增节点批量操作工具栏
    • 支持全部测试 / 按延迟排序 / 清理无效节点
    • 支持并行延迟测试并缓存结果
  • 清理调试输出

    • 删除 62 处 console.log

应用与系统信息获取优化

  • 移除 WebUI X 相关兼容代码

    • 统一使用 KernelSU API 获取应用信息
    • 应用图标统一使用 ksu://icon/<packageName>
  • 应用信息获取稳定性增强

    • 内置重试机制(最多 10 次)
    • 修复首次加载应用信息失败的问题
  • 用户空间显示优化

    • 显示格式调整为:应用名 [用户 999]
    • 描述栏仅显示包名

订阅与节点解析修复

  • 修复订阅解析失败问题

    • 添加浏览器 User-Agent,绕过 Cloudflare 简单检测
    • 新增订阅调试日志 logs/subscription.log
  • 节点解析能力增强

    • xhttp 传输类型支持 TLS
    • 支持自定义 headers 与 xmux 参数
  • 修复订阅更新与删除参数错误的问题


样式与文案优化

  • 导航与文案调整

    • 配置 → 节点
    • 代理 → 应用
    • 更新节点页标题与空状态提示
  • 节点列表布局优化

    • 移除多余左侧 padding
    • 优化节点名称对齐方式,符合 Material Design
  • 选择器样式优化

    • 使用 Monet 终极配色方案
    • 统一主色 / 自定义色 / 表面容器色
    • 修复 CSS 注释格式问题

v4.0.0

Published on December 30, 2025
Download

版本 4.0.0(2025-12-30)


⚠️ 重要提示

本版本 config 目录结构进行了调整,在 config 目录下 新增了 4 个配置文件
由于当前安装脚本 不会自动安装这 4 个新增文件,如果你是从旧版本升级:

  • 现有配置不会被覆盖
  • 但会 缺少新增的配置文件,可能导致部分功能异常

解决方式:

  • 推荐方式:卸载旧版本后重新安装 4.0.0,以确保配置文件完整
  • 手动方式:从发布的压缩包中,将新增的配置文件复制到模块目录下的 config 目录中

NetProxy 核心功能与架构(by @Fanju6

  • 入站端口逻辑调整

    • 不再从 nbounds 配置文件获取
    • 统一使用默认端口 12345
  • NetProxy 专属 WebUI 管理器

    • 可直接打开模块 WebUI
    • 磁贴支持开启 / 关闭 / 重启,并显示运行状态
  • 全新透明代理实现

    • 提升整体性能与稳定性
  • 应用代理模式重构

    • 黑名单与白名单彻底拆分
    • 不再共用同一应用列表
  • 代理能力增强

    • 支持移动数据、WiFi 热点、USB 网络共享
    • 支持 TCP / UDP / IPv6 代理开关
  • 路由与规则能力增强

    • 新增路由规则设置功能
  • 主题与外观配置

    • 新增主题与颜色设置
    • 支持 12 种主题色
  • 配置与日志系统改进

    • 统一 config/ 目录下配置文件格式为 .conf
    • 日志页新增 tproxy.logupdate.log 显示
    • 日志页支持保存日志与配置文件
  • Xray 运行方式调整

    • 使用 root:net_admin 用户启动
  • 脚本体系重构

    scripts/
    ├── cli                      # 命令行工具(主入口)
    ├── core/                    # 核心服务脚本
    │   ├── start.sh
    │   ├── stop.sh
    │   └── switch-config.sh
    ├── network/                 # 网络 / 代理相关
    │   └── tproxy.sh
    │   
    ├── config/                  # 配置解析
    │   ├── url2json.sh
    │   └── subscription.sh
    └── utils/                   # 工具脚本
        ├── update-xray.sh
        └── clean_reject.sh
    
  • 设备与启动相关改进

    • 重命名 oneplus_a16 修复脚本
    • 将修复脚本改为开关控制
    • 支持模块开机自启动
  • 配置与节点 UI 优化

    • 节点信息左边距缩小
    • 延迟检测结果显示在节点信息内
    • 支持显示当前正在使用的节点
    • 优化配置页整体布局
  • 协议解析修复

    • 修复 Trojan 节点解析问题

WebUI(by @Seyud

  • WebUI 样式体系重构

    • mdui.css 由本地文件改为通过 npm 引入
    • 移除本地 assets/mdui.css
    • 调整 index.html 中 CSS 加载顺序并添加说明
  • 下拉菜单交互修复

    • 增加 OpenDropdown 状态管理
    • 确保同一时间仅打开一个下拉菜单
  • UI 交互与可用性优化

    • 重构确认对话框结构,宽度限制为 400px
    • 扩大配置项“更多”按钮点击区域
  • 应用列表显示优化

    • 包名支持自动换行,避免长包名溢出
    • 优化列表布局与图标间距
  • 应用选择器修复与样式优化

    • 修复复选框点击触发两次状态切换的问题
    • 列表标题与描述支持换行
    • 复选框样式适配 Monet 主题颜色

CLI 命令行工具(by @hexl

  • 新增 NetProxy CLI 管理脚本 scripts/cli

  • 支持通过 adb shell 管理 NetProxy:

    • 服务控制:status / start / stop / restart
    • 配置管理:list / switch / current / add / remove / show
    • 订阅管理:list / add / update / update-all / remove
    • 代理设置:mode / apps / add / remove / reload

v3.0.1

Published on December 28, 2025
Download

版本 3.0.1 (2025-12-28)

更新 / 修复

WebUI(by @Seyud

  • 命令执行修复:修复文件路径包含空格时命令执行失败的问题,读取和保存配置文件时为路径添加单引号处理。

  • 样式系统重构:在不改变原有功能的前提下,将样式重构为模块化架构。

    • 新增 styles/ 目录统一管理样式
    • 拆分为 base.csscomponents/*.cssutilities.css
    • 使用 style.css 作为统一入口文件
  • 样式问题修复与优化

    • 修复菜单项文字截断问题
    • 为分段按钮组添加样式覆盖,优化选中态、悬停效果和图标颜色,适配 Monet 取色体系
  • UI 交互与性能优化

    • 重构应用图标懒加载逻辑,统一 KSU API 与 WebUI X 的图标加载方式
    • 修复配置列表选中状态与交互异常,禁用不必要的 ripple 和 state-layer 效果
    • 优化骨架屏逻辑,支持无图标配置列表样式
    • 使用文档片段优化配置列表渲染性能
    • 移除配置页面骨架屏,简化加载流程

其他

  • 路由修复与优化:修复路由失效问题,并简化 Xray API 配置。

v3.0.0

Published on December 27, 2025
Download

版本 3.0.0 (2025-12-27)

新增 / 改进

WebUI 优化(by @Seyud

  • 优化导航栏动画
  • 自动模式适配莫奈取色
  • 白名单应用删除即时生效,支持系统应用白名单
  • 调整延迟分类阈值,改善状态页面显示

代理与网络

  • 使用 TPROXY,支持 UDP 与 IPv6

配置与管理

  • 分离配置文件,实现模块化管理(入站 / 出站 / DNS 等分开)
  • 新的代理模式界面,支持黑名单 / 白名单模式
  • 新配置页面:显示协议、地址、端口,支持编辑配置文件及延迟测试
  • 支持热切换配置文件

订阅功能

  • 新增订阅功能,支持节点在线更新与管理

修复

  • 修复 VLESS 配置中 users 数组缺少 flow 字段的问题

⚠️ 重要提示

本版本对配置文件结构进行了调整,模块化分离了配置文件。
模块目录下的 /config/xray/ 中新增了两个文件夹:

  • confdir:存放默认规则配置
  • outbounds:存放节点的出站配置

如果你是从旧版本升级,可能会缺少新增的文件。
建议操作方式:

  1. 推荐方式:卸载旧版后重新安装,以确保配置完整。
  2. 备用方式:手动从压缩包中将缺失文件复制到模块目录。

v2.0.2

Published on December 23, 2025
Download

版本 2.0.2 (2025-12-23)

WebUI 改进(by @Seyud

  • 资源本地化构建:样式与字体改为本地构建,优化初始化加载速度,修复部分样式异常。
  • 构建优化:关闭 source maps,减少体积并提升加载效率。
  • 主题体验:修复主题切换闪屏问题。
  • 架构重构:单体 app.js 重构为模块化架构,提升可维护性。
  • 清理冗余:移除未使用的 app-selector.html 文件。
  • 边到边布局适配:支持动态系统 insets,优化悬浮按钮位置。
  • 应用列表优化:引入 webuix,支持应用图标懒加载与缓存,优化骨架屏显示,增强列表兼容性,支持滚动懒加载。

修复

  • 修复 SS 节点导入
  • 修复 VLESS + Reality 节点导入
  • 修复节点导入中文解析问题

Module Details

Module ID
netproxy
Authors
1065
Stars
20
Releases

Latest Version

v8.0.0
Released 8/14/2026
Download Now