使用 docker 运行 clash 作为旁路由

286 天前
 A01514035

刚刚看到论坛里有人在问 ubuntu 旁路由 clash 的问题,正好我自己就是使用 docker 运行 clash 作为局域网中的旁路由使用的,配合网页 UI 进行管理,非常的丝滑好用。主要是利用 docker+macvlan+clash(mihomo)+iptables 来实现的旁路由功能。 https://github.com/UntaggedRui/clashindocker

制作 docker 镜像并创建容器

获取代码

git clone https://github.com/UntaggedRui/clashindocker
cd clashindocker
cp example.yml config.yml

更改地址 docker-compose.yml 中的 ipv4_address 为你的 ip 地址.

更改 config.yml 中的 proxy-provider 的 url 为你的机场订阅地址.

启动容器

docker compose up -d 假设你的 docker 容器 ip 地址为 192.168.3.23. 通过 http://192.168.3.23:9090/ui/可以管理 clash,进行切换节点等.后端地址为 http://192.168.3.23:9090/,密码为 yourpassword.

在同一个局域网下,将其他机器的网关设置为 192.168.3.23 就可以实现该机器的所有流量都经过 clash,并且根据 clash 的规则进行分流.

12018 次点击
所在节点    Linux
53 条回复
A01514035
283 天前
@danshan 我目前用的 substore( https://hub.docker.com/r/xream/sub-store)来整合订阅的,在配合 clash 里的 filter 和 surge 里面的 policy-regex-filter 来提取出需要的节点,也很方便。
A01514035
283 天前
@seers 听取了 29 楼的意见,采用了 tun 模式,单文件也没有什么依赖和散布在各地的文件,所以直接宿主机运行了。
yyysuo
283 天前
目前是借鉴 paopao 的思路,主路由跑 mosdns 分流 ,国内直出,国外给 sing-box vm 返回 fakeip ,主路由添加静态路由,转发 fakeip 段、国外 dns ip 、电报 ip 到 sing-box vm 。国内真直连,暴爽。
thadyo
281 天前
想请教下楼主,通过 gateway 连接 docker macnet 的代理方式,跟直接在服务器上安装 clash 做 vps ,然后直接通过代理 ip:port 的方式这二者有什么区别?单纯好奇想了解一下。
DD0a48YwCzYUCQ8y
281 天前
感谢分享,希望在项目下标明下,适合的架构和系统,我用的 arm64 架构的启动失败,怀疑包没有适配
A01514035
281 天前
@yongso 好的,稍后补充,我没有 arm 设备,用的都是 x86 设备。
A01514035
281 天前
@thadyo 前者是透明代理,所有的流量都经过 clash 。后者是 socks5 代理或者 http 代理,只有遵循系统代理的应用才会走代理。例如 docker pull 等命令你直接通过 IP:PORT 的方式是没法走代理的得修改 dockerd 的配置才行。但是用 gateway 连接 docker macnet 的代理方式可以让 docker pull 走代理。
DD0a48YwCzYUCQ8y
280 天前
@A01514035 感谢大佬,研究了下,不用 iptables 就行,最新的 clash 用 tun 模式直接🛫了,就是`config`文件有点麻烦,还好,通过互联网也给搞定了,大佬的分组感觉有点少,找了网上 dns 分流+黑名单模式,🛫了
A01514035
280 天前
@yongso #48 是的,我的方式二 就是 tun 模式。 分流我是根据自己的需求写的简单的,因为我都是垃圾机场没有什么奈非节点。。。可以自己稍微改造下就行。
thadyo
274 天前
@A01514035 了解啦,感谢。
yikyo
214 天前
@A01514035 请教对于 TG 直接使用 IP 进行连接,您的方案可以直接代理吗?有需要特殊处理的地方吗
JusticeLanding
101 天前
为什么我的 debian 里装了个 openwrt 的 docker ,openwrt 网关指向主路由,openclash 配好了。手机笔记本网关指向 openwrt 能正常魔法。debian 的网关改成 openwrt 的 IP ,debian 上不了网? debian 要怎么设置?
halida
28 天前
项目没有了?有人推荐一个傻瓜式 docker compose up ,后面设置 ss 服务器就可以跑的配置吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1015815

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX