翻墙代理设置
最近从同事手中借了一个ShadowSocks
的账号, 用来翻墙使用, Windows和Mac使用的时候都比较简单, 因为有图形化的页面, 但是在Ubuntu上遇到不大不小的问题, 特意记录一下.
安装客户端
1 | # 如果没有安装过pip, 请先安装 |
填入你服务端的配置项:
1 | { |
启动客户端
1 | sslocal -c ~/shadowsocks.json |
这个时候, 如果你的shadowsocks版本是2.8.2的话, 就会出现以下的异常信息:
1 | undefined symbol EVP_CIPHER_CTX_cleanup |
找到安装目录
1 | pip list -v|grep shadowsocks |
进入到安装后执行以下命令替换py的源码
1 | sed -i "s/cleanup/reset/g" crypto/openssl.py |
重新之后, 看到端口绑定日志
1 | 019-08-03 23:01:59 WARNING warning: your timeout 30 seems too short |
注意: 在linux上1080端口监听的类型是
socks5
, 而如果使用windows版本, 1080监听的是http
类型. 这个时候使用lsof -i:1080
是看不到socks5监听进程的.
Chrome代理设置
Chrome有比较好的插件: SwitchyOmega
在配置页面直接导入配置项:
然后修改FWWed
的代理端口已经被正确设置
最后在Chrome的插件按钮上切换地址的时候, 使用自动切换
即可
Socks5代理转HTTP代理
国产的浏览器一般是不支持socks代理的, 所以需要讲sock5代理转为http代理
1 | sudo apt install privoxy |
修改以下的配置项:
1 | isten-address localhost:8118 |
重启服务
1 | sudo /etc/init.d/privoxy restart |
开机启动
ubuntu18.04不再使用initd管理系统,改用systemd,为了像以前一样,在/etc/rc.local中设置开机启动程序,需要以下几步:systemd默认读取/etc/systemd/system下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。一般系统安装完/lib/systemd/system/下会有rc-local.service文件,即我们需要的配置文件
链接服务并修改服务
1 | sudo ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service |
加入部分设置
1 | # SPDX-License-Identifier: LGPL-2.1+ |
创建/etc/rc.local
文件
1 | sudo vim /etc/rc.local |
填入以下内容
1 |
|
注意这个脚本是以root用户启动的, 所以一定要确保root一定能访问相应的文件
添加执行权限
1 | sudo chown 755 /etc/rc.local |