如何自建一个SSR代理?这次笔记主要从服务器和客户端两部分配置来说明。
这篇笔记的内容主要还是针对有一定计算机基础或者动手能力比较强的爱好者来尝试的。如果是一些工作需要国际交流的,还是推荐使用现成的服务,毕竟自己管理服务器比较麻烦,也需要技术成本。
Part1 服务器
首先,如果想要有一个自建的SSR代理,就必须要有一个自己的服务器(VPS),一般常用的云服务厂商就是Bandwagonhost、DigitalOcean、Linode或者是国内厂商的境外节点比如阿里云、腾讯云、华为云之类的。
在部署VPS节点时,一般会让你选择系统镜像。我一般使用Ubuntu比较多,所以基本上都是选择Ubuntu的最新版本的镜像。
我具体用在DigitalOcean上部署一个VPS为例子。
- 在DigitalOcean上注册一个账号。
- 根据它的引导添加支付方式和新的Project。
- 在Project里面点击Create Droplets(在DigitalOcean上Droplets指一个VPS)。
- 弹出服务器配置页面,选择Ubuntu镜像和最低配置的硬件($5/month)。
- 选择一个你需要境外机房,我一般用美国、新加坡或日本的。
- 认证方式选择SSH Key(PS:需要提前在个人帐户设置用添加SSH Key,点击右上角头像的Account->Security页面添加SSH Key,里面会说明怎么使用命令行添加SSH Key)。
- 把自己的添加好,返回到刚刚选择服务器的界面(PS:可能需要重新选择一次)。
- 修改一个Hostname就创建好了。
用Xshell或者终端的SSH连接你的服务器,我这里以终端为例子:
1 | 以下为终端命令 |
Part2 客户端
客户端的主要分Window、Linux和Mac OS,移动端的就不阐述了网上有许多教程。
Window和Mac OS
- 保存安装界面的信息,包括QR—code(下载到本地)和SSR链接
- 安装SSR客户端,启动客户端。
- 在右上角任务栏里,右键小飞机,勾选PAC模式,勾选登录时启动,勾选启动时连接。
- 在服务器那一个菜单的子菜单里最下面服务器偏好设置。
- 填入你刚刚的保存的服务器配置信息
Linux - Ubuntu(方法一)
在安装好Ubuntu后,因为想使用Chrome,在登录的时候发现要翻墙。这时候我觉得需要设置个全局的ssr代理。因此,才有了下面的过程。
1. 下载SSR客户端
1 | git clone https://github.com/ssrbackup/shadowsocksr |
2. 配置SSR的配置文件
进入刚刚复制下来的文件夹,里面有一个config.json
的文件,将它复制一份并命名为config.json.backup
作为备份。
打开config.json
文件,对里面的一些参数进行修改,主要是改成自己服务器端所设置的配置。
主要有以下几项
1 | { |
3. 运行SSR
在当前目录下,运行一下命令
1 | python3 shadowsocks/local.py |
如果看到以下输出,就没啥大问题了。
1 | IPv6 support |
接下来就是如何利用privoxy设置全局代理
4. 安装privoxy
1 | sudo apt install privoxy |
5. 配置privoxy
安装后,打开/etc/privoxy/config
,把这两句注释掉(具体位置在4.2部分的前面两句):
1 | # listen-address 127.0.0.1:8118 |
在文件的最后加上:
1 | forward-socks5 / 127.0 :1080 . |
一定要注意第一行最后的点。
最后就是设置系统的代理,打开Ubuntu的设置。
在左侧导航栏找到网络
设置网络代理(network proxy),选择“手动(Manual)”
删掉最后一栏的内容。
把前4栏都设置成IP:127.0.0.1,端口:8118
现在试一下登录chrome就成功了。
Linux - Ubuntu(方法二)
这两天在看Ubuntu美化时,发现了另外同样也是配置SSR脚本的方法。这里也再介绍一下,给大家提供不同的参考意见。这里使用的时Charles的脚本。
- 直接复制脚本,并在本地保存名为
ssr
的文件。 - 修改其中
ssr_start()
函数,在sleep 1
之前加入:
1 | gsettings set org.gnome.system.proxy.http host '127.0.0.1' |
- 在
ssr_stop()
里,在sudo python3 local.py -d stop
之前加入:
1 | gsettings set org.gnome.system.proxy mode 'auto' |
- 修改该文件的权限,并把他放到用户本地的命令目录里面,这样下次可以直接输命令调用比较方便。
1 | chmod 700 ssr |
- 在命令行里面运行
1 | ssr install # 等待安装完毕 |
参考
Linux 配置SSR 客户端
shadowsocsR+privoxy liunx下使用SSR全局代理
Modified on 12.20, 2020, in Beijing.