wireproxy实现wireguard转socket代理实战
laohaibao666
编辑于 2024年03月09日 02:12

平时工作和学习中我们会遇到科学上网的需求,目前我们可以通过warp+结合wireguard来实现VPN拨号上网,不过拨号上网后本地的网络就直接变成国外的网络,因为wireguard没有网络分流功能,这样我们在访问国内网络又会变的非常慢。有没有办法实现类似v2rayN或者clash 类似软件来实现网络分流(国内网络走国内,国外网络走代理)?今天就给大家介绍wireproxy 变现实现以上功能。

使用到相关软件

   v2rayN

   wireproxy

  操作系统(centos7.9)

  warp+公钥和私钥

下面我们具体介绍一下如何实现。

  1. 安装wireproxy 我们需要在linux 服务器中安装wireproxy ,wireproxy下载地址:https://github.com/pufferffish/wireproxy/releases下载wireproxy_linux_amd64.tar.gz  地址https://github.com/pufferffish/wireproxy/releases/download/v1.0.7/wireproxy_linux_amd64.tar.gz (根据使用安装的操作系统对应的版本)

将以上下载的软件 解压到linux 服务器中

wget https://mirror.ghproxy.com//https://github.com/pufferffish/wireproxy/releases/download/v1.0.7/wireproxy_linux_amd64.tar.gz 

下载完成后我们可以看到wireproxy_linux_amd64.tar.gz 压缩包

解压缩

tar -xvf wireproxy_linux_amd64.tar.gz 

2. 修改配置wgcf-profile.conf

 我们需要将要wgcf-profile.conf 复制到上图文件夹中,修改增加socket 配置部分。修改后完成的配置文件如下

[Interface]

PrivateKey = XXXX

Address = 172.16.0.2/32, 2606:4700:110:83c1:df1f:5549:1ad:c887/128

DNS = 1.1.1.1

MTU = 1280

[Peer]

PublicKey = XXX

AllowedIPs = 0.0.0.0/0, ::/0

Endpoint = 162.159.192.82:8742

[Socks5]

BindAddress = 0.0.0.0:12345

这里需要解释一下[Interface] 和 [Peer] 属于wireguard 相关配置文件。详细wireguard  配置可以参考https://zhuanlan.zhihu.com/p/566892816?utm_id=0

补充说一下因为我们这里是用到wireproxy 协议转化 所以增加了

[Socks5]

BindAddress = 0.0.0.0:12345

 这里很好理解就是wireguard 客户端连接远程wireguard 服务端(我们这里用到cloudfare warp+ 分配公钥和私钥,关于这里如何获取这篇文章就不详细展开了),增加Socks5只是负责Socks5代理转发使用,占用了12345 socket分配端口,这里端口可以随便只要不和已经分配端口冲突即可。

     将修改好的wgcf-profile.conf  复制到当前wireproxy 解压当前目录下,我的是 /home/wireproxy

3.启动wireproxy 代理

./wireproxy -c wgcf-profile.conf 

或者使用nohup 启动

nohup ./wireproxy -c wgcf-profile.conf > nohup.log &

看到如上画面说明启动完成。

4.验证测试

我们启动电脑v2rayN,关于v2rayN 软件可以在github下载,地址:https://github.com/2dust/v2rayN

添加配置socket

服务器-》添加socket 服务器

参考以上方式完成设置。

以上配置完成后,我们使用网络跟踪 IP 查询 https://ip.skk.moe/

通过网络跟踪是可以访问到国外网站的。我们测试一下 https://huggingface.co/(国外网站,国内访问不了)

通过以上方式是可以通过wireproxy 转socket 从而实现网络分流。