shadowsocks-go 客户端 + privoxy + 树莓派3 (Centos7 ARM)

树莓派 3 只有信用卡大小的单片机, 其系统基于 Linux. ARM 构架 CPU. 其强大的 CPU 如果只用 OpenWrt 其实太浪费了 而且 OpenWrt 网卡驱动不齐全基本需要自己再次安装. 甚至连板载 wifi 还有 HDMI AV 接口都无法使用这极大的浪费了树莓派 3 代的性能.

树莓派自带的 raspbian 系统过于臃肿 作为服务器不需要的UI系统 一些基于 UI 的软件太多, 如果作为服务器的话不推荐使用. CentOS 7 支持树莓派 3 代以后 外接USB网卡基本插上就可以识别了 我这里有2个USB有线网卡(一个X宝, 一个苹果的 A1277) 1个无线网卡 (TL-WN821N) 全部都识别不需要再次安装驱动. 在 OpenWrt 全部都不识别而且驱动及其难找.

Shadowsocks是我们常用的代理工具, 它使用 socks5 协议, 而终端很多工具目前只支持 http 和 https 等协议, 对 socks5 协议支持不够好, 所以我们为终端设置 shadowsocks 的思路就是将 socks 协议转换成 http 协议, 然后为终端设置即可。windows 下一般软件自带了转换功能无需再次安装.

shadowsocks 版本选择说明

shadowsocks - Python version                   ×   树莓派 CentOS 7 无法安装 pip
shadowsocks-nodejs - Node.js version           ×   树莓派 CentOS 7 无 Node.js 环境
shadowsocks-go - Go version                    √   树莓派 CentOS 7  有 Golang 环境 Go 版本运行效率高
shadowsocks-libev - C libev version            ×   Linux 常见版本 树莓派 CentOS 7 缺少编译环境
shadowsocks-libuv - C libuv version            ×   我没见过的版本 教程相对较少
shadowsocks-erlang - Erlang version            ×   我没见过..
shadowsocks-dotcloud - Dotcloud PAAS version   ×   还是没见过的

准备阶段

  1. 树莓派 3 代 B 型
  2. CentOS 7 ARM版
  3. golang 环境 (crypto支持库)
  4. shadowsocks-go 客户端
  5. privoxy-3.0.28-1.fc31.armv7hl.rpm (截止2019年4月25日 最新版本)

privoxy 比 polipo 要稳定许多

安装系统

下载系统: http://mirror.centos.org/altarch/7/isos/armhfp/

windows 使用 Win32DiskImager 烧录 img 镜像
Linux 使用 dd 命令烧录

准备系统

用户名: root
密码: centos

yum update
yum install screen vim wget iptables vsftpd iptables-servies golang -y
reboot   #重启

首先把 crypto 支持库解压到 /root/go/src/golang.org/x/crypto/ 目录

GOPATH=/root/go
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-local
rpm -ivh privoxy-3.0.28-1.fc31.armv7hl.rpm
reboot   #重启

到这里环境搭建完毕了!

运行配置

进入 screen 运行 ss

screen -S Shadowsocks

第一步, 进入 /root/go/bin/ 目录

cd /root/go/bin/

第二步, 运行 ./shadowsocks-local

# 参数 shadowsocks-local -s server_address -p server_port -k password -m aes-128-cfb -b local_address -l local_port

./shadowsocks-local -s="服务器ip" -p=服务器端口 -k=密码 -m=aes-256-cfb(加密方式) -b="本地ip 默认填127.0.0.1" -l=8001

有服务器激活状态表示连接成功了

Ctrl+a+d 退出屏幕!!

运行代理 privoxy

编辑配置文件 vim /etc/privoxy/config

需要向文件里面添加 (按 i 编辑 ESC 结束编辑)

#listen-address 本机IP地址:端口
listen-address 0.0.0.0:1080            #全网卡监听
forward-socks5   /  127.0.0.1:8001 .   # socks5代理地址和端口
输入:wq 回车保存退出!!

启动: systemctl start privoxy
查看状态: systemctl status privoxy

现在就可以用手机家里的设备连接 HTTP 代理 苹果 iOS 也不需要 600 多的 surge 软件了

最后更新于 2019-04-25
使用 Hugo 构建
主题 StackJimmy 设计