10分钟搞定科学上网

看完本教程,你就会发现,科学上网并不难,简单到只需十次拷贝粘贴。

你还能免费使用半年完全属于自己的高速线路。

写得稍稍有点长,是希望你借这个机会,学会一些重要的基础网络知识,争取一次性脱白。

本教程所有用到的软件均从各自的官网获取,从根源上保证服务器的纯净与安全。

如果你已看过教程,或者是第二次安装,那么还有两个新选择:

  1. 按照命令清单来重装VPS,请点击这里
  2. 如果你不想一个一个命令的粘贴,也可以做一个脚本,让服务器自动安装

但是,如果你是第一次装,那么建议你这样做:

  1. 使用脚本,让服务器自动安装,安装的过程中不要做任何改动,以免出错。
  2. 装好能用后,认真阅读本教程,再开几台最便宜的VPS(记得试验完随手关掉以免计费),了解一下每条命令在做什么。
  3. 熟悉了命令以后,再看其他教程,做安全升级(如果你只是薅几个月羊毛,不做安全升级也没问题,如果是打算长期用,那还是学会做了更保险)。

翻墙搭梯子需要两样东西,一台电脑(搭完梯子就可以不用了),和一台VPS。

如果你还没有VPS,或者你想换个更好更快更有性价比、还有很长免费试用期的VPS,请看一下此教程先


翻墙原理的通俗解释

假设,你是用联通的宽带上网,假设你准备访问百度,故事的发生是这样的:

首先,你的手机(或电脑,以后我说手机就是指手机或电脑)“咔咔咔咔”变身为一台信息处理机器人,名叫“大白phone”。

它从自己肚皮里拿出一个空纸箱,啪地一声贴上一张快递单,终点写的是 – 百度第250250号货位,放到了联通宽宽的传送带上。

联通的信息传送机器人瞄了一眼你的单子,迅速给你的纸箱排出了一个最佳路线。它坐了3辆汽车、2辆火车、6条传送带,最后被送到了百度。

百度把250250号货位上的一堆文件,放到纸箱里。然后重贴了一张快递单,这回终点是你的手机。

你的纸箱又一通坐啊、转啊的,被传送回来。大白phone把箱子打开,把那些文件(网站内容)呈现在你的眼前。

但是,当你试图访问youtube或google时,箱子到了广州或上海时,就被海关拦住了,他一看你的终点,又看了看手上的名单,就会说,

nonono,去不了,sorry,没有空余线路了,传送带也都断了。

线路当然是有空余的,传送带也是好的,但是你要访问的地址在受限名单上,所以按规定不能给你分配线路。

这种情况就是我们说的youtube被墙了。这个时候,你就需要“梯子”。

当然那只是一种形象的比喻,我们不会真搭个梯子,从海关房顶上爬过去。

但你可以绕个路。

科学上网后,当你试图访问youtube时,大白phone会把快递单上的终点写成另外一个地方,比如,美国西雅图编号为555号VPS的667788号货位。

因为这台VPS没在海关的受限名单上,就不会被拦住。

这台VPS跟大白phone事先有约定。当它看到来了一个纸箱,寄件人是大白phone,终点写的是自身的667788号货位,旁边还画了3个小星星,它一查密码本,就明白了,

哈哈哈,原来主人想要的是youtube上007号货位的东西,好嘞!

于是VPS就放出去个纸箱,把你要的东西拉回来,再倒到你的纸箱里,然后,啪!给你贴上新快递单……

就这样,你要的东西就拉回来了。

这台VPS就是一台代理服务器(英文叫Proxy),它代理你去youtube上拉东西。

大白phone和VPS靠一个软件来沟通,把明码地址转成密码地址,这个软件叫SSR,小名叫“梯子”。

它的全称是ShadowSocksR,简称为SSR,也有人叫它“酸酸乳”。

它把你的VPS变成一台Socks5 Proxy,Socks5代理服务器。

还有一种常用的代理服务器叫HTTP Pxory,区别在于HTTP代理服务器只能在浏览器里用,而Socks5可以让其他软件也走代理服务器。

比如我们想下载youtube视频,这个不能在浏览器里完成,而是用另外一个单独的软件来实现,HTTP Proxy就帮不上忙了,必须用Socks5 Proxy。

OK,更多的技术细节就不讲了。感兴趣的话,可以google。总之SSR就是我们需要的最好用的梯子。

SSR软件是成对的,VPS上装的叫服务器端,你手机上装的叫客户端。这一对软件都正常工作,中转才能进行。

我们今天要做的,就是把这一对软件装好、并设置好参数(相当于密语规则。到时候大白phone说前门楼子,VPS就会明白实际上说的是胯骨轴子)。


用自己搭的梯子才安全、速度才够快

你喜欢裸奔吗?你喜欢一边裸奔,一边大声叫喊,“我刚注册了一个facebook的账号,用户名是xxx,email是xxx,电话是xxx”吗?

你喜欢看视频总卡,还经常连不上youtube吗?

如果你不喜欢,那么一定要自己搭梯子。

首先,免费的梯子肯定有问题,没人花钱搭梯子就为了给人民群众做好事。

其次,收费的梯子也有问题,有两大缺陷。

第一,有安全隐患。你的个人隐私和浏览数据容易暴露,存在被偷窥、以及个人信息被出卖的风险,还有被种植木马、甚至被诈骗的风险。

第二,因为多人共享一台VPS,大家争夺有限的带宽,卡顿是很正常的。

所以要想安全、高速翻墙,一定要用自己的VPS搭梯子。


手把手教你翻墙

下面以windows系统为例讲解。整个搭建过程一共10几次拷贝粘贴,第一次你因为还不熟悉,可能要半小时左右。

第二次以后你会使用命令清单,10分钟肯定能搞定。第三次你肯定就用脚本了,3分钟就搞定了。

19点到24点是高峰期,大多数VPS,即使是针对大陆做过优化的线路,也会变得很慢,安装调试应避开这个时段,最好在早晨或上午弄。

1. 使用putty连接VPS,更新CentOS。 拷贝、粘贴执行下面代码框里的命令。

sudo dnf update -y

说明:点击上面代码框里的字符,代码就会被自动拷贝,然后到putty窗口点鼠标右键,命令就会被粘贴到光标处,并自动执行(因为我在代码最后加了一个回车行)。如果没有自动执行,请按一下回车键。

有的VPS很快就更新完,但有的要等好几分钟,耐心点,更新结束后屏幕会提示Complete!


2. 安装必需的软件。拷贝、粘贴执行下面代码框里的命令。

sudo dnf install git python3 nano wget firewalld nginx -y

安装完成后会提示complete!

说明:这一行命令安装了6个软件:

  • git,用来从github平台上把SSR,或者叫“酸酸乳”,我们的翻墙工具克隆回来。
  • python3,用来运行SSR(它是用Python这种计算机语言编写的)。
  • nano,是一款对初学者比较友好的文本编辑软件,可以把它想成windows下的记事本。
  • wget,用来把SSR的客户端下载到VPS。你可以把它想成一个没有图形界面的IE浏览器,它通过www来get,所以叫wget。
  • firewalld,用来管理CentOS自带的防火墙。
  • nginx,可以让VPS具备网站功能,我们将使用这个功能,把SSR客户端下载回本地。

3. 安装SSR

3.1 首先把SSR克隆回来。 拷贝、粘贴执行下面代码框里的命令。

cd /usr/local; sudo git clone -b manyuser https://github.com/shadowsocksrr/shadowsocksr.git

屏幕提示三个done.

说明:这实际上是两条命令,第一条是进入/usr/local目录,第二条是执行克隆,从github.com,也就是软件开发者们保存和分享程序代码的平台上把SSR复制过来。

Linux下可以用分号将多个命令连接起来,一次输入,系统顺序执行,很有效率。


3.2. 执行SSR的初始化配置脚本。 拷贝、粘贴执行下面代码框里的命令。

cd /usr/local/shadowsocksr; sudo bash initcfg.sh

执行后屏幕没什么提示。

说明:也是两条命令顺序执行,功能是进入shadowsocksr目录,执行酸酸乳初始化脚本文件initcfg.sh。


3.3. 配置SSR

3.3.1 首先用nano打开配置文件。 拷贝、粘贴执行下面代码框里的命令。

sudo nano /usr/local/shadowsocksr/user-config.json

说明:前面说过,nano是linux下最友好的文本编辑器。但你可能还是不习惯,因为它不支持鼠标,只能用键盘上的箭头挪动光标,然后用Delete键或Backspace键来删除,要稍微适应一下。


3.3.2 填写配置文件的内容,或者使用下方的替代方案。

一共要填写5处参数,后3处不要改,前2处(端口和密码)最好自行更改一下。

这5处就是服务器端与客户端沟通用的“密码本”,这地方怎么设定的,回头在客户端里就要怎么设定

  • server_port 改成一个2千以上、4万以下的数字,比如6538或者16888(请自行更改)。
  • password改的复杂一点,8位以上,并包含大小写、数字与符号,比如L0v3U$$$或者WoXi@%huAn250!(请自行更改)。
  • method改为none
  • protocol改为auth_chain_a
  • obfs改为plain

修改配置文件的替代方案:如果你觉得在nano里一个一个改不方便,那么可以清空原配置文件,直接写入新内容。方法如下,共两步:

第一步,在nano界面内,先按Ctrl+6,然后按Alt+t,原文件就清空了


第二步,将下面代码框里的代码,全部拷贝粘贴到nano打开的空白文件里。

如果你想更改端口和密码,可以先粘贴到电脑上的记事本文件里,改后再整个拷贝出来,粘到到nano打开的空白文件里。

{
    "server": "0.0.0.0",
    "server_ipv6": "::",
    "server_port": 6538,
    "local_address": "127.0.0.1",
    "local_port": 1080,

    "password": "L0v3U$$$",
    "method": "none",
    "protocol": "auth_chain_a",
    "protocol_param": "",
    "obfs": "plain",
    "obfs_param": "",
    "speed_limit_per_con": 0,
    "speed_limit_per_user": 0,

    "additional_ports" : {}, // only works under multi-user mode
    "additional_ports_only" : false, // only works under multi-user mode
    "timeout": 120,
    "udp_timeout": 60,
    "dns_ipv6": false,
    "connect_verbose_info": 0,
    "redirect": "",
    "fast_open": false
}

3.3.3 保存文件并退出

如果这是你第一次安装翻墙软件,那么你的nano应该是新版本,可以按Ctrl+s保存内容,屏幕下方中间会提示“[ Wrote 26 lines ]”,然后就可以按Ctrl+x退出。

在旧版本的nano里,保存及退出必须做以下三步操作。首先,按Ctrl+x,软件会提示你离开前是否保存,此时按y,软件再提示,保存成当前名字吗?按回车


3.4 保证SSR能在VPS重启后自动运行

VPS偶尔难免会需要重启,我们要保证重启后,梯子能自动搭起来。

方法是把执行它的动作写成一项系统服务,并放到自启动系列里,这样VPS每次重启后,都会自动执行SSR。

3.4.1 把SSR的运行编写成一项系统服务。 拷贝、粘贴执行下面代码框里的命令,会打开一个空白文件。

sudo nano /etc/systemd/system/shadowsocksr.service

3.4.2 将以下内容拷贝粘贴进去

[Unit]
Description=ShadowsocksR server
After=network.target
Wants=network.target

[Service]
Type=forking
PIDFile=/var/run/shadowsocksr.pid
ExecStart=/usr/bin/python3 /usr/local/shadowsocksr/shadowsocks/server.py --pid-file /var/run/shadowsocksr.pid -c /usr/local/shadowsocksr/user-config.json -d start
ExecStop=/usr/bin/python3 /usr/local/shadowsocksr/shadowsocks/server.py --pid-file /var/run/shadowsocksr.pid -c /usr/local/shadowsocksr/user-config.json -d stop
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always

[Install]
WantedBy=multi-user.target

3.4.3 保存文件并退出

按Ctrl+s保存内容,然后按Ctrl+x退出。

在旧版本的nano里,保存及退出必须做以下三步操作。首先,按Ctrl+x,软件会提示你离开前是否保存,此时按y,软件再提示,保存成当前名字吗?按回车


3.4.4 将SSR服务加到开机启动系列,并启动它。 拷贝、粘贴执行下面代码框里的命令

sudo systemctl enable shadowsocksr; sudo systemctl start shadowsocksr

屏幕会提示Created symlink…..

现在,SSR服务器已经搭建完了,接下来要开启防火墙并安装客户端。

但是客户端软件官网,也是被墙的,无法正常访问。如果在网上随便下载,又可能不安全。

好在,我们预留了解决方案。我们刚才安装了nginx,VPS现在就是个网站,把SSR客户端下载到上面,我们不用翻墙就能通过网络浏览器下载到本地。


4. 下载SSR客户端

4.1 将nginx加入开机启动系列,并开启服务进程。 拷贝、粘贴执行下面代码框里的命令

sudo systemctl enable nginx; sudo systemctl start nginx

屏幕提示Created symlink…..

4.2 设置并开启防火墙

一定一定要启用防火墙。很多教程图省事,或者写教程的人不懂得怎么做,就建议关闭防火墙,这是极大的不负责任的行为,相当于打开你家大门,热烈欢迎坏人来捣乱。

开启防火墙是有效的保障服务器安全的措施。

4.2.1 将firewalld将入开机启动系列,并启动服务。拷贝、粘贴执行下面代码框里的命令。

systemctl enable firewalld.service; systemctl start firewalld.service

执行完屏幕上没什么特别提示。

4.2.2 将SSR与nginx的网站服务放行。拷贝、粘贴执行下面代码框里的命令(其中“6538”可能需要更改)。

sudo firewall-cmd --permanent --add-port=6538/tcp; sudo firewall-cmd --permanent --add-port=6538/udp; sudo firewall-cmd --permanent --zone=public --add-service=http; sudo firewall-cmd --reload

执行完后屏幕上应该显示4行success

说明:一共4条命令,前两条是将SSR使用的端口放行,如果你在第3.3.2步曾将端口改为34567,那这里的两处6538也要改为34567。

第三条命令是允许http服务,即允许我们的服务器被当作网站访问。

第四条是让防火墙重新加载(reload)一次,让刚才的修改生效。

每条命令都会返回一个success的提示。


4.3 将SSR客户端下载到vps上。拷贝、粘贴执行下面代码框里的命令。

wget https://github.com/shadowsocksrr/shadowsocksr-csharp/releases/download/4.9.2/ShadowsocksR-win-4.9.2.zip; wget https://github.com/xcxnig/ssr-download/raw/master/ssrr-android.apk; wget https://raw.githubusercontent.com/xcxnig/ssr-download/master/ssr-mac.dmg

说明:一共执行了3条命令,用wget命令去官网下载了3个客户端,分别用于PC、Android手机以及Mac。zip文件是windows客户端,apk文件是android客户端,dmg文件是macOS客户端。

iPhone的比较特殊,一会儿说。


4.4 将客户端下载到本地电脑或手机上

4.4.1 选项一:用浏览器下载。

4.4.1.1 首先访问VPS

在电脑浏览器地址栏(不是百度的搜索框)输入VPS的IP(比如123.123.123.123)回车,就能看到nginx的欢迎页面。

不要关掉这个页面,一会儿下载客户端的时候要用到。

这个页面就是你的网站的首页。自豪吧?从此你也是有自己网站的人了。

你在世界上任何一台电脑或手机的浏览器地址栏里输入这个IP,都可以访问它。

它显示的是/usr/share/nginx目录(网站的根目录)下index.html文件里的内容。只要你更改这个文件,就可以让它显示别的东西。如果你感兴趣,可以自动研究一下html语言。


4.4.1.2 将客户端文件拷贝至你自己网站的根目录下。拷贝、粘贴执行下面代码框里的命令。

cp ShadowsocksR-win-4.9.2.zip /usr/share/nginx/html/1.zip; cp ssrr-android.apk /usr/share/nginx/html/2.apk; cp ssr-mac.dmg /usr/share/nginx/html/3.dmg

说明:一共执行了三条命令,用cp命令(copy的缩写)将客户端拷贝到你自己网站的根目录下,并且同时改成好记的名字。

PC的客户端文件被改名为1.zip,Android手机客户端是2.apk,Mac客户端是3.dmg

4.4.1.3 将客户端下载到本地电脑或手机上

回到你电脑上的浏览器,你的红彤彤的nginx欢迎页面,在IP的后面输入”/客户端文件名“回车后就可以下载客户端软件了。注意这个”/”键是从右上向左下倾斜的,别打错了。

比如你的VPS的IP是123.123.123.123,那么

  • 浏览器地址栏里输入123.123.123.123/1.zip回车就可以下载windows客户端。
  • 浏览器地址栏里输入123.123.123.123/2.apk回车就可以下载Android手机客户端,建议直接用安卓手机的浏览器下载并安装。
  • 浏览器地址栏里输入123.123.123.123/3.dmg回车就可以下载MAC客户端。

4.4.2 选项二:用winscp软件来下载

锦锂同学留言说,用上面的方法下载时出现403 forbidden错误。如果你也出现无法用浏览器下载的情况,可使用winscp软件来下载。

winscp软件相当于一个文件管理器,可以在图形界面下管理VPS上的文件。官网地址是https://winscp.net

然后下载、安装、启动winscp软件。

在winscp软件中开一个新站点(New Site),把VPS的IP填写进去,用户名是root,密码要填写VPS服务器root的密码(不是SSR的密码)。

连接后显示两个窗口,右边的是VPS上的文件,会显示3个文件,zip文件是windows客户端,apk文件是android客户端,dmg文件是macOS客户端。

左边是你自己的电脑,选一个位置,然后在右边你想下载的文件上用鼠标右键点击,选download即可下载。


5. 客户端的配置

5.1 windows

5.1.1 解压、执行、

将1.zip解压到任意文件夹下,然后执行ShadowsocksR-dotnet4.0.exe。任务栏里会出现一个纸飞机图标,代表着你可以起飞了。


5.1.2 配置SSR右键点击纸飞机图标可进入选项菜单。

5.1.2.1 SSR菜单->服务器->编辑服务器->添加(A),输入VPS的IP地址,再根据第3.3.2步的参数,修改客户端的选项,注意要和服务器端配置文件里的内容完全一致。跳转回3.3.2查看配置文件里的参数


5.1.2.2 SSR菜单->代理规则->绕过局域网和大陆

这样省得你就算连接桌上的打印机,也要先去美国跑一圈。

5.1.2.3 SSR菜单->选项设置…->开机启动

5.1.2.4 SSR菜单->系统代理模式->全局模式

全局模式下,所有的互联网访问,都通过代理服务器来进行。我们暂时转成这个模式,以便安装扩展程序。

5.1.2.5 打开chrome浏览器,访问https://www.iplocation.net/,确认显示的IP是你VPS的IP。

注意,如果不能访问,而你也确认所有操作均没有任何问题,那么有一种可能就是你被分配的这个IP被墙过,也就是说,以前有人用这个IP做过不该做的事,所以它被加到访问受限的名单上了。

那么你需要再开一个VPS,测试一下新的IP好用不。找到好用的IP后,把用不上的VPS都destroy掉

5.1.2.6 安装启用SwitchyOmega。

第一步,访问google应用商店,安装管理代理服务器的扩展程序 – SwitchyOmega。安装后,新建一个代理服务器的情景模式,比如给它起名“在chrome启动代理”,如下图,选一个颜色,协议选择SOCKS5,地址是127.0.0.1,代理端口是1080。

第二步,点击“情景模式”菜单上的“智能切换”或”auto switch”,将“默认情景模式”改为“在chrome启动代理”。

第三步,点击菜单上的“应用选项”以保存刚才的配置。

第四步,以后在chrome里,访问任何网址都默认使用代理服务器。访问百度、B站或其他任何你不想使用代理的网站,点击上方工具栏的SwitchyOmega按钮,选“添加条件”,改为“直接连接”。

这样,慢慢地,就会建立一个规则列表,SwitchyOmega未来就会自己切换情景模式。

5.1.2.7 回到SSR的纸飞机菜单->系统代理模式->直连模式

转回到直连模式,这样所有的连接默认均不通过代理服务器,即好像代理服务器不存在一样。

而上网时,在chrome里,SwitchyOmega会自动打开代理模式。


5.2 Android手机

用手机的浏览器下载2.apk,然后安装。

配置方法跟在windows上一样。


5.3 Mac

用浏览器下载3.dmg,然后安装。

基本配置跟windows一样,但有一个差别要注意,它在本地的代理端口是1086,而不是1080,在设置SwitchyOmega,及未来任何其他软件需要连接SSR时要注意。


5.4 iPhone/iPad

iOS最特殊,因为没越狱的话不能使用第三方的安装包,而大陆的app store里又无法下载SSR客户端。

所以要注册一个美区ID,不只这次用得着,以后再下载其他一些受限的app时也方便。

5.4.1 用浏览器访问https://appleid.apple.com/account

5.4.2 用没注册过的手机和邮箱创建一个新的中国大陆ID。

5.4.3 付款方式选“无”。

5.4.4 进入iPhone“设置”页面,点击第一行,进入“Apple ID”页面后,点击“媒体与购买项目”,选“退出登录”。

5.4.5 返回设置页面,再重新进来一次,点“媒体与购买项目”,选择用新注册的ID登录。

5.4.6 “显示帐户”,进入管理页面,把新ID的国家改为美国,并填写在美国的个人信息。想象你自己在美国旅游,用bing.com的地图,或者google地图,查找一个酒店,比如atlanta hilton,使用它的信息即可。苹果主要检查邮编和电话。

5.4.7 进入App Store,使用新ID,按提示接受review(“检查”)。

5.4.8 会被要求添加付款方式,忽略。

5.4.9 查找一个免费app,叫Potatso Lite,安装。

Potatso的配置跟电脑上相似,点“管理”-“编辑”-“添加代理服务器”-“手工输入”。

设置完后,再到设置菜单里开启智能路由,避免访问国内网站时变慢。

5.4.10 在“媒体与购买项目”中退出美区帐号,使用原账号。

5.4.11 任何时候你要安装无法在大陆App Store里下载的软件时,都可以用它来登陆“媒体与购买项目”。下载后记得转换为原来的账号。


恭喜你!

安装完毕,现在你可以畅快地科学上网了!


翻墙后做什么以及不要做什么

首先注册gmail账号

gmail账号在西方世界里有点像我们的微信,其他大平台基本都可以直接用它注册,每个人都有个gmail账号,就跟我们每个人都有个微信号似的。所以你也应该有一个。

现在注册gmail要开双重验证,想使用中国大陆手机的话,要费一点周折。要挂上代理服务器,然后绕道中国香港注册,点击这里注册

之后要做的当然是每天去youtube看视频了,好好学习,天天向上,记得把Chrome作为主力浏览器,用好google.com

如果你想下载youtube视频,可以看本站这篇教程

无论是在线看还是下载,无论是看youtube视频还是浏览其他网站,一定一定注意,第一不要看政治上反动的内容,第二如果不小心看到了不要传播,第三不要浏览成人内容!

前两点你容易理解,但第3点一定要有自控力。有意无意地,你都会遇到成人内容,不要去看!如果不小心打开了,关掉它。防火墙对成人内容非常敏感,仅次于政治内容,看成人内容很容易被封IP。

如果你想长久地科学上网,也不给自己找麻烦,你一定要正确深刻地理解科学上网,来看看什么才是正确的翻墙逻辑

另外,不要挂VPS下载美剧或好莱坞大片

中国对知识产权不太在意,所以我们有时候会不把版权当回事。

但美国人很在意。如果你用VPS使用BT下载美剧什么的,可能会被发律师信,也可能会被关闭服务甚至起诉,所以最好不要。

接下来,你可以抽时间把VPS的安全配置升级一下,参考这篇教程-让你的VPS固若金汤

好了,就这些,其他的没什么了,祝你一切顺利,有问题请在下面留言。

3人评论了“10分钟搞定科学上网”

  1. 教程总体非常好用!谢谢作者大大!但是用nginx运行网站下载win客户端那一步,,输入ip/1.zip之后会出现403 forbiden诶……我后来改用python内置的simplehttpserver下载的客户端。作者为啥好久不更新了呀?能不能推荐一下nginx的学习资源哇?

    1. Hi锦鲤,非常感谢你的反馈,也感谢你的夸奖。

      你下载时出现403 forbidden错误,不好讲到底是怎么回事。我刚才特意新开了一个新vps按步骤一步步试下来,是没问题的。所以是不是你的VPS并非新装的?

      如果其他同学也发生类似问题,也可以安装一个winscp来下载。官网地址是这里:https://winscp.net。我一会儿更新到教程里。

发表评论

您的电子邮箱地址不会被公开。