Clash: Feature request: transparent proxy redirector

Created on 9 Jul 2018  ·  18Comments  ·  Source: Dreamacro/clash

Most helpful comment

@soffchen
这个项目开始做的意图就是替代我现在用的 Spechtlite,毕竟由于作者的意愿,不愿意再更新 ss 后续的算法(如 AEAD),至于后面还做不做 ssr 的适配,得看用的人多不多了,我的看法其实和 Spechtlite 和 Surge 作者的想法类似,不太喜欢 ssr。

至于 Surge,我真的不认为它值 50 刀,所以这个项目最初的目的是做一个 macOS 上我觉得最好用的代理。 因为是 Golang 的缘故,我把它做成全平台性质的项目。目前在尝试使用 Electron 做 GUI 部分,有点和 Golang 一样,可以直接跨平台,缺点是生成的编译结果太大了。

目前的规划是先把 RESTful Controller 补全,加上 UDP 支持,先完善后在考虑拓展功能的问题。

All 18 comments

@soffchen 透明代理是一个很好的功能,但有很多问题不得不考虑

首先要实现让流量导向 clash,这里三端都不太相同: macOS 是用 pf,Linux 是 iptables,Windows 不是很清楚

但是 clash 的初衷是作为一个全平台代理,所以在考虑新功能时会考虑让三个平台都支持,比如控制 clash 最后选择的是 RESTful 而不是 Unix Socket

如果要实现的话需要为三个平台写兼容代码,但我更倾向于把它加到 GUI 要实现的部分,clash 作为一个纯粹的代理

关于这点我还需要想想

个人建议优先支持 linux only 就可以,本项目的定位可以偏向于 linux 翻墙网关用

至于带 gui 的 app,可以有 SpechtLite, Surge 等项目来完成 :)

当然,也可以由 redsocks, gost 等项目来实现透明代理功能。

@soffchen
这个项目开始做的意图就是替代我现在用的 Spechtlite,毕竟由于作者的意愿,不愿意再更新 ss 后续的算法(如 AEAD),至于后面还做不做 ssr 的适配,得看用的人多不多了,我的看法其实和 Spechtlite 和 Surge 作者的想法类似,不太喜欢 ssr。

至于 Surge,我真的不认为它值 50 刀,所以这个项目最初的目的是做一个 macOS 上我觉得最好用的代理。 因为是 Golang 的缘故,我把它做成全平台性质的项目。目前在尝试使用 Electron 做 GUI 部分,有点和 Golang 一样,可以直接跨平台,缺点是生成的编译结果太大了。

目前的规划是先把 RESTful Controller 补全,加上 UDP 支持,先完善后在考虑拓展功能的问题。

现在 dev 版本支持了 macOS 以及 Linux 的 IPv4 redir 代理,会在最近 release 一个版本。

请问这个feature目前进展如何?我看到配置文件里有redir port的选项,但是如何配合macOS的pf使用呢??

@tony1016 现在的话可以参考 https://docs.mitmproxy.org/stable/howto-transparent/ ,之后的话应该是应用于类似 surge 的增强模式。

我几天前照着 mitmproxy 的文档配置了一下,mitmproxy 可以工作,但是 clash 不能,@Dreamacro 确认可以工作吗?

目测虽然支持 redir,但是 redirector 过来的只有 ip 信息,可能不能处理域名规则?

@soffchen 好像不行,后续应该会通过 Custom DNS Server 处理这个问题

@soffchen 好像不行,后续应该会通过 Custom DNS Server 处理这个问题

glider 的做法是内建 dns,客户端 dns 解析触发建立 domain-> ip 的映射,然后对这些解析出来的 ip 使用对应的 domain 规则。

还有一种做法就是 fake dns 了

目前在本地开 (output链) 会比较困难区分出来自 clash 的流量和应用的流量,导致包被循环转发。
类似 ss redir 这种因为规则是在 iptables 配置的,可以保证 redirect 进去的包全都走代理,根据目标 ip 区分出来。
请问下这种情况下有什么好的方法区分吗,谢谢

update:看起来网上比较推荐的方案是把应用启动在另一个 uid,再根据 iptables 的 uid 功能区分

个人认为如果将来能适配ssr,将会彻底取代除手机平台上的绝大多数客户端,终将一统江湖…毕竟ssr用户数量可能非常庞大,因单端口多用户等特性被大量机场采用。还望作者能考虑以后能加入,虽然个人也不太喜欢ssr…但群众基础也会带动其它方面发展,比如gui

@yulewang ssr 是不可能的,个人原因不会支持,不会合相关 PR

请问ssr有什么不好的地方么?会让你们不喜欢。我纯粹小白,求指点和学习

请问ssr有什么不好的地方么?会让你们不喜欢。我纯粹小白,求指点和学习

有人喜欢 vi,有人喜欢 emacs,没有为什么,哈

我查到了哈,我大概知道事情的原委了。互联网真的到处有痕迹。其实本来挺诧异为什么就兼容ssr的。现在明白啦~谢谢哦

目前可以用redsocks将UDP流量打向Clash的Socks5端口,实现UDP的透明代理吗?求指教 @soffchen

Was this page helpful?
0 / 5 - 0 ratings

Related issues

luvletter2333 picture luvletter2333  ·  5Comments

wangxin6 picture wangxin6  ·  4Comments

h0cheung picture h0cheung  ·  6Comments

Tsahao picture Tsahao  ·  4Comments

mumeblossom picture mumeblossom  ·  5Comments