Total Pageviews

Thursday 26 July 2018

利用node-socks5翻墙

登陆linux vps.
先搭建nodejs环境。然后,
git clone https://github.com/Kyoloro/node-socks5
cd  node-socks5

root@umh:~/node-socks5# ls
LICENSE  config.js  main.js  media  readme.md  socks5  util
root@umh:~/node-socks5# nano config.js
(把port的值1080改为其他值,比如27780,最好是5位数。否则在电脑上可翻墙,在ios的wingy里,设置的服务器的端口号为4位数的话,翻墙会失败
root@umh:~/node-socks5# node main.js

不过node main.js是运行在前台的,容易退出。我们可利用systemd来把node main.js运行为service:
nano /etc/systemd/system/node-socks5.service
内容为:
[Unit]
After=network.target

[Service]
WorkingDirectory=/root/node-socks5/
ExecStart=/usr/bin/node main.js
Restart=always

[Install]
WantedBy=multi-user.target


然后运行: 
systemctl start  node-socks5
systemctl enable node-socks5
服务器端就搭建好了。

在本地机器上。以firefox为例。
设置ff的socks5代理服务器地址为vps-ip:1090 ,还要设置ff的dns解析为远程dns解析。
这样,ff即可翻墙。用node-socks5可以流畅打开www.youtube.com,这点比python-proxy强。
注:当然也可利用chrome+switchyomega来打开www.youtube.com。
chrome+switchyomega其实比ff更好用,更能抗‘dns污染’所以强烈建议在chrome+switchyomega里使用node-socks5。

项目地址:https://github.com/Kyoloro/node-socks5


类似的项目:https://briteming.blogspot.com/2018/07/python-proxy.html

注:通常,明文的http proxy程序是不能用来直接翻墙的,比如tinyproxy,squid.
明文的socks proxy程序是可以用来直接翻墙的,比如此文
https://briteming.blogspot.com/2012/02/socks-servertor-browser.html里说的那些socks proxy server程序和https://briteming.blogspot.com/2017/06/socks5-socks5.html里说的那个socks5代理服务器程序-socks5都是能用来直接翻墙的。

这里的node-socks5能够用来直接翻墙:
https://github.com/Kyoloro/node-socks5/issues/1

No comments:

Post a Comment