别再让全局 VPN 拖慢所有软件:RouteWeaver 开源了
让需要的应用走代理,让国内软件继续直连。Windows 版可实际分流,Android 版负责规则管理、验证与兼容提供商交接。
English summary: RouteWeaver is an open-source split-routing gateway for proxy-aware Windows applications. It selectively sends apps or domains through an existing local HTTP/SOCKS5 proxy while keeping other traffic direct. The Android companion manages and verifies rules without pretending it can replace another provider’s active VPN tunnel.
2026-08-08 更新:RouteWeaver 1.3.2
项目公开发布后的真实使用反馈暴露了两个值得优先修复的问题:部分公网 IP 服务在特定代理链路中会发生 TLS 提前断流,以及 HTTPS CONNECT/双向转发在边界时序下可能偶发中断。本次 1.3.2 更新保留本文原有设计与使用方式,重点完成以下加固:
- 公网出口改为多个独立服务并发探测,单个服务不可用时自动使用健康来源;
- 调整 CONNECT 确认与 TLS 数据发送顺序,正确传递 TCP 半关闭并继续排空剩余响应;
- 自动识别 Windows 系统代理、启用前事务备份、PAC、WinHTTP、HTTP/SOCKS5 和常见本地代理端口;
- 每次启动分流前自动校准并保存上游协议、地址、端口、来源和更新时间;
- 增加单实例进程安全锁,重复点击程序不会再启动第二个网关或托盘实例;
- 自动化测试增加到 34 项,并重新构建 Windows 免安装程序与安装包。
最新版下载与 SHA-256 校验值见中文项目主页,完整变更见 1.3.2 发布说明。
一个很常见、也很折磨人的问题
不少中国用户平时同时使用国内和国外软件。为了访问部分国外服务,我们会打开第三方 VPN 或本地代理;但有些客户端只有开启“全局模式”才稳定。问题随之而来:
- 国外网站终于能打开,国内网盘、视频、办公系统却明显变慢;
- 原本应该走国内线路的下载,也被绕到远端出口;
- 关掉全局代理,国外应用又立刻失联;
- 频繁切换开关很麻烦,还很难确认某个软件实际走了哪条线路。
真正需要的不是“全部代理”或“全部直连”二选一,而是把选择权精确到应用和网站。
这正是 路由织网 RouteWeaver 的出发点。
它是怎么解决的
RouteWeaver 不取代现有 VPN,也不修改第三方客户端。Windows 版在第三方软件提供的本地 HTTP/SOCKS5 入口前,加一层轻量、可审计的分流网关:
浏览器 / 桌面应用
│
▼
RouteWeaver 本地分流网关
├── 国内应用或网站 ──► 物理网络直连
└── 指定应用或网站 ──► 原 VPN/代理 ──► 远端出口
每次连接到来时,程序会结合来源 EXE 和目标域名查找规则,再决定走直连还是原代理。用户可以看到实际进程、目标、决策和错误,而不是面对一个只有“已加速”字样的黑盒。
两种模式,覆盖两类习惯
正向映射:少数应用需要代理
默认直连。只有规则中的应用或网站走 VPN/代理。
它适合日常主要使用国内网络,只偶尔访问国外开发平台、AI 工具、社交服务或特定工作站点的人。国内软件不会因为全局代理绕路。
反向隔离:大多数流量走代理
默认走 VPN/代理。规则中的国内应用或网站被“摘出来”直连。
它适合长期保持代理连接,但希望网盘、视频、游戏启动器、企业办公系统等继续使用国内线路的人。
不是只有“添加规则”
真正长期使用时,规则一定会变化,所以 RouteWeaver 把维护体验也做完整了:
- 从 EXE 文件、任务管理器进程或 Windows 已安装应用中选择程序;
- 添加网站域名、通配符和国际化域名;
- 修改规则类型、匹配值、备注和启用状态;
- 重复规则自动拦截,支持多选删除、双击修改和 Delete 快捷键;
- 从实时连接活动中一键加入或取消应用/网站规则;
- 导入导出配置,方便迁移和备份。
怎样知道它真的生效了
“规则看起来正确”不等于网络真的按预期运行。项目专门提供三层验证:
- 双出口 IP 检测:分别读取直连和代理出口的真实公网 IP、地区、运营商、来源和时间。
- 规则级测试:选中某一条应用或网站规则,按当前策略执行真实出口探针。
- 连接活动:查看已经过网关的真实进程、域名、命中规则和实际决策。
项目不会根据配置凭空“推算”一个 IP。查询失败就显示失败;没有经过网关的连接,也不会被标记为已经接管。
哪些人最适合使用
- 同时使用国内办公软件和国外开发/创作工具的人;
- 全局代理会明显拖慢国内网站、网盘、视频或下载的人;
- 希望长期保持 VPN 连接,但不想让所有流量绕路的人;
- 需要验证每个应用和网站实际出口的开发者、测试人员;
- 使用提供 HTTP 或 SOCKS5 本地端口的第三方代理客户端的人。
三分钟安装使用
- 从 GitHub Releases 下载 Windows 安装包。
- 保持原来的 VPN/代理连接,不需要修改其设置。
- 启动 RouteWeaver,确认识别到正确的本地上游地址。
- 选择正向映射或反向隔离。
- 从 EXE、运行进程、已安装应用或网站域名添加规则。
- 点击“启用分流”,用出口测试和连接活动验收。
默认情况下,程序随 Windows 启动;点击窗口右上角 × 会隐藏到托盘,不会突然中断正在工作的分流。两项行为都可以在设置中修改。
Android 版为什么不直接接管流量
这是项目最需要坦诚说明的地方。
Android 同一用户空间通常只能运行一个主要 VpnService。第三方 VPN 已经占用这个系统槽位时,另一个普通 APK 无权修改对方的 allowed/disallowed application 列表;如果强行建立第二条隧道,系统反而会断开原 VPN。
所以 Android 版不制造“所有 VPN 都能分流”的假象,而是定位为规则与验证伴侣:
- 管理与桌面版一致的正向/反向规则;
- 检测当前 VPN 与已安装提供商;
- 验证默认出口和物理网络出口;
- 导入导出 JSON 配置;
- 向明确支持 RouteWeaver 协议的 VPN 提供商交接规则;
- 不兼容时复制清单并打开提供商应用,由用户在其分应用设置中完成配置。
诚实的限制说明,比一个无法兑现的“全兼容”按钮更重要。
项目的技术特点
- Python + Tk 构建 Windows 桌面 UI 和本地网关;
- HTTP CONNECT 与 SOCKS5 上游支持;
- 从 Windows TCP 表反查来源 PID 和可执行文件;
- 系统代理事务式接管、所有权判断与异常恢复;
- 规则引擎、上游协议、配置迁移和本地网关均有自动化测试;
- Android 原生 Java 实现规则、网络验证和提供商发现;
- GitHub Actions、Dependabot、Issue/PR 模板、MIT License 和公开测试报告齐备。
能力边界同样是产品的一部分
Windows 的普通用户态程序无法仅凭“加一条规则”就改写任意 EXE 的所有网络连接。UDP、QUIC、游戏自建协议,以及明确忽略系统代理的应用,需要签名 WFP 驱动或应用自己的代理设置。
RouteWeaver 当前稳定覆盖的是遵循 Windows 系统代理的应用,以及常见浏览器的 HTTP/HTTPS 流量。项目文档会明确写出未覆盖部分,欢迎社区共同研究未来的签名驱动后端,但不会把计划写成已经实现。
开源与参与
RouteWeaver 采用 MIT License 开源。仓库开放 Windows 与 Android 源码、构建脚本、安装器定义、自动化测试、架构说明、平台边界和需求覆盖矩阵。
欢迎提交:
- 不同 Windows 版本和代理提供商的兼容性报告;
- 可复现的 Bug 与脱敏诊断信息;
- UI、可访问性和中文文档改进;
- 更严格的测试、协议兼容和安全恢复方案;
- Android VPN 提供商对规则交接协议的实现。
如果你也受够了“为了一个国外应用,让整台电脑都绕远路”,希望 RouteWeaver 能给你一个更清楚、更可控的选择。
使用提醒:请遵守所在地法律、单位网络规范及相关服务条款。RouteWeaver 与任何第三方 VPN/代理品牌均无隶属或背书关系。