Table of Contents
科学上网
配置服务器
基于Shadowsocks和ssh
- 服务器一般选择linux系统, 运行稳定, 还自带openssl, 因此只需要在部署之后, 安装Shadowsocks就可以, 下面介绍如何使用Shadowsocks进行搭建.
一. 部署服务器
-
配置服务器一定得有一台虚拟的机器才行, 一般要求不高的话可以选择比较便宜的Vultr, 最少充值10$, 可以使用支付宝进行充值.
-
选择服务器位置. 不要觉得日本近而选择日本节点, 因为它并不一定是最快的服务器, 通过点击下载测试网速文件进行选择最快的节点. 点击测试
-
测试节点网速, 选快的(废话). 这里需要注意的是, 位于不同国家或城市的服务器的套餐价位是可变的, 一般价格为5 $/mon, 或者是按小时收费, 只要服务器搭建好了, 就会持续收费, 除非你摧毁掉它.
-
还有一些城市有2.5 $/mon的套餐, 但是只支持ipv6, 对于国内一般家庭网络(ipv4)可能不支持. 这里我选择纽约.
-
服务器的系统选择Ubuntu18.4, 点击部署就可以了, 等待几分钟, 服务器就搭建好了, 记住IP和密码下面要用到.
二. 服务器基础配置
-
服务器部署结束之后, 使用终端(linux)或者ssh客户端putty(Windows, Mac)来登录并控制服务器.
-
使用命令登录.
ssh root@服务器IP
, 输入上面的登录密码后, 就可以登录了 -
首先, 更新源
apt-get update && upgrade
-
安装python组件
apt-get install python-pip python-gevent python-m2crypto
-
更新pip库
pip install --upgrade setuptools
-
安装shadowsocks, 出现Successful installed shadowsocks-xxx就说明成功了.
pip install shadowsocks
三. Shadowsocks服务端配置
-
新建文件夹, 使用vim编辑器编辑配置文件.
mkdir -p /etc/shadowsocks vim /etc/shadowsocks/config.json
- vim编辑器使用说明:
按键 | 功能 |
---|---|
i | 进入编辑模式 |
ESC | 退出编辑模式 |
:w Enter | 保存文件 |
:q Enter | 退出 |
-
config.json内容如下
{ "server":"0.0.0.0", "server_port":8838, "password":"your password", "time_out":600, "method":"aes-256-cfb", "fast_open":false }
- 简单说明:
- server: Vultr服务器的IP地址
- server_port: 端口数, 可以自己写
- password: 登录密码, 与Vultr提供的不一样, 自己定义
- time_out: 超时
- method: 加密方式
- 简单说明:
-
如果需要开启多个端口, 可以使用以下内容
{ "server":"0.0.0.0", "port_password":{ "8888":"yourpassword", "8838":"yourpassword" }, "time_out":600, "method":"aes-256-cfb", "fast_open":false }
-
由于部分openssl升级到了1.1.0版本, 所以启动时可能会报undefined symbol错误, 下面解决这个错误. 如果没有报错, 那么可以直接跳过这一部分.
- 打开openssl.py
vim /usr/local/lib/python2.7/dist-packages/shadowsocks/cropto/openssl.py
- 将文本中52行和111行的cleanup替换为reset, 即:
libcrypto.EVP_CIPHER_CTX_cleanup
–>libcrypto.EVP_CIPHER_CTX_reset
-
启动shadowsocks服务.
ssserver -c /etc/shadowsocks/config.json -d start
以上就把服务端配置好了, 第4步开机自启可以跳过. 但如果你服务器经常需要重启, 继续第4步.
四. Shadowsocks服务端开机自启动(可选)
-
创建shadowsocks.service文件
vim /etc/systemd/system/shadowsocks.service
-
文件内容如下
[Unit] Description=Shadowsocks After=network.target [Service] Type=forking PIDFile=/run/shadowsocks/server.pid PermissionsStartOnly=true ExecStartPre=/bin/mkdir -p /run/shadowsocks ExecStartPre=/bin/chown root:root /run/shadowsocks ExecStart=/usr/local/bin/ssserver --pid-file /var/run/shadowsocks/server.pid -c /etc/shadowsocks/config.json -d start Restart=on-abort User=root Group=root UMask=0027 [Install] WantedBy=multi-user.target
-
更改文件权限
chmod 755 /etc/systemd/system/shadowsocks.service
-
启动服务
systemctl start shadowsocks systemctl enable shadowsocks
五. Shadowsocks客户端配置
不同操作系统使用Shadowsocks的方式大同小异, 下载安装shadowsocks客户端, 资源见下:
- Linux, Windows, Mac:
- 添加新配置, 填写服务器IP地址, 自己上面设置的端口和对应的自己设置的密码, 本地IP和端口保持默认(一般为127.0.0.1:1080).
- 测试节点延迟, 并进行连接, 打开系统代理或全局代理即可.
- (可选) Linux系统有应用代理, 可以单独设置代理上网的应用.
- Android:
- 配置同上, 一般没有设置本地IP和端口的选项.
六. 上网设置(可选)
-
按照上述连接后, 上网请求全部经服务器连接, 此时打开国内的资源会很慢, 此时可以通过浏览器插件来实现分流. Chrome/Chromium/FireFox等推荐使用SwitchOmega, 具体使用方法可以百度.
-
打开自动切换(AutoSwitch), 默认直接连接. 当不能连接时, 点击图标选择代理方式, 即可轻松实现上网操作.
七. 其他资源
- Putty 下载地址:
- Shadowsocks客户端 下载地址:
- Windows:
- Mac OS X:
- linux:
- iOS:
- Android: