将WireGuard异地组网集成到Clash中
在前文《在 OpenWRT 上使用 WireGuard 异地组网》和《使用wg-easy更简单的在群晖(Linux)上搭建WireGuard》中我们主要讲解了 WireGuard 「服务端」的搭建流程,其中对「客户端」的使用都是一笔带过。
原因无它,两种方法都可以直接生成「客户端」的配置文件,且客户端操作简单,基本处于开箱即用状态,对于大多数人来说已经足够使用。
但如果你和我一样,手机需要长期挂载 VPN 模式的 Clash,但同时也是回家 WireGuard VPN 的重度用户,你就会发现 Android 手机并不支持同时开启两个 VPN,而不断在 Clash 和 WireGuard 之前切换也是一个令人恼火的事情。
类似的冲突也会发生在 PC 的 TUN 模式上。
有关 Clash 配置
我其实并不太会编写 Clash 配置,之前都是直接订阅链接解决问题,据我所知 Clash 配置文件似乎有多种格式,不同格式有一定差异,但是配置内容相差不大。
本人不对任何机场做任何推广,因此不会透露使用机场的名称,也请不要从任何方式联系我获取机场细节。
具体步骤
我的机场使用 .yaml
格式的配置文件。想要将 WireGuard 作为一个节点加入 Clash 配置,我们需要进行如下修改。
添加 proxies
在 .yaml
中的 proxies
添加如下内容:
yaml
- name: WireGuard
type: wireguard
server: <your_wg_ip/domain>
port: "<your_wg_port>"
udp: true
ip: "<your_wg_ip>"
private-key: "<your-private-key>"
public-key: "<peer-public-key>"
pre-shared-key: "<peer-pre-shared-key>"
remote-dns-resolve: true
添加 proxy-groups
在 .yaml
中的 proxy-groups
添加如下内容:
yaml
- name: MyHome
type: select
proxies:
- DIRECT
- WireGuard
DIRECT
是我配置文件中提供的一个「直连节点」,大多数机场的配置文件都会提供,但是个别机场的「直连节点」名称可能不同。
添加 rules
在 .yaml
中的 rules
添加如下内容:
yaml
- IP-CIDR,192.168.0.0/24,MyHome
假设家庭局域网网段是
192.168.0.0/24
,请根据个人情况修改。