目前最有效的翻墙方式是Shadowsocks,但是Shadowsocks是socks5代理且需要安装客户端,所以在部分设备上无法使用。而最为通用的代理方式是http代理,几乎所有的设备都可以使用http代理。本文介绍如何在树莓派上安装Shadowsocks客户端,并将其转换为http公共代理服务器。
一、安装Shadowsocks客户端
首先安装Shadowsocks客户端,Shadowsocks客户端有多种选择,可随意安装其中一种,本人偏爱libev版客户端。
在终端中执行以下命令
git clone https://github.com/shadowsocks/shadowsocks-libev.git cd shadowsocks-libev sudo apt-get install --no-install-recommends build-essential autoconf libtool libssl-dev gawk debhelper dh-systemd init-system-helpers pkg-config asciidoc xmlto dpkg-buildpackage -b -us -uc -i cd .. sudo dpkg -i shadowsocks-libev*.deb
也可以使用breakwa11的ShadowsocksR
git clone https://github.com/breakwa11/shadowsocks-libev.git
二、配置Shadowsocks客户端
1.修改init.d服务脚本
使用root权限修改/etc/init.d/shadowsocks-libev文件,将其中的
DAEMON=/usr/bin/ss-server
修改为
DAEMON=/usr/bin/ss-local
/usr/bin/ss-server是服务端程序,/usr/bin/ss-local是客户端程序。
2.修改Shadowsocks配置文件
使用root权限修改/etc/shadowsocks-libev/config.json文件
{ "server":"www.example.com" #服务器IP "server_port":8388, #服务器端口 "local_address":"0.0.0.0", #客户端监听IP范围 "local_port":1080, #客户端监听端口 "password":"password", #认证密码 "timeout":60, "method":"aes-256-cfb" #加密方式,常用的是aes-256-cfb }
3.运行Shadowsocks客户端
一般安装完libev版Shadowsocks,默认都会把Shadowsocks设置为开机自动运行,只需要重启树莓派即可自动加载新的配置。也可以手动重启Shadowsocks服务。
sudo service shadowsocks-libev restart
至此,Shadowsocks客户端配置完成,可以使用其他设备测试是否正常。
三、配置http公共代理服务器
1.安装Privoxy
sudo apt-get install privoxy
2.配置Privoxy
修改/etc/privoxy/config文件
#修改监听端口,设置为全局监听,也可设置为仅监听局域网 #listen-address localhost:8118 listen-address 0.0.0.0:8118 #设置所有网站通过socks5转发,不要漏了最后的. forward-socks5 / 127.0.0.1:1080 .
3.重载配置文件
sudo service privoxy restart
四、配置自动切换代理
可以为Privoxy设置白名单和黑名单,实现仅被墙网站走Shadowsocks通道。
1.修改/etc/privoxy/config文件
#删除之前设置的所有网站通过socks5转发 #forward-socks5 / 127.0.0.1:1080 . #在最后一行添加以下内容 actionsfile pac.action
2.新建/etc/privoxy/pac.action文件,输入以下内容
{{alias}} direct = +forward-override{forward .} shadowsocks = +forward-override{forward-socks5 127.0.0.1:1080 .} default = direct #==========默认代理========== {default} / #==========直接连接========== {direct} .edu.cn 202.117.255. 222.24.211.70 #==========shadowsocks代理========== {shadowsocks} com.google domains.google googleapis.com googleapps.com googleartproject.com googleblog.com googlebot.com googlecode.com googlecommerce.com googledomains.com googledrive.com googleearth.com googlegroups.com googlehosted.com googleideas.com googlelabs.com googlemail.com googleplay.com googleplus.com googlesource.com googleusercontent.com googlevideo.com googlezip.net groups.google.cn gstatic.com .google.com .googlesile.com .git.io .github.com
也可以直接使用我编辑好的文件,基本涵盖了常见的被墙网站。