科学上网——自建SSR

不能不说的是,SSR并不符合国家的某些法律。但是,我们个人使用,问题应该不大。

什么是GFW

GFW(Great Firewall of China)中文名:中国国家防火墙,建立于1998年。我们平常所说的“被墙了”,是指网站内容或服务被防火墙屏蔽了。而“翻墙”是指突破防火墙去浏览那些被屏蔽的网站或手机APP等。
建立防火墙主要是为了防止大陆人民访问那些不受中国政府监控的网站,防止人民脱离监控。
++这其实也是为了我们人民的安全和社会的安定。++

为什么要翻墙

世界上本没有翻墙,因为有了墙,所以才有了梯子,进而有了造梯子的木匠。
++翻墙除了会看到那些真真假假的信息,还会给你带来很多优质的科研文章、优质的学习资料。++
真希望有一天这堵阻碍人们获得信息、知识的墙能够消失!

购买、连接服务器

服务器购买

我们的服务器(VPS),需要买国外的。建议机房节点是日本,新加坡,洛杉矶这几个地方的。至于VPS的提供商,可以看挖站否的相关文章。

连接服务器

如果你本地电脑使用的是 Windows系统,服务器购买完成后,建议使用xshell,winscp等等软件,对服务器远程连接。
如果你是 Linux 或者 MacOS 用户,请忽略上面的软件
直接打开终端(Terminal),输入 ssh root@ip 其中 ip 替换成你服务器的 IPv4 地址, 按回车键,然后复制粘贴密码,按回车键即可登录。
粘贴密码时不显示密码,但不影响。
在开始登陆服务器之前,我们先打开命令行ping一下自己服务器上的IP地址是否能ping通 。
image

至于其他问题,我这儿便不一一说明。请善于使用搜索引擎。

搭建SSR/SS

搭建 Shadowsocks(SS)

安装ss

  1. 使用 root 用户登录服务器, 运行以下命令
1
wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
1
chmod +x shadowsocks.sh
1
./shadowsocks.sh 2>&1 | tee shadowsocks.log
  1. 安装完成示例
    image

    卸载ss

    使用 root 用户登录服务器, 运行以下命令
1
./shadowsocks.sh uninstall

ss使用命令

  1. 启动: /etc/init.d/shadowsocks start
  2. 停止: /etc/init.d/shadowsocks stop
  3. 重启: /etc/init.d/shadowsocks restart
  4. 状态: /etc/init.d/shadowsocks status

    查看ss配置信息

    使用 root 用户登录服务器, 运行以下命令
1
cat /etc/shadowsocks.json

你可以通过修改json里面的内容来修改你的端口号

修改ss配置信息

方法1: 修改文件/etc/shadowsocks.json
方法2: 重新安装./shadowsocks.sh

搭建SSR【推荐】

安装 ssr 软件

1
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh

复制上面的代码到VPS服务器里,安装脚本后,以后只需要运行bash ssr.sh这个快捷命令就可以出现下图的界面进行设置管理了。
image
如上图出现管理界面后,输入数字1来安装SSR服务端。
如果输入1后不能进入下一步,那么请重新连接VPS服务器,然后输入快捷管理命令 bash ssr.sh 再尝试
选择端口直接回车选择默认的就好了。当然了,你也可以设置其他的端口,这个根据个人需求 。
image
然后设置密码,选择加密方式 (盗图了….)
image
接下来选择协议插件
image
再然后根据自己需求选择是否兼容原版ss客户端
image
进行混淆插件的设置后,会依次提示你对设备数、单线程限速和端口总限速进行设置,默认值是不进行限制,个人使用的话,选择默认即可,一路敲回车键。
image
耐心等待一会,出现下面的界面即部署完成:
image
输入快捷管理命令:bash ssr.sh 进入管理界面
image
根据上图就可以看到自己设置的ssr账号信息,包括IP、端口、密码、加密方式、协议插件、混淆插件等等,如果之后想修改账号信息,选择相应的数字来进行一键修改。

加速服务器 (谷歌BBR加速)

1
2
3
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

执行上面的代码,然后耐心等待,安装成功后重启VPS服务器即可。
image
image
image
最后重启服务器。

ssr 客户端下载

下面ss/ssr客户端都是在GitHub上开源免费的,有兴趣的可以去看看源码或者贡献自己一份力量

Windows SSR客户端 点击下载地址
MacOS SSR客户端 点击下载地址
Linux SSR客户端 [点击下载地址]https://github.com/erguotou520/electron-ssr/releases) 安卓 SSR客户端 点击下载地址

苹果手机SSR客户端:Potatso Lite、shadowrocket都可以作为SSR客户端,但是,如果你配置的SSR账号兼容SS客户端,或者协议选择origin且混淆选择plain,那么你可以选择苹果SS客户端软件(即协议和混淆可以不填),APP商店里面有很多,比如:openwingy、superwingy、bestwingy等。

有了账号后,打开SSR客户端,填上信息,这里以Windows版的SSR客户端为例子:
image
在对应的位置,填上服务器IP、服务器端口、密码、加密方式、协议和混淆,最后点击确认。
现在你就可以愉快地科学上网了!!!

以下内容,纯属抄袭!有兴趣就看看哈!


GFW(墙)的封锁方式TCP封锁(阻断)猜想

自从2018年初开始,墙的封锁方式就从 全部协议封锁 改为了 TCP封锁(阻断),该封锁方式主要特征为: Ping IP正常连通(ICMP协议),而 TCPing IP连接超时无回应(TCP协议)。
基本上你测试你的服务器 IP 出现这种情况,99%的几率就是被墙了。剩下的 1% 就是防火墙没开放端口之类的配置问题。

TCP封锁(阻断) 简单解释:

当你的海外服务器 IP 被TCP封锁(阻断)后,你依然可以正常的向海外代理服务器发送数据(客户端连接服务端),但是海外代理服务器上的代理服务端在向你返回数据的时候,肯定是要经过墙的,而墙发现发送者IP(代理服务器)在黑名单中,于是就会阻断、拦截,
而目前的代理软件基本都是使用 TCP 协议传输的,而TCP协议要传输数据,则先要进行握手环节,而握手自然要有来有回,所以当墙对海外代理服务器回程TCP阻断的时候,就会导致代理客户端与服务端无法完成握手,自然也无法使用代理了。

如何避免被墙?

目前没有任何一个代理软件可以保证代理服务器IP不会被墙(emmmm 除了 WS+CDN+伪装 ),顶多减少被墙几率。
以前流行的 SSR 因为已经停更大半年了,没有更新就意味着没办法抵御墙的检测,所以目前不推荐使用了。建议使用 V2ray、Brook、Goflyway 等代理软件。

除了代理软件的选择之外,服务器地区也对被墙几率有很大影响。经过实验和大量网友反馈,目前日本、美国等热门地区均是重灾区,被墙几率远高于其他较冷门地区的服务器,所以不管你当前用的是什么地区的服务器,如果该地区服务器IP频繁被墙,那么你应该考虑使用其他地区的服务器来继续搭建代理了。

Shadowsocks相关知识

Shadowsocks官网: https://shadowsocks.org

Shadowsocks官方GitHub: https://github.com/shadowsocks

Shadowsocks作者是谁?是否还在更新?

Shadowsocks是由若干人因为兴趣而制作的一个项目,主要开发者和领导者是@clowwindy ,但是在2015年下半年被“相关部门”约谈喝茶,于是被迫删除Github的源码及相关文档。

Shadowsocks是否安全?加密性如何?

Shadowsocks是被设计来混淆数据,增加 墙 检查出流量特征所需的计算量,提高实时检测和匹配的成本,而不是加密。

SS的作者多次强调过这一点—>Correct username/password auth model · Issue #169 · shadowsocks/shadowsocks · GitHub

“We don’t need security. We need indistinguishability from random bytes.”

再三强调不要忘记SS作者的本意——这是一个能帮你上谷歌,上被墙屏蔽的网站的工具,其意义是瞒过 墙 的实时流量检测,而不是瞒过 墙 后面的master minds。

Shadowsocks是一个业余兴趣制作的项目,并没有经过严谨的密码学算法计算,Shadowsocks不是一个VPN,它无法100%的保护你的数据安全!

Shadowsocks和VPN 的区别是什么?

VPN,即虚拟专用网络

虚拟专用网络的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN有多种分类方式,主要是按协议进行分类。VPN可通过服务器、硬件、软件等多种方式实现。

Shadowsocks,即Sock5代理

采用socks协议的代理服务器就是SOCKS服务器,是一种通用的代理服务器。Socks是个电路级的底层网关,是DavidKoblas在1990年开发的,此后就一直作为Internet RFC标准的开放标准。Socks 不要求应用程序遵循特定的操作系统平台,Socks 代理与应用层代理、 HTTP 层代理不同,Socks 代理只是简单地传递数据包,而不必关心是何种应用协议(比如FTP、HTTP和NNTP请求)。所以,Socks代理比其他应用层代理要快得多。

Shadowsocks全局模式与VPN的区别

VPN控制的是你电脑的整个网络,只要需要连接到互联网的流量都会经过vpn。
你的IP会被更换为VPN的IP。连接VPN只需要知道IP和账号密码。
Shadowsocks的全局模式,是设置你的系统代理的代理服务器,使你的所有http/socks数据经过代理服务器的转发送出。而只有支持socks5或者使用系统代理的软件才能使用Shadowsocks(一般的浏览器都是默认使用系统代理)。
经过代理服务器的IP会被更换。连接Shadowsocks需要知道IP、端口、账号密码和加密方式。但是Shadowsocks因为可以自由换端口,所以定期换端口就可以有效避免IP被封!

Shadowsocks全局模式与PAC模式的区别

上面已经解释了Shadowsocks的全局模式,而PAC模式就是会在你连接网站的时候读取PAC文件里的规则,来确定你访问的网站有没有被墙,如果符合,那就会使用代理服务器连接网站,而PAC列表一般都是从GFWList更新的。GFWList定期会更新被墙的网站(不过一般挺慢的)。
简单地说,在全局模式下,所有网站默认走代理。而PAC模式是只有被墙的才会走代理,推荐PAC模式,如果PAC模式无法访问一些网站,就换全局模式试试,一般是因为PAC更新不及时(也就是GFWList更新不及时)导致的。

Your support is my biggest motivation.