如果您熟悉linux系统,您可以使用更先进的ssr串联服务器架构,该方法更稳定(支持ip混淆同时支持故障重启),但部属过程复杂,点进来看readme.md
- 如果喜欢就
follow
我吧,多谢🙏 - 请不要在
issue
里面谈论政治
- 如果您对认为文章有(malicious suspect),请
issue
通知我 - 如果文章里面的链接失效,请
issue
- 如果我被请去喝茶了,请
fork
走
-
不要选择基于OpenVZ内核的服务器提供商(瑞速不支持这个)(当然如果您听不懂可以忽略掉)
-
首推三家知名服务商:
- DigitalOcean:
https://www.digitalocean.com/
- Vultr:
https://www.vultr.com
- Linode:
https://www.linode.com
- DigitalOcean:
-
然后是日本的服务商:
- 维基百科地址:
https://romanrm.net/vps/japan
- 维基百科地址:
-
美国的服务商:
- CloudWays:
www.cloudways.com
- CloudWays:
- 你需要一张信用卡(如果你没有你可以使用
Global cash全球付
, 或者使用汇率飞起的淘宝虚拟信用卡) - 你需要为每个月准备至少5美元,或10美元(已经很低了,减减肥,就省出来了)
- 推荐配置
- CPU:一个核心足以
- 内存:512即可
- 硬盘:10G以上即可
- 推荐系统:CentOS 6 x64
- 推荐内核(kernel)版本:4.4.0-x86-64
- 示范例子1:
wget http://ftp.scientificlinux.org/linux/scientific/6.6/x86_64/updates/security/kernel-2.6.32-504.3.3.el6.x86_64.rpm
rpm -ivh kernel-2.6.32-504.3.3.el6.x86_64.rpm --force
reboot
- 示范例子1:
- 环境(Linode新加坡)
- 为什么:这个东西能使你原本与服务器连接只有300KBs的速度提升到60M以上
- 怎么做:
wget --no-check-certificate -O appex.sh https://raw.githubusercontent.com/0oVicero0/serverSpeeser_Install/master/appex.sh && chmod +x appex.sh && bash appex.sh install
软件会询问你一些事情,全部选择y
- 原理是什么:TCP抗堵塞原理
- 更多文献:
- (高手专用)
- 您当然也可以使用google bbr,但是根据我们的测试,使用瑞速更稳定,如果您选择使用BBR而不是瑞速那么请参考下列文章
/appex/bin/serverSpeeder.sh restart
-
为什么:
- 我们需要运行两个SSR容器,这样我们就可以有两个服务器端口用作SSR服务
- 不建议使用docker的shadowsocksr镜像
-
怎么做:
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
- 启动第一个SSR容器并开启SSR服务
docker run --name shadowsock1 -p 443:8989 -ti centos:6 /bin/bash
- 在容器内执行
yum update -y && yum install -y wget net-tools vim && wget https://raw.githubusercontent.com/xetra-enterprize/shadowsocks_install/master/shadowsocks-all.sh && bash ./shadowsocks-all.sh
- 用vim编辑器编辑/etc/rc.local
vi /etc/rc.local
- 在这个文件的末尾追加
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
- 用vim编辑器编辑/etc/sysctl.conf
vi /etc/sysctl.conf
- 在这个文件的末尾追加
net.ipv4.tcp_fastopen = 3
- 用vim编辑器编辑/etc/shadowsocks-r/config.json
vi /etc/shadowsocks-r/config.json
-
里面有个
tcp_fast_open
的变量,把false改成true -
最后重启SSR服务
/etc/init.d/shadowsocks-r restart
-
使用
Ctrl+D
退出容器 -
启动第二个SSR容器并开启SSR服务
docker run --name shadowsock2 -p 80:8989 -ti centos:6 /bin/bash
- 在容器内执行
yum update -y && yum install -y wget net-tools vim && wget https://raw.githubusercontent.com/xetra-enterprize/shadowsocks_install/master/shadowsocks-all.sh && bash ./shadowsocks-all.sh
- 用vim编辑器编辑/etc/rc.local
vi /etc/rc.local
- 在这个文件的末尾追加
echo 3 > /proc/sys/net/ipv4/tcp_fastopen
- 用vim编辑器编辑/etc/sysctl.conf
vi /etc/sysctl.conf
- 在这个文件的末尾追加
net.ipv4.tcp_fastopen = 3
- 用vim编辑器编辑/etc/shadowsocks-r/config.json
vi /etc/shadowsocks-r/config.json
-
里面有个tcp_fast_open的变量,把false改成true
-
最后重启SSR服务
/etc/init.d/shadowsocks-r restart
-
使用
Ctrl+D
退出容器 -
至此我们就完成了服务器的配置
-
示范例子1:
-
环境(Linode新加坡机房):
- 你需要至少两个服务器,才能保证你的上网体验
- 所以再部署一个服务器吧
- 不要认为给一个服务器上加两个ip地址就可以了,防火长城进行封锁会导致整个区域断线,而不只是你的ip断线。所以你应该换一个地区创建第二个服务器。
- (高手专用)因为shadowsocks支持监听服务器所有地址(VPN不支持)所以你可以给服务器做一个快照(如果到这里你还读不懂的话,就忽略掉吧),然后再第二个服务器山复原快照,但是你仍然需要为第二个服务器手动更换内核,安装瑞速,启动容器,并进入每一个Docker容器开启SSR服务
- 只开放80和443端口,避免被ping到
- 从ishadow下载(这里是ishadow的官网:
https://ss.ishadowx.net
):- 安卓版本:
http://160.16.231.71/ssr-3.3.5.apk
- IOS版本:
http://dwz.cn/5vCPvz
- 安卓版本:
- 从本库下载:
- 安卓版本:
https://github.com/XetRAHF/TiZi_AcrossTheGreatWall/blob/91e5f3d04afcf72db83781d9a6be22dbe50b68a4/ssr-3.3.5.apk?raw=true
- 安卓版本:
- (高手专用)这里是shadowsocksR的源码:
https://github.com/shadowsocksr-backup/shadowsocksr
- (高手专用)这里有shadowsocks的全家桶:
https://github.com/teddysun/shadowsocks_install
- 从ishadow下载(这里是ishadow的官网:
https://ss.ishadowx.net
):- Mac版本:
http://160.16.231.71/SSX-NG-R8.dmg
- Windows版本:
http://160.16.231.71/ssr-4.1.4-win.7z
- Mac版本:
- 从本库下载
- Mac版本:
https://github.com/XetRAHF/TiZi_AcrossTheGreatWall/blob/91e5f3d04afcf72db83781d9a6be22dbe50b68a4/SSX-NG-R8.dmg?raw=true
- Windows版本:
https://github.com/XetRAHF/TiZi_AcrossTheGreatWall/blob/91e5f3d04afcf72db83781d9a6be22dbe50b68a4/ssr-4.1.4-win.zip?raw=true
- Mac版本:
此时ShadowsocksR就和VPN一样了
- Proxifier for mac 激活码:P427L-9Y552-5433E-8DSR3-58Z68
Proxifier(把你的shadowsocksR转换成为VPN)
- Docker 使用国内镜像:
- 修改Docker配置文件
/etc/default/docker
如下:DOCKER_OPTS="--registry-mirror=http://aad0405c.m.daocloud.io"
使用service docker restart
重启Docker服务
即可。
如果您使用proxifier最好也还是再配置代理,那样会更稳
-
GIT:
git config --global http.proxy 'socks5://127.0.0.1:1086'
-
Node Package Manager(NPM)(请看文章末尾):
npm config set strict-ssl false
npm config set proxy http://127.0.0.1:1087
npm config set https-proxy http://127.0.0.1:1087
export HTTP_PROXY=http://127.0.0.1:1087
export HTTPS_PROXY=http://127.0.0.1:1087
env http_proxy=http://127.0.0.1:1087
- SSH(Tested on Mac OS):
ssh root@128.384.23.32 -o "ProxyCommand=nc -X 5 -x 127.0.0.1:1086 %h %p
ssh root@目标ip -o "ProxyCommand=nc -X 5 -x 127.0.0.1:1086 %h %p
- Homebrew:
export ALL_PROXY="127.0.0.1:1087"
- Cocoapods:
- Cocoapods基于Git与curl(系统代理设置),你需要给git上代理然后
export HTTP_PROXY=http://127.0.0.1:1087 export HTTPS_PROXY=http://127.0.0.1:1087 env http_proxy=http://127.0.0.1:1087
- PyPi:
export HTTP_PROXY=http://127.0.0.1:1087
export HTTPS_PROXY=http://127.0.0.1:1087
sudo pip --proxy http://PROXYDOM:PROXYPORT install package
-
为什么不使用VPN:
- PPTP: 约1~2小时即可被防火长城检测出来,然后ip无法访问
- L2tp: 成熟的配置库非常少,连接不稳定
- IPsec: 编译时间长,会被检测出来同时被限速
- 总结: 以上三种方法都有一个巨大的缺点,端口是固定的,流量特征明显,速度缓慢,连接容易断线
-
为什么不使用SS(注意不是SSR):
- 某大学学生发文使用深度学习方法学习了SS流量特征,可以很精确检测出来SS并进行限速,论文地址如下:
https://github.com/shadowsocks/shadowsocks/issues/540
- 某大学学生发文使用深度学习方法学习了SS流量特征,可以很精确检测出来SS并进行限速,论文地址如下:
-
为什么不使用XX-Net(
https://github.com/XX-net/XX-Net
):- 无法扫描ip
- 速度慢
- 每隔1分钟ip就会被切换一次,导致连接中断
- 每个谷歌账号最多12G左右流量
- 需要谷歌账号,并激活
- 部署ip速度慢
-
为什么不使用OpenVPN(TCP与UDP):
- 速度慢
- 服务器部署时证书生成速度慢
- 即使是TCP版本,同样会被检测出来同时被防火长城限速
- Mac客户端Tunnelblick收费
- 经测试使用TCP版本时(Tunnelblick)无法播放youtube视频
-
为什么不使用蓝灯(
https://github.com/getlantern/lantern
):- 速度慢
- 免费版本已经在大多数地区无法使用
-
为什么不使用expressVPN(
https://www.expressvpn.com/
)- 高昂的价格
- 速度慢
- 省钱:翻墙工具每个月花费70块钱左右是最好的,也就一天的饭钱,花吧,值得来。
- 使用国内云服务器翻墙:(例如: 阿里云, 京东云等)(阿里云国际版的服务条款已经写到如果用户用来搭建互联网穿透服务,封号并禁用你的VISA卡)
- 使用国内聊天工具(如QQ群)将服务器信息分享给好友:(自然语言处理器会检测出来的)
- 使用QQ群分享服务器给好朋友:(同学,qq群不算用户隐私,会被查的)
- 只搭建一个梯子服务器:即使你的服务器是SSR加密等级非常高,甚至是嵌套SSR,你也需要准备两个以上的梯子服务器,因为出口线路也会发生不稳定的情况
- 卖SSR以及其他翻墙服务器:(后果极为严重,请大家不要尝试)
http://www.ajxxgk.jcy.cn/html/20170419/2/5261188.html
- 不要在Azure**(由世纪互联运营)上搭建翻墙服务器,会被查水表
- 不要使用AWS和Google Cloud等(Pay as you Go)的服务器提供商上搭建梯子(当然,如果您是土豪的话是可以的)那里的流量是按照GB计费的,非常贵
- 你可能认为设置一个日本的服务器,再设置一个美国的服务器,让日本的服务器做中转,这样就就可以加快连接的速度,降低延迟。如果美国服务器没有被GFW限速或禁止,那么这样做只会使你的速度更慢。
- 搭建稳定翻墙服务器的核心秘诀是选择一个优质的服务器地理位置
-
Shadowsocks与VPN之间的关系:
-
Shadowsocks与ShadowsocksR的关系:
sudo su
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp --dport 8388 -j DNAT --to-destination US_VPS_IP:8388
iptables -t nat -A POSTROUTING -p tcp -d US_VPS_IP --dport 8388 -j SNAT --to-source JAPAN_VPS_IP
iptables -t filter -m owner --uid-owner ssuser -A OUTPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -m owner --uid-owner ssuser -A OUTPUT -p tcp -j REJECT --reject-with tcp-reset
推荐架构
安装OpenVPN服务器
wget https://raw.githubusercontent.com/Angristan/OpenVPN-install/master/openvpn-install.sh
chmod +x openvpn-install.sh
配置乌班图客户端
sudo apt-get install openvpn
sudo apt-get install network-manager-openvpn-gnome
sudo openvpn --config '/home/jglerner/Desktop/vpnbook-us1-tcp443.ovpn'
··· docker exec -ti e763b2ab011a /bin/bash docker exec -ti 944b08625cec /bin/bash docker exec -ti 6c5427f92cb1 /bin/bash docker exec -ti bc6b9971acbe /bin/bash