盒子
盒子
文章目录
  1. 0.前言
  2. 1.谁比较需要单独搭建VPS科学上网?
  3. 2.准备
    1. 2.2关于云服务器的选择
  4. 3.服务器准备工作
  5. 4.部署ShadowSocksR
    1. 4.1 SSR相关网站
    2. 4.2 安装SSR
    3. 4.3 shadowsocks.json配置文件修改
    4. 4.4 更新SSR
  6. 5.BBR加速VPS服务器
    1. 5.1 安装BBR
  7. 6.结语

科学上网教程

0.前言

  我记得在一次《编译原理》课上,老师很惊讶的说:“你们作为学计算机的人,居然还用百度,不知道科学上网google吗?再不济也应该用bing啊!”
  科学上网的大业势必是我们成长中的必经之路,本着无聊又眼馋隔壁大佬自行搭建VPN,决定自行搭建一个VPN服务器,听说github有student package嘛,50刀不用白不用!

1.谁比较需要单独搭建VPS科学上网?

  • 其实,好多专业的同学并没有科学上网的需求,以至于我都不知道该把我的VPN分享给谁好。
  • 只是翻墙简单浏览网页,就不必要再单独花费人民币了,蓝灯、和各个网站的免费ss账户,enough!例如,你可以在逗比根据地找到免费的SS帐号(此网站需要翻墙,可以先使用蓝灯翻出去搜索)。
  • 偶尔看看视频、不想画太多精力在寻找免费资源上。可以直接购买现成的ss/vpn账户,在某宝上就可以找到很多比较靠谱的店家。
  • 常年泡视频网站又受不了国内视频网站乱七八糟、24h使用google服务、对稳定性和流量有一定要求、愿意使用一点时间来折腾VPS。比较适合单独购买VPS来科学上网。
  • 搜索文档,更新软件源、折腾个人网站又不想备案的、折腾开源的。这大概也是一条搭建VPS的理由吧,一举多得。

2.准备

首先,你得做好如下准备工作:

1、一台位于国外的云服务器(我自己使用的是Ubuntu16.04);
2、SSH远程连接软件,例如XShell
3、FTP远程文件传输,例如XFtp

2.2关于云服务器的选择

  • 如果你是学生,拥有edu后缀的邮箱,那你可以考虑github的学生福利,点击首页的“Get the Student Developer Pack”,你将获得一张价值50美刀的优惠券。然后,你可以进入DigitalOcean,注册并花费5美刀激活帐号,Create一个Droplets实例。优惠码可在个人中心里使用。
  • 如果你不能享受学生优惠,那推荐vultr搬瓦工DigitalOcean,这是比较常用的几个服务器提供商吧,但是近期服务器质量有待考证,有需要的朋友最好看看其他测评。在此,同样推荐一个帖子供大家参考。

3.服务器准备工作

创建好一个云服务器的实例,并通过XShell等远程链接上服务器。

4.部署ShadowSocksR

4.1 SSR相关网站

  • 由于原版github上的SSR已经被删除,这里提供个人服务器上的下载链接,如果不放心,可以尝试在逗比根据地上寻找SSR资源。
  • ShadowSocksR-windows版(C#)下载链接,这是我fork的一份源码,开源放心。
  • 跨平台electron-ss客户端可以fork此处项目,但上游项目已删除,暂停维护。
  • Android用户请点击这里,多种VPN软件可供选择。另有ShadowSocksreleases版可选。
  • IOS平台,此处推荐一个帖子,自行参考下载。

4.2 安装SSR

  • 复制以下代码到登陆成功的XShell

    1
    2
    3
    wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocksR.sh
    chmod +x shadowsocksR.sh
    ./shadowsocksR.sh 2>&1 | tee shadowsocksR.log
  • 接下来进入SSR参数设置,一般设置有Default参数,可直接回车,也可自行修改。

    “method”:”aes-256-cfb” 或者 “chacha20” // 加密方式
    “protocol”:”auth_sha1_v4”, // 协议
    “protocol_param”:””, // 可选填
    “obfs”:”http_simple”, // 混淆
    “obfs_param”:”bing.com”, // 混淆参数,可自行修改

    建议参数↑
  • 完成此步之后,SSR已经可以使用了,你可以开始享受科学上网的快乐了!但由于VPS服务器限制,5刀的网速大概只有100KB/S,接下来就需要加速器了!请看后文。

4.3 shadowsocks.json配置文件修改

  • shadowsocks.json文件中定义SSR的访问端口,加密方式等,我们可以使用XShell远程连接,使用vim命令修改;也可以使用XFtp下载到本地,使用任意编辑器进行修改。
  • shadowsocks.json文件可在/etc目录下找到。
  • 注释,不可直接使用,需删除注释:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    {
    "server":"0.0.0.0",
    "server_ipv6":"::",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
    #纯 SS 不带混淆 端口25 密码为123456.
    "25":"123456",
    #端口443,密码123456 ,protocol选择auth_chain_a。obfs选择tls1.2_ticket_auth,具体插件的介绍如下参考资料中
    "443":{"protocol":"auth_chain_a", "password":"123456", "obfs":"tls1.2_ticket_auth", "obfs_param":""},
    #注意无论怎么变化,最后一个端口设置,不带逗号!
    "3389":{"protocol":"auth_aes128_md5", "password":"123456", "obfs":"tls1.2_ticket_auth", "obfs_param":""}#此处没有逗号!
    },
    "timeout":400,
    #默认全局的加密方式,即上边各个端口的默认加密方式。一般为aes-256-cfb, 此处,选择为chacha20,移动设备性能较好。
    "method":"chacha20",
    #protocol.协议定义插件的默认值,origin即使用原版SS协议,不混淆。即上面端口配置中,你没有设置 protocol 和 obfs 情况下,使用的默认值。
    "protocol": "origin",
    "protocol_param": "",
    #protocol.协议定义插件的默认值,plain即使用原协议,不混淆。
    "obfs": "plain",
    "obfs_param": "",
    "redirect": "",
    "dns_ipv6": true,
    #TCP FAST OPEN ,打开
    "fast_open": true,
    "workers": 1
    }
  • 无注释版本,可直接复制粘贴,覆盖原始文件:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    {
    "server":"0.0.0.0",
    "server_ipv6":"::",
    "local_address":"127.0.0.1",
    "local_port":1080,
    "port_password":{
    "25":"123456",
    "443":{"protocol":"auth_chain_a", "password":"123456", "obfs":"tls1.2_ticket_auth", "obfs_param":""},
    "3389":{"protocol":"auth_aes128_md5", "password":"123456", "obfs":"tls1.2_ticket_auth", "obfs_param":""}
    },
    "timeout":400,
    "method":"chacha20",
    "protocol": "origin",
    "protocol_param": "",
    "obfs": "plain",
    "obfs_param": "",
    "redirect": "",
    "dns_ipv6": true,
    "fast_open": true,
    "workers": 1
    }
  • 修改并保存(vim编辑模式下,按“:wq”保存并退出),然后重启SSR:

    1
    /etc/init.d/shadowsocks restart

4.4 更新SSR

  • VPS端,需要先保存shadowsocks.json文件,再执行卸载:
    1
    ./shadowsocksR.sh uninstall
    之后,重新执行安装脚本即可。

5.BBR加速VPS服务器

  • 想要具体了解BBR相关知识,请参考此帖子,BBR是google发起的一个开源项目。
  • 更多请进本链接,了解google的BBR项目。

5.1 安装BBR

  • 此处提供给大佬们一个帖子,Debian8/Ubuntu14/CentOS6/CentOS7可参考。

  • 脚本安装,使用root用户登录,运行以下命令:

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

    安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。

  • 重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

    1
    uname -r

    查看内核版本,含有 4.13 就表示 OK 了

  • 查看其他返回值:

    1
    sysctl net.ipv4.tcp_available_congestion_control

    返回值一般为:
    net.ipv4.tcp_available_congestion_control = bbr cubic reno

1
sysctl net.ipv4.tcp_congestion_control

返回值一般为:
net.ipv4.tcp_congestion_control = bbr

1
sysctl net.core.default_qdisc

返回值一般为:
net.core.default_qdisc = fq

1
lsmod | grep bbr

返回值有 tcp_bbr 模块即说明bbr已启动。

  • 一般来说,使用了BBR加速后,观看youtube视频可达1MB/S,网速明显提升。

6.结语

  为了满足个人心愿,写了此水教程,希望能帮助到大家。

参考贴来源:一键安装最新内核并开启BBR 脚本| 秋水逸冰
科学上网教程(一)——VPS上搭建SSR

转载说明

转载请注明出处,无偿提供。

支持一下
感谢大佬们的支持