shadowsocks 是一种基于Socks5代理方式的网络数据加密传输包,并采用Apache许可证、GPL、MIT许可证等多种自由软件许可协议开放源代码。shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。目前包使用Python、C、C++、C#、Go语言等编程语言开发。
运行原理:
***的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。
二、搭建教程
1、环境介绍
阿里云服务器ECS(香港):
配置: cpu 1核心、内存1GB、出网带宽1Mbps。
系统: centos7
2、服务器端搭建
1)使用root用户,分别执行以下3条命令
$ wget –no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks\_install/master/shadowsocks-all.sh
$ chmod +x shadowsocks-all.sh
$ ./shadowsocks-all.sh2>&1 | tee shadowsocks-all.log
执行后,会提示输入源码语言,密码、端口、及加密方式等。(笔者这里端口使用8989;源码选择的是go语言;加密方式我这里选择aes-256-cfb;)
最终会显示以下效果,说明部署已完成:
Congratulations, your_shadowsocks_version install completed!
Your Server IP :11.11.11.11
Your Server Port :8989
Your Password :123456
Your Encryption Method:aes-256-cfb
Welcome to visit:https://teddysun.com/486.html
Enjoy it
2)把8989端口设置为开放状态
打开防火墙配置文件:
1 | $ vim /etc/sysconfig/iptables |
插入下面这句:
1 | -A INPUT -p tcp -m state --state NEW -m tcp --dport 8989 -j ACCEPT |
保存后使更改生效,执行以下:
1 | $ service iptables save |
3)开放云服务器端口(如果是阿里云服务器请继续看)
阿里云有安全组配置,需要进入阿里云管理界面找到安全组配置,把8989端口开放。否则外网依然无法方位该端口。
至此,服务器部署完成!
4)卸载方法:使用root用户,执行以下命令即可
1 | $ ./shadowsocks-all.sh uninstall |
3、客户端使用1)windows客户端
首先搜索shadowsocks-windows,打开后进行如下配置。
服务器地址:云服务器ip、端口:之前配置的端口、加密方式要选择服务器选择的加密方式、本级代理端口1080(可以改成别的)。
配置好后,在电脑右下角找到ss,并点击启用。
至此,代理配置成功!
2)iphone代理配置
a.下载:
APP Store中下载 SsrConnectPro( 目前中国区可下载,没有被封 )。
b.使用:
打开App后,点击右上角+ 号:
type:ss
name : 随便起一个名字即可。笔者是:abcd
server : 云服务器ip
port : 刚才配置的ip。笔者是:8989
password :你服务器设置的密码
proxyMethod:system
method :刚才配置的加密方式。笔者是:AES-256-CFB
点击’save configuration’后进入choos页面,点击你刚刚创建的那个名字abcd即可。回到首页,找到你创建的代理并打开。
配置成功!经测试google、YouTube等网站打开很快,1080p视频毫无压力。
3)ubuntu系统代理配置
a.安装shadowsocks
1 | $ sudo apt install shadowsocks |
b.找到config.json,并编辑代理配置
1 | $ cd /etc/shadowsocks/ |
c.启动shadowsocks,启动后控制台不要关闭
1 | $ sslocal -c config.json |
d.配置代理。
右上角-系统设置-网络-网络代理-手动。
Socks主机:127.0.0.1 端口:1080
最后点击’应用到整个系统’,至此,配置完成。
e.让终端也走代理的方法:
在~/.bashrc文件中增加以下两句,表示bash终端中的http和https的请求也通过socks5协议进行代理转发。
1 | export http\_proxy='socks5://127.0.0.1:1080'; |