通过 Docker 快速将 openvpn 转换成本地内网可用的 SOCKS 代理后,你就可以使用 Proxy.pac、浏览器的插件 SwitchyOmega 或者 surge……等等
来达到自由的代理模式,例如你可以设置国内外分流,也可以设置 Netflix 域名时,就通过日本代理线路,遇到 Disney+ 时候,就通过美国代理线路,遇到没有设置的域名,就还是维持你原本的网络去上网
全自动无需每次都要手动开关 VPN,非常的方便
教程
下载 OpenVPN.ovpn 配置文件
首先先到 DUN.IM PANEL 下载 .ovpn 配置文件,或者通过客服获取需要的国家跟协议
可以多选几个常用国家一起下载,每个国家都会是独立的 ovpn 文件
下载的文件请妥善保存,稍等要把这文件挂入 Docker 里面
利用 Docker 快速部署
在 Docker Hub 上面找到有人实作的现成 image
测试一下,只要照着说明填入对应的路径与名称即可
需要详细使用说明可以去看源代码: https://github.com/binhex/arch-privoxyvpn
适合多数配置的 Docker 命令如下〔只启动 SOCKS、关闭 Privoxy〕
docker run -d \
--cap-add=NET_ADMIN \
-p 9118:9118 --restart=always \
--name=ovpn2socks-name \
-v /path/to/your/openvpn.ovpn:/config/openvpn/openvpn.ovpn \
-v /etc/localtime:/etc/localtime:ro \
-e VPN_ENABLED=yes \
-e VPN_PROV=custom \
-e VPN_CLIENT=openvpn \
-e LAN_NETWORK=192.168.1.0/24 \
-e NAME_SERVERS=1.1.1.1,8.8.8.8 \
-e SOCKS_USER=username \
-e SOCKS_PASS=password \
-e ENABLE_SOCKS=yes \
-e ENABLE_PRIVOXY=no \
-e DEBUG=false \
-e UMASK=000 \
-e PUID=0 \
-e PGID=0 \
binhex/arch-privoxyvpn
如上,有以上几行设置请按需修改
- 第 3 行:映射的端口也就是 SOCKS 连线会用到的,如果你打算开多个的话,记得把数字跳开
- 第 4 行:容器的名称,请自己随意取自己能一眼辨识出的名字即可
- 第 5 行:对应到刚刚下载回来的 OpenVPN.ovpn 文件路径
- 第 10 行:请改为你自己内部网络的 IP 段
- 第 11 行:使用的 DNS 服务器
- 第 12、13 行:SOCKS 连线使用时需要验证的账号跟密码
以上修改为自己设置后,全部复制起来,全部粘贴到已经安装好 Docker 的主机上
按下 Enter 马上跑起来,稍等十几秒等待容器建立 OpenVPN 连线后,即可开始使用
如果你想要同时建立多条线路的话,只要修改不同 ovpn 文件路径并把容器名称跟端口错开
即可轻松同时建立多条线路,但你要注意一下不要超过同时在线数量的限制
每一个 OpenVPN 连线都会建立一个独立 Docker 容器
SwitchyOmega 设置
Docker 帮你自动连好 OpenVPN 与搭好 SOCKS 代理后
接下来我们使用其他代理软件就能轻松通过我们搭好的隧道上网了
首先打开 SwitchyOmega 的设置窗口,准备新增一个新的 Profile
接着随便取个名字与选好 Proxy Profile
如下图填好各字段的资料,请根据自己前面设置的环境去修改
我们上面 SOCKS 代理有加验证所以上图第 4 步骤要填账号跟密码
记得 Apply 保存一下设置即可
想要自动根据域名来切换各国家代理的话,可以依照下图标例
上图只是示例,照抄不一定有效,请根据自己需求与实际域名修改
至此就完成所有设置咯!如此轻松就能将 OpenVPN 转成本地内网 SOCKS 代理
想要更高级的玩法可以自己尝试摸索唷! ?