自建游戏加速器:udp2raw+tinyfecvpn+shadowsocks

如果你要用这套配置的话需要满足以下两个条件:

1.本地有一台运行Debian的虚拟机,用来跑udp2raw的客户端。我是在常年都不关机的NAS上用Proxmox开了一台小鸡部署的。

2.虚拟机的网络是桥接模式,也就是和你要玩游戏的电脑在同一个网段内,比如下面的配置,虚拟机IP是192.168.0.11,电脑IP是192.168.0.199。两边能够互相PING通就OK了。

首先在VPS上安装需要用到的工具:

apt -y update
apt -y install snapd supervisor

使用snap安装最新版的shadowsocks:

snap install core
snap install shadowsocks-libev --edge

设置supervisor开机自启:

systemctl enable --now supervisor

新建一个shadowsocks配置文件:

nano /var/snap/shadowsocks-libev/common/etc/shadowsocks-libev/config.json

写入如下配置:

{
    "server":"0.0.0.0",
    "mode":"tcp_and_udp",
    "server_port":9999,
    "local_port":1080,
    "password":"password",
    "timeout":60,
    "method":"chacha20-ietf-poly1305"
}

注:shadowsocks的端口监听在9999,修改password为你的密码。

新建supervisor配置文件,用于守护shadowsocks进程:

nano /etc/supervisor/conf.d/shadowsocks-libev.conf

写入如下配置:

[program:shadowsocks]
priority=1
command=/usr/bin/snap run shadowsocks-libev.ss-server -c /var/snap/shadowsocks-libev/common/etc/shadowsocks-libev/config.json
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/shadowsocks.log

启动shadowsocks:

supervisorctl update

下载解压tinyfecvpn/udp2raw的预编译文件:

cd /opt && mkdir -p tinyfecvpn udp2raw
cd tinyfecvpn
wget https://github.com/wangyu-/tinyfecVPN/releases/download/20180820.0/tinyvpn_binaries.tar.gz
tar -xzvf tinyvpn_binaries.tar.gz
cd ../udp2raw
wget https://github.com/wangyu-/udp2raw-tunnel/releases/download/20200818.0/udp2raw_binaries.tar.gz
tar -xzvf udp2raw_binaries.tar.gz

新建supervisor配置文件,用于守护tinyfecvpn进程:

nano /etc/supervisor/conf.d/tinyfecvpn.conf

写入如下配置:

[program:tinyfecvpn]
priority=1
directory=/opt/tinyfecvpn
command=/opt/tinyfecvpn/tinyvpn_amd64 -s -l 127.0.0.1:7777 --sub-net 10.222.2.0 --tun-dev tun100 -k "password" -f 1:5 --timeout 0 --mode 1 --mtu 1250 --tun-mtu 1250
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/tinyfecvpn.log

注:

1.tinyfecvpn监听在7777端口,-k后面的password修改为你的密码。

2.-f后面的参数我配置的比较暴力,因为我这个机器的线路非常拉跨,我调整了很多次这个参数,最后1:5是最符合我这个机器线路的。这个东西需要根据你自身的实际情况来改变,文章后面我会简单说一下如何调整。

启动tinyfecvpn:

supervisorctl update

新建supervisor配置文件,用于守护udp2raw进程:

nano /etc/supervisor/conf.d/udp2raw.conf

写入如下配置:

[program:udp2raw]
priority=1
directory=/opt/udp2raw
command=/opt/udp2raw/udp2raw_amd64 -s -l 0.0.0.0:6666 -r 127.0.0.1:7777 --raw-mode faketcp --cipher-mode none -a -k "password"
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/udp2raw.log

注:

1.udp2raw监听在6666端口,-r后面的端口要和tinyfecvpn监听的端口一致。-k后面的password修改为你的密码。

2.因为shadowsocks本身就有加密了,这里的udp2raw没有配置加密。

启动udp2raw:

supervisorctl update

服务端至此全部配置完毕。接下来是客户端的配置。

客户端和服务端都是Debian系统,所以这里你也需要在客户端上下载解压udp2raw/tinyfecvpn以及安装supervisor,步骤和服务端一致这里就不重复了。

假设你的udp2raw/tinyfecvpn/supervisor都已准备好。

现在新建supervisor配置文件,用于守护udp2raw的客户端进程:

nano /etc/supervisor/conf.d/udp2raw.conf

写入如下配置:

[program:udp2raw]
priority=1
directory=/opt/udp2raw
command=/opt/udp2raw/udp2raw_amd64 -c -r VPSIP:6666 -l 127.0.0.1:8888 --raw-mode faketcp --cipher-mode none -a -k "password"
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/udp2raw.log

注:

1.VPSIP换成你的服务器IP,6666端口是服务端udp2raw所监听的端口,-k后面的密码需要与服务端配置的保持一致。

2.8888端口是udp2raw在本地的监听端口,可以随便起一个端口,只要没有被占用即可。

启动udp2raw的客户端:

supervisorctl update

新建supervisor配置文件,用于守护tinyfecvpn的客户端进程:

nano /etc/supervisor/conf.d/tinyfecvpn.conf

写入如下配置:

[program:tinyfecvpn]
priority=1
directory=/opt/tinyfecvpn
command=/opt/tinyfecvpn/tinyvpn_amd64 -c -r 127.0.0.1:8888 --sub-net 10.222.2.0 --tun-dev tun100 --keep-reconnect -k "password" -f 1:5 --timeout 0 --mode 1 --mtu 1250 --tun-mtu 1250
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/tinyfecvpn.log

注:

1.-f后面的参数以及-k后面的密码需要与服务端配置的保持一致。

2.-r的8888端口需要与udp2raw在本地监听的端口一致。

启动tinyfecvpn的客户端:

supervisorctl update

接着在客户端上下载解压tinymapper:

mkdir -p /opt/tinymapper && cd /opt/tinymapper
wget https://github.com/wangyu-/tinyPortMapper/releases/download/20200818.0/tinymapper_binaries.tar.gz
tar -xzvf tinymapper_binaries.tar.gz

新建supervisor配置文件,用于守护tinymapper进程:

nano /etc/supervisor/conf.d/tinymapper.conf

写入如下配置:

[program:tinymapper]
priority=1
directory=/opt/tinymapper
command=/opt/tinymapper/tinymapper_amd64 -l 0.0.0.0:10800 -r 10.222.2.1:9999 -t -u
autostart=true
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor/tinymapper.log

注:

1.-r后面的IP地址不能变,因为我们之前配置的tinyfecvpn的IP段用的就是这个。你这里要改的话,前面的配置都需要改。

2.9999端口是你的shadowsocks服务端口。

3.10800是转发到这台虚拟机的端口,也就是说待会我们连接这台虚拟机的IP:10800就等于是连接服务器上shadowsocks的9999端口。

启动tinymapper:

supervisorctl update

现在所有配置就大功告成了,我们在电脑上配置shadowsocks的连接信息即可,密码和加密方式保持和服务端一致,只需要把IP地址和端口改成192.168.0.11 / 10800

    发表回复

    电子邮件地址不会被公开。必填项已用 * 标注