前言:作为一名IT技术狗,在日常工作学习中,难免会经常使用搜索引擎来搜索技术问题,而众所周知的是百度在技术搜索上就是个笑话,想要快速找到答案还是得靠Google,但是因为某些不可描述的原因,在国内想通过正规途径来访问Google完全是不可能的。
那么问题来了,如何通过一些技术小手段来正常访问Google呢?一般来说,常见的方法是通过国外线路的VPN来访问,然而这种情况下有一些使用上的不便。比如说:很多时候在解决问题的时候我们会有这样的需求,一边使用VPN线路通过Google来搜索技术问题同时还需要通过QQ等即时通信软件与同事朋友交流沟通,此时因为我们通过VPN线路来上网,那么就会出现QQ异地登录警告,严重时腾讯会直接将QQ冻结。所以,对于日常工作来说,我认为VPN太重,我们需要一个轻量级的工具仅需能够代理浏览器的请求即可,那么这时shadowsocks就是最好的选择了。
1.安装python-pip
Pip是安装Python包的工具,提供了安装、列举已安装包、升级以及卸载包的功能。Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装。
目前有很多Python程序都是可以直接通过Pip来一键安装了,比如众所周知的Django、Markdown、Shadowsocks等。
1 | yum install -y python-pip |
2.通过pip安装shadowsocks
1 | pip install shadowsocks |
3.创建shadowsocks配置文件
shadowsocks安装完成后默认是没有配置文件的,这时候就需要我们自己来创建配置文件,配置文件为json格式,很简单。
1 | vim /etc/shadowsocks.json |
配置文件各字段含义:
各字段的含义:
server:服务器 IP (IPv4/IPv6),注意这也将是服务端监听的 IP 地址
server_port:监听的服务器端口
local_address:本地监听的 IP 地址
local_port:本地端端口
password:用来加密的密码
timeout:超时时间(秒)
method:加密方法,可选择 “bf-cfb”, “aes-256-cfb”, “des-cfb”, “rc4”, 等等。默认是一种不安全的加密,推荐用 “aes-256-cfb”
fast_open : true 或 false。如果你的服务器 Linux 内核在3.7+,可以开启 fast_open 以降低延迟。开启方法:
1 | echo 3 > /proc/sys/net/ipv4/tcp_fastopen |
开启之后,将 fast_open 的配置设置为 true 即可。
works : works数量,默认为 1
这一段参考:https://teddysun.com/339.html
4.服务器端启动shadowsocks
在服务器端启动shadowsocks有很多方法,此处我们使用的是指定配置文件启动。
1 | ssserver -c /etc/shadowsocks.json |
但这种启动方式将一直启动在当前会话,所以,我们要将其放入后台启动,同时还可以指定记录日志。
1 | nohup ssserver -c /etc/shadowsocks.json 2> /var/log/shaowsocks.log & |
将启动命令写入/etc/rc.local设置为开机启动
1 | echo "nohup ssserver -c /etc/shadowsocks.json 2> /var/log/shaowsocks.log &" >> /etc/rc.local |
查看端口是否监听,判断服务是否正常启动
1 | netstat -nultp |
如果端口没有监听,那么一定是启动过程中出错了,直接根据报错提示排错,我在配置过程中也出了一次错误。
1 | ssserver -c /etc/shadowsocks.json |
其实这个错误提示很明显,配置文件第9行出错,检查了下shadowsocks.json发现,第9行多写了一个”,”
5.添加防火墙规则
1 | iptables -I INPUT -p tcp --dport 8489 -j ACCEPT |
至此,服务器端的 Shadowsocks 安装和配置完毕。
6.shadowsocks客户端配置
shadowsocks客户端配置非常简单,自行百度即可。