【Windows / 开源】Clew:按进程树选择性代理 TCP/UDP 流量

软件名称

Clew

应用平台

Windows 10 版本 2004 或更新版本、Windows 11。

运行需要管理员权限,并依赖 VS 2022 C++ Runtime;Windows 10 还需要 WebView2 Runtime。

推荐类型

使用者推荐 / 开源项目贡献者补充。

我不是 Clew 的原作者。下面的介绍来自实际使用、问题复现、实机测试以及参与上游代码贡献的经历。

一句简介

让指定 Windows 进程及其后续派生的子进程通过 SOCKS5 代理,支持 TCP、UDP、命令行匹配和多代理组。

我为什么找到 Clew

我的需求不是让整个 Windows 系统都走代理,而是只代理特定程序。

这个问题在使用 Codex 等 AI Agent 工具时尤其明显:工具自身没有适合这个场景的应用级代理开关,并且执行任务时还会启动 PowerShell、Git、编译器和其他任务进程。只处理主程序往往不够,它后续创建的子进程也需要沿用相同代理策略。

我因此寻找能够按照进程树处理网络流量的工具,并找到了 Clew。它的规则命中主进程后,可以让以后动态派生的子进程继续使用同一代理策略。对于会不断调用终端和外部工具的 AI Agent,这比逐个寻找和配置实际联网进程更符合我的使用方式。

主要功能

  • 进程树代理:规则命中后,后续派生的子进程可以自动跟随代理。
  • 自动规则与临时代理:可以按可执行文件建立长期规则,也可以直接对当前 PID 及其后续子进程临时启用代理。
  • 命令行匹配:同一个可执行文件运行不同任务时,可以通过命令行关键词只匹配其中一类任务。
  • TCP 与 UDP:规则可选择 TCP、UDP 或 Both。
  • 多 SOCKS5 后端:不同进程规则可以分配到不同代理组。
  • 网络活动界面:按进程查看实时连接、目标地址、端口以及代理或直连状态。
  • DNS Forwarder:可将 DNS 查询通过 SOCKS5 发送到指定上游;关闭或退出时恢复原来的系统 DNS 设置。
  • IPv4 CIDR Exclude:全局或进程规则可以排除指定 IPv4 网段,使这些目标保持直连。

Clew 本身不提供代理节点,需要已有可用的 SOCKS5 服务,例如本机运行的代理客户端。

从使用者到贡献者

实际使用中,我发现并复现了几项问题:IPv4 CIDR 排除配置没有完整进入 TCP/UDP 转发路径;远程 SOCKS5 代理场景下 UDP 数据 socket 的绑定影响 DNS 和普通 UDP 转发;自动 DNS 用户退出 Clew 后可能被错误恢复为静态 DNS。

我提出实际需求并完成 Windows 实机复现和验收,同时使用 Codex 协助分析代码、建立隔离编译环境、实现修复、补充组件测试和综合回归测试。相关修改形成了第一个 PR:

https://github.com/ymonster/clew-proxy/pull/1

之后,我又发现 Settings 页面在窗口高度较小时会把 Configuration File 编辑区域压缩到无法通过滚动查看。这个界面问题同样经过修改和回归测试,形成第二个 PR:

https://github.com/ymonster/clew-proxy/pull/3

两项 PR 均已由上游审核并合并。我更愿意把自己的角色描述为使用者和贡献者:问题来自我的真实使用场景,我负责复现与验收,Codex 协助完成代码分析、实现和自动化测试,最终由项目维护者审查和决定合并。

项目维护与开发者响应

让我愿意继续使用和介绍 Clew 的另一个原因,是维护者对实际问题的处理方式。

第一个 PR 涉及转发路径、UDP 和 Windows DNS 恢复。维护者逐项复现和核对,不仅审查修复本身,还发现了 UDP 策略快照中的潜在并发风险,并在合并后继续完成后续设计调整。第二个界面 PR 也经过自动代码检查和审核后合并。

至少从这两次贡献经历和近期版本更新看,Clew 目前仍是一个由真实使用需求推动、维护者持续响应的活跃项目。对于涉及进程、驱动、TCP/UDP 和系统 DNS 的工具,这种复现、测试、审查和后续完善的流程很重要。

下载与使用

官方仓库:

https://github.com/ymonster/clew-proxy

当前官方版本:Clew v0.9.5

https://github.com/ymonster/clew-proxy/releases/tag/v0.9.5

基本步骤:

  1. 从官方 Releases 下载 ZIP 并解压。
  2. 运行 clew.exe,接受管理员权限请求。
  3. 在 Proxies 页面把代理组指向已有的 SOCKS5 地址。
  4. 在 Rules 页面添加目标程序,按需要启用 Hack tree,并选择 TCP、UDP 或 Both。
  5. 在 Network Activities 中观察实际连接是否按预期代理或直连。

费用、注册与许可

  • Clew 免费、开源,不需要注册或登录。
  • 项目采用 MIT License。
  • 当前只支持 Windows;IPv4 CIDR 排除及 DNS 相关能力不要直接推断为 IPv6 支持。

本文界面图片来自 Clew 官方仓库。

2 个赞