登陆linux vps,首先安装go环境,然后,
git clone https://github.com/nvksie/tlsSocks5 tlsSocks5-by-nvksie
cd tlsSocks5-by-nvksie
go build server.go
就会在当前目录下,得到可执行文件server。
./server -newConfig
就会在当前目录下,生成配置文件server_config.json
然后,先回到本地机器,设置域名mydomain.com, 指向服务器的公网ip.
然后,回到linux vps里的~/tlsSocks5-by-nvksie目录,运行:
openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout private.key -out public.crt
在common name那步,输入mydomain.com 然后回车。其他步骤,一律直接回车。即可在当前目录下,生成public.crt和private.key.
nano server_config.json
cat server_config.json
{
"listen": "0.0.0.0:7443",
"local_http": "127.0.0.1:80",
"ipv6": false,
"tls": [
{
"cert": "public.crt",
"key": "private.key"
}
],
"auth": [
{
"username": "my-username",
"password": "my-password"
}
]
}
然后运行:
./server -config server_config.json
不过此命令 是运行在前台的,我们可以利用systemd把它运行为service:
nano /etc/systemd/system/tlsSocks5-by-nvksie.service
cat /etc/systemd/system/tlsSocks5-by-nvksie.service
[Unit]
After=network.target
[Service]
WorkingDirectory=/root/tlsSocks5-by-nvksie/
ExecStart=/root/tlsSocks5-by-nvksie/server -config /root/tlsSocks5-by-nvksie/server_config.json
Restart=always
[Install]
WantedBy=multi-user.target
然后运行:
systemctl start tlsSocks5-by-nvksie
systemctl enable tlsSocks5-by-nvksie
服务器端搭建完成。
在客户机器mac上。首先安装go环境,然后,
git clone https://github.com/nvksie/tlsSocks5 tlsSocks5-by-nvksie
cd tlsSocks5-by-nvksie
go build client.go
就会在当前目录下,得到可执行文件client。
./client -newConfig
就会在当前目录下,生成配置文件client_config.json
nano client_config.json
cat client_config.json
{
"remote": "vps-public-ip:7443",
"local": "127.0.0.1:10085",
"servername": "mydomain.com",
"skipVerifyCert": true,
"username": "my-username",
"password": "my-password"
}
注意: "skipVerifyCert"的值必须设为true,即跳过核实证书,即不核实证书,因为服务器上用的是自签名证书。如果服务器上用的是付费证书或从letsencrypt.org申请的证书,则"skipVerifyCert"的值可设为false.
然后运行:
./client -config client_config.json
不要关闭此终端,设置浏览器的socks5 proxy的地址为127.0.0.1 ,端口为10085 ,浏览器即可翻墙。
项目地址:https://github.com/nvksie/tlsSocks5
类似的项目:https://briteming.blogspot.com/2021/06/jackpot.html
No comments:
Post a Comment