在树莓派上设置透明代理
目前, 我在树莓派上搭建了VPN. 只有树莓派联网, 其他设备都通过VPN连接树莓派实现上网. 但是有点不好的地方是, 很多网站都被墙了, 例如我在电脑上就不能够使用Dropbox, 更加别提Facebook, YouTube等了.
本文将在树莓派上设置透明代理, 一些原理我也不是非常明白, 但是在这里作一记录, 方便以后补充完善. 希望大家不吝赐教.
基本假设
- 已有一个VPS, 可以正常访问上述被墙网站.
- 可以正常联网的树莓派, ssh可登陆
VPS上shadowsocks服务器的安装配置
此步较为简单, 在VPS上配置好Shadowsocks, 可以参考https://github.com/shadowsocks/shadowsocks-libev, 记住VPS IP, 端口号和密码以及加密方式.
树莓派上安装ss客户端
接下来, 在树莓派上配置Shadowsocks客户端, 这实现了树莓派通过VPS代理上网.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
#以管理员运行 sudo -s #安装pip管理python包 apt-get install python-pip python-m2crypto #安装python版shadowsocks pip install shadowsocks #设置shadowsocks客户端(我用的vim作为编辑器, 可以用vi) vim /etc/shadowsocks.json #输入以下内容 { "server":"xxx.xxx.xxx.xxx", //VPS IP "server_port":8388, //VPS端口 "local_address": "xxx.xxx.xxx.xxx", //树莓派IP "local_port":1080, //树莓派端口 "password":"mypassword", //VPS上设置shadowsocks服务器的密码 "timeout":60, "method":"encrypt_method", //VPS 上设置的加密方式, 不知道可以选择"aes-256-cfb" "fast_open": false, "workers": 1 } #开机自启动 vim /etc/rc.local #在最后的exit之前添加 /usr/local/bin/sslocal -c /etc/shadowsocks.json & |
至此shadowsocks客户端设置成功. 你可以手动启动已测试是否正常工作:sslocal -c /etc/shadowsocks.json
利用cow自动代理
其实就是说有个列表, 在树莓派上, 被墙的网站走代理, 普通网站还是走正常的线路.
首先, 确保你能够访问cow的项目地址: https://github.com/cyfdecyf/cow. 否则自己想办法吧.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
#退出root账户 su - pi #创建路径 mkdir /home/pi/Cow && cd /home/pi/Cow #安装Cow, 稍等会要你填入安装的绝对路径, 直接Enter使用当前目录<code>/home/pi/Cow/" curl -L git.io/cow | bash #配置Cow vim ~/.cow/rc #添加以下命令到文件最后, 你可以看看配置文件的注释, 好像非常高级 #前一句表示cow在pi上的监听端口, 后一行表示cow使用的代理方式 #其实我觉得填树莓派的客户端shadowsocks配置即可, 这里使用的是VPS的ss服务器作为代理 #此外, 好像说cow实际上自建了连接ss服务器功能, 所以第一部分的ss安装配置可以省略 listen = http://树莓派ip:19877 proxy = ss://encrypt_method:mypassword@my_server_ip:8388 #修改Cow目录权限 sudo -s chmod 777 /home/pi/Cow/cow -R #看Cow的rc文件可知, 需要设置相关的文件路径 ln -s /home/pi/Cow/cow /usr/local/bin/ ln -s /home/pi/.cow/rc /root/.cow/rc #设置开机启动, 参考https://github.com/cyfdecyf/cow/blob/master/doc/init.d/cow #新建启动脚本 vim /etc/init.d/cow #录入上述链接的内容 #修改权限并加入到开机启动 chmod +x /etc/init.d/cow && update-rc.d cow defaults |
至此重启机器, 即可.
IE上设置代理上网
在本地电脑上, 打开IE, 设置->连接->局域网设置->勾选使用自动脚本, 并在地址里填入: http://树莓派ip:19877/pac
参考文献
- http://briteming.blogspot.com/2013/02/raspberry-pi_11.html
- http://blog.imfer.me/#!/post/2014-04-25-raspberry-pi-cross-gfw
- http://www.csimba.com/archives/325
- http://tuzhihao.me/ke-xue-shang-wang/
- https://github.com/cyfdecyf/cow/blob/master/doc/init.d/cow
本作品采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循署名-非商业用途-保持一致的创作共用协议.
发表回复