树莓派 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 × 还是没见过的
准备阶段
- 树莓派 3 代 B 型
- CentOS 7 ARM版
- golang 环境 (crypto支持库)
- shadowsocks-go 客户端
- 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 软件了