提出这种需求的背景是因为: 基于目前大陆的复杂网络环境,没有人可以真正做到:
在任何运营商环境都能高速翻墙,绝对没有! 那些声称能够在任何网络环境都能流畅看1080P的, 都绝对是吹牛b。
而且锐速加速实际效果非常有限,根本难有实质性的帮助。 就算中国移动这种网络,现在也是江河日下,国际带宽要么缩水, 要么极度不稳定。 像长城宽带这种第三方的ISP更是翻墙极度困难。
所以,没有人能够真正做到在全平台,全网络环境都做到高速翻墙。 没有人能真正做到这点!
但是是不是真的没有办法呢? 当然不是,经过我观察,有一家的SS服务可以做到这点, 连长宽都可以高速越墙.那就是shadowsocks.com.
它真正做到了全平台,全网络环境的高速翻越, 电信的选择美国线路即可,其他运营商你们可以自己去试, 我这里就不多说了。
但是它有个致命的缺点,就是不能访问新唐人之类的敏感网站, 后端被nginx的规则阻断了,这一点非常恶心。
解决的办法有两种:
第一种(不推荐): 用tor做中转: 具体来讲,就是在torrc里面加入; socks5proxy 127.0.0.1 ,然后浏览器调用浏览器的9050端口即可。
这种情况的网络路由是: 本机9050的tor端口=》本机 1080端口=》SS服务器=》tor 入口节点=》tor中间节点=》tor 出口节点=》目标网站, 然后按这种路径返回。
这种情况,SS服务器看到的目标网站ip的tor的节点, 从而不会阻断传送。
但是由于tor主要是用来匿名的, 这种浪费tor的带宽的做法不推荐。
第二种方法: 利用gost tunnel的多级代理转发进行嵌套:
项目地址: https://github.com/ginuerzh/ gost
我必须承认这个程序员的确非常厉害, 利用简短的go代码能够创建链式的代理嵌套,堪称天才程序员。
前提: 你必须有一个VPS, 最便宜的班瓦工就可以: 因为只需要你的VPS能够跟前面的SS服务器能高速通信即可。
首先在VPS上部署gost tunnel:
wget https://github.com/ginuerzh/ gost/releases/download/v2.2- rc1/gost_2.2-rc1_linux_amd64. tar.gz
tar -xvf gost_2.2-rc1_linux_amd64.tar. gz
nohup ./gost -L=socks://:2020 &
表示vps服务端监听在2020端口。
然后本机同样下载gost tunnel,
解压以后依次运行:
1. sslocal -c ss配置文件名.json //链接到第一层SS服务器
2. ./gost -L=:1010 -F=socks://127.0.0.1:1080 -F=socks://VPS IP:2020
// 通过第一层SS服务器嵌套连接到自己VPS的远程2020端口, 本机在1010端口监听。
那么本机调用http: 127.0.0.1: 1010端口就可以访问那些被SS服务器禁用的敏感网站了。
这种情况的网络路由是: 本机gost监听端口=》本机 1080端口=》SS服务器=》VPS服务器=》目标网站。 然后按原路返回给本机
这种情况,SS服务器看到的目标网站是你自己VPS的IP, 它并不清楚中间传送的内容和最终目标IP(gost socks两端会默认进行进行加密),从而不会阻断传送。
有人说: 那还不如直接把SS作为GAE的代理,我不建议这么做: GAE的先天机制决定了: 这种非透明的代理注定了会出现各种各样的问题, 没有人能把它做的很完美。 况且现在还没有真正非常牛逼的程序员能把GAE做的非常好, 我也最近很烦GAE代理,具体原因不想解释, 从今以后也绝不会再用GAE代理。
回到前面的话题,这种嵌套代理还可以引申出一种新的思路: 国内VPS中转海外VPS。 海外VPS不需要很高速, 只需要能够跟国内的VPS高速通讯即可, 这意味着你只要买像班瓦工工这样便宜的VPS就可以了, 但是国内的VPS的有点贵: 想阿里云这种真的非常贵,得想办法搞到便宜的国内VPS。
本机gost监听端口=》本机 1080端口=》国内VPS=》海外VPS=》目标网站。 然后按原路返回给本机。
这里的假想前提是: SS是部署在国内VPS上的,gost是部署在海外VPS上的。
当然也可以国内和海外VPS都部署gost,这时的网络路由是:
本机gost监听端口=》国内VPS gost远程监听端口=》海外VPS远程监听端口=》目标网站。 然后按原路返回给本机。
服务器端的部署(举例):
1. 海外VPS:
nohup ./gost -L=socks://:3030 &
2. 国内VPS:
nohup ./gost -L=socks://:2020 &
3. 本机客户端:
./gost -L=:1010 -F=socks://国内VPS IP:2020 -F=socks://海外VPS IP:3030
本地监听在1010端口,本地调用http: 127.0.0.1:1010代理即可。
多层代理的思路会有点复杂,超过二层以上的嵌套, 脑袋估计会转不过来,二层代理嵌套基本还可以接受。
以上就是关于多层嵌套代理的基本用法,希望对各位有所帮助.
而且锐速加速实际效果非常有限,根本难有实质性的帮助。
所以,没有人能够真正做到在全平台,全网络环境都做到高速翻墙。
但是是不是真的没有办法呢? 当然不是,经过我观察,有一家的SS服务可以做到这点,
它真正做到了全平台,全网络环境的高速翻越,
但是它有个致命的缺点,就是不能访问新唐人之类的敏感网站,
解决的办法有两种:
第一种(不推荐): 用tor做中转: 具体来讲,就是在torrc里面加入; socks5proxy 127.0.0.1 ,然后浏览器调用浏览器的9050端口即可。
这种情况的网络路由是: 本机9050的tor端口=》本机 1080端口=》SS服务器=》tor 入口节点=》tor中间节点=》tor 出口节点=》目标网站, 然后按这种路径返回。
这种情况,SS服务器看到的目标网站ip的tor的节点,
但是由于tor主要是用来匿名的,
第二种方法: 利用gost tunnel的多级代理转发进行嵌套:
项目地址: https://github.com/ginuerzh/
我必须承认这个程序员的确非常厉害,
前提: 你必须有一个VPS, 最便宜的班瓦工就可以: 因为只需要你的VPS能够跟前面的SS服务器能高速通信即可。
首先在VPS上部署gost tunnel:
wget https://github.com/ginuerzh/
tar -xvf gost_2.2-rc1_linux_amd64.tar.
nohup ./gost -L=socks://:2020 &
表示vps服务端监听在2020端口。
然后本机同样下载gost tunnel,
解压以后依次运行:
1. sslocal -c ss配置文件名.json //链接到第一层SS服务器
2. ./gost -L=:1010 -F=socks://127.0.0.1:1080 -F=socks://VPS IP:2020
//
那么本机调用http: 127.0.0.1: 1010端口就可以访问那些被SS服务器禁用的敏感网站了。
这种情况的网络路由是: 本机gost监听端口=》本机 1080端口=》SS服务器=》VPS服务器=》目标网站。
这种情况,SS服务器看到的目标网站是你自己VPS的IP, 它并不清楚中间传送的内容和最终目标IP(gost socks两端会默认进行进行加密),从而不会阻断传送。
有人说: 那还不如直接把SS作为GAE的代理,我不建议这么做: GAE的先天机制决定了: 这种非透明的代理注定了会出现各种各样的问题,
回到前面的话题,这种嵌套代理还可以引申出一种新的思路: 国内VPS中转海外VPS。 海外VPS不需要很高速,
本机gost监听端口=》本机 1080端口=》国内VPS=》海外VPS=》目标网站。
这里的假想前提是: SS是部署在国内VPS上的,gost是部署在海外VPS上的。
当然也可以国内和海外VPS都部署gost,这时的网络路由是:
本机gost监听端口=》国内VPS gost远程监听端口=》海外VPS远程监听端口=》目标网站。
服务器端的部署(举例):
1. 海外VPS:
nohup ./gost -L=socks://:3030 &
2. 国内VPS:
nohup ./gost -L=socks://:2020 &
3. 本机客户端:
./gost -L=:1010 -F=socks://国内VPS IP:2020 -F=socks://海外VPS IP:3030
本地监听在1010端口,本地调用http: 127.0.0.1:1010代理即可。
多层代理的思路会有点复杂,超过二层以上的嵌套,
以上就是关于多层嵌套代理的基本用法,希望对各位有所帮助.
No comments:
Post a Comment