鏡の夢 - 2017年2月
type: channel
link: http://loli.world/2017/02/
items: 树莓派使用 SSR 进行全局代理

树莓派使用 SSR 进行全局代理
type: item
date: 2017-02-28T15:03:00+00:00
description: 2017-08-07 更新 libsodium 版本， ssr python 换源 2017-12-10 更新 libsodium 版本， ssr python Wiki更换地址实在受不了 apt 和 gayhub 的那龟速，于是挂上 SSR ，别和我说树莓派国内有镜像源，有树莓派的自己 sudo apt upgrade 就知道有多感人了 使用前首先需要有一台国外的安装了 SSR 的 VPS ，或着某某机场的 SSR 这里使用的是 SSR Python，并不是 SSR-libev ,而且是全局代理（应该不会有人用拿树莓派来浏览国内网站的吧...）下面开始安装 SSR ：如果你的 SSR 加密是 salsa20 或 chacha20 或 chacha20-ietf 需要编译 libsodium ，如果不是略过这一步sudo apt install build-essential VERSION='1.0.15' CPUNUM=`cat /proc/cpuinfo | grep 'processor' | wc -l` cd ~ wget -c "https://github.com/jedisct1/libsodium/releases/download/${VERSION}/libsodium-${VERSION}.tar.gz" # 慢慢等 tar xzf libsodium-${VERSION}.tar.gz pushd libsodium-${VERSION} ./configure make -j${CPUNUM} sudo make install sudo ldconfig popd rm -rf libsodium-${VERSION}*从 github 下载 SSR Python 源码（慢慢等吧，还有可能失败）sudo apt install m2crypto git supervisor libevent-dev git clone -b manyuser https://github.com/shadowsocksr-backup/shadowsocksr cd ~/shadowsocksr bash initcfg.sh vi user-config.json # 编辑配置文件， vi 不熟悉可以用 nano编辑好后测试一下是否能运行 python shadowsocks/local.py 没报错的话 Ctrl+C 结束继续下一步，如果有报错继续改配置文件 如果对配置文件不熟悉的可以看详细看 https://github.com/ssrbackup/shadowsocks-rss/wiki/config.json server 填服务器地址 server_port 填服务器端口 local_address 和 local_port 不需要修改，其余的自己按照 Wiki 修改下载和编译 redsocksredsocks 的作用是将 socks 转换为 httpcd ~ git clone https://github.com/darkk/redsocks pushd redsocks make cp redsocks.conf.example redsocks.conf sed -i "s/ip = example.org/ip = 127.0.0.1/" redsocks.conf popd新建一个专门用来运行 SSR 和 redsocks 的账号sudo useradd -M -s /sbin/nologin sssupervisor 守护进程和开机自启下面的配置把 log 全部扔掉了，如果有需要的可以自己改 stdout_logfile 项sudo bash -c "cat > /etc/supervisor/conf.d/ss.conf" <<EOF [program:ss] directory = /home/pi/shadowsocksr/shadowsocks command = python /home/pi/shadowsocksr/shadowsocks/local.py autostart = true autorestart = true startsecs = 10 startretries = 36 user = ss redirect_stderr = true stdout_logfile = /dev/null EOF sudo bash -c "cat > /etc/supervisor/conf.d/redsocks.conf" <<EOF [program:redsocks] directory = /home/pi/redsocks command = /home/…