本教程总体采用 apt 和 pip 进行安装,无需编译,两分钟即可搭建完成。适合于 树莓派3B 的 Raspbian 系统,以及支持 apt 的 Debian 系的系统。

准备

当然,安装之前,需要打开树莓派的 ssh,而且最好做好相关防护,不然端口很可能被扫爆。

更新源

sudo apt update && sudo apt upgrade && sudo apt autoremove

fail2ban(推荐)

安装 fail2ban 服务,该服务装好后重启生效、自启动,作用:ssh登录错误5次ban10分钟。

sudo apt install fail2ban

另外可以在 /etc/fail2ban/jail.conf 修改fail2ban参数。

安装

树莓派的 Raspbian 是基于 Debian 的系统,支持 apt 软件包管理(新立得)安装,那么就不需要编译了,树莓派这个性能,编译东西简直要炸了。apt 源里默认是有 shadowsocks 的,可由于作者不再维护 apt 和 pip 中的 Shadowsocks,定格在了很老的3.0.0,所以我们用 python 的 pip 安装

首先安装 python3 和 pip

sudo apt install python3 && sudo apt install python3-pip

然后使用 python3 的 pip 安装最新的 shadowsosks

sudo python3 -m pip install https://github.com/shadowsocks/shadowsocks/archive/master.zip

安装完成查看一下 shadowsocks 的版本

sudo ssserver --version

软件包附带两个命令,ssserversslocal。一个用于服务端配置,一个用于客户端配置。详细情况可以运行man shadowsocks来查看。

另外新版 SS 支持了 chacha20 等加密算法,需要安装 libsodium

sudo apt install libsodium-dev

配置

有两种配置方法,一种是命令行参数配置,一种是配置文件。

命令行配置

参数名 参数意义
-s 服务器地址
-p 服务器端口号
-k 服务器密码
-m 服务器加密方式
-t 服务器超时时间
-c 配置文件路径
-fast-open 快速打开模式,仅Unix/Linux系统可用
-workers 工作者数量

每次运行 shadowsocks 都将一大堆参数传进去是件很麻烦的事情。所以一般情况下都是采用配置文件的方式来配置的。然后通过-c参数将配置文件路径传入。

配置文件

shadowsocks 的配置文件是一个json形式的文件,各参数的意义和命令行参数意义相同。

{
    "server": "0.0.0.0",
    "server_port": 8435,
    "local_address": "127.0.0.1",
    "local_port": 1080,
    "password": "mypassword",
    "timeout": 300,
    "method": "chacha20-ietf",
    "fast_open": true,
    "workers": 1,
    "prefer_ipv6": false
}

服务器地址就写0.0.0.0即可,0.0.0.0意思是转发到外网,不要写127.0.0.1,127.0.0.1是仅在内网使用。端口号可以自己写,但是不要占用其他服务的端口,我这里使用 8435 是因为我们学校仅允许连接外网 22/80/443/5228 端口。本地地址和本地端口是客户端使用的,服务端可以不用理会。密码尽量采用复杂一点的密码,以保证安全性。加密方式如果仅仅在手机或者电脑使用,用 aes-256-cfb 就可以,如果是路由器使用推荐 chacha20-ietf-poly1305。如果服务器是Linux系统的话,打开fast_open。

配置文件编辑完毕之后,就可以运行shadowsocks了。尝试前台运行:

ssserver -c /etc/shadowsocks/config.json

后台运行和停止

ssserver -c /etc/shadowsocks/config.json -d start
ssserver -c /etc/shadowsocks/config.json -d stop

以上都是在root用户下运行的。以root方式运行可能会有一些安全问题。所以一般都是使用普通用户运行:

ssserver -c /etc/shadowsocks/config.json --user nobody -d start

开机启动

以上都需要自己手动运行命令来启动shadowsocks。要让shadowsocks在系统启动时自动运行,需要在/etc/rc.local中添加命令。

sudo ssserver -c /etc/shadowsocks/config.json --user nobody -d start

PC端的连接

传统的ss或者ssr客户端只能满足网页走代理的需求,为了使全部应用,比如网盘、游戏软件等等统统走代理,推荐使用SSTap。


人生有無數種可能,人生有無限的精彩,人生沒有盡頭。一個人只要足夠的愛自己,尊重自己內心的聲音,就算是真正的活著。