环境准备

1
2
3
环境:阿里云香港ECS
配置:cpu 1核心、内存 0.5GB、出网带宽 1Mbps
系统:centos7.5

shadowsocks简介

shadowsocks是一种基于Socks5代理方式的网络数据加密传输包,并采用Apache许可证、GPL、MIT许可证等多种自由软件许可协议开放源代码。shadowsocks分为服务器端和客户端,在使用之前,需要先将服务器端部署到服务器上面,然后通过客户端连接并创建本地代理。目前包使用Python、C、C++、C#、Go语言等编程语言开发。

运行原理:Shadowsocks的运行原理与其他代理工具基本相同,使用特定的中转服务器完成数据传输。在服务器端部署完成后,用户需要按照指定的密码、加密方式和端口使用客户端软件与其连接。在成功连接到服务器后,客户端会在用户的电脑上构建一个本地Socks5代理。浏览网络时,网络流量会被分到本地socks5代理,客户端将其加密之后发送到服务器,服务器以同样的加密方式将流量回传给客户端,以此实现代理上网。

开始搭建

1、使用root用户,分别执行以下3条命令

1
wget --no-check-certificate -O shadowsocks-all.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks-all.sh
1
chmod +x shadowsocks-all.sh 
1
./shadowsocks-all.sh 2>&1 ' tee shadowsocks-all.log

执行后,会提示输入源码语言,密码、端口、及加密方式等。(笔者这里端口使用8989;源码选择的是python语言;加密方式我这里选择aes-256-cfb;)

最终会显示以下效果,说明部署已完成:

1
2
3
4
5
6
7
8
9
10
11
12
13
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端口开放。否则外网依然无法方位该端口。

至此,服务器部署完成!

3、卸载方法:使用root用户,执行以下命令即可

1
$ ./shadowsocks-all.sh uninstall

使用

windows客户端

首先搜索shadowsocks-windows,打开后进行如下配置。

服务器地址:云服务器ip、端口:之前配置的端口、加密方式要选择服务器选择的加密方式、本级代理端口1080(可以改成别的)。
upload successful

配置好后,在电脑右下角找到ss,并点击启用。

upload successful

iphone代理配置

a.下载:

APP Store中下载shadowrocket(需美国id付费)。

b.使用:

打开App后, 点击右上角 + 号:

1
2
3
4
5
6
7
8
9
10
11
12
13
type:ss  

name : 随便起一个名字即可。笔者是:abcd

server : 云服务器ip

port : 刚才配置的ip。笔者是:8989

password : 你服务器设置的密码

proxyMethod:system

method : 刚才配置的加密方式。笔者是:AES-256-CFB

点击”save configuration”后进入choos页面,点击你刚刚创建的那个名字abcd即可。回到首页,找到你创建的代理并打开。

配置成功!经测试google、YouTube等网站打开很快,1080p视频毫无压力。

ubuntu系统代理配置

a.安装shadowsocks

1
$ sudo apt install shadowsocks

b.找到config.json,并编辑代理配置

1
2
$ cd /etc/shadowsocks/
$ sudo vim config.json
1
2
3
4
5
6
7
8
9
{
"server":"x.x.x.x", //ss服务器的ip
"server_port":8989, //ss服务器的端口,笔者这里配置的是8989
"local_address": "127.0.0.1",
"local_port":1080, //本机端口:可以换成别的
"password":"123456", //ss服务器密码
"timeout":300,
"method":"aes-256-cfb" //ss服务器配置的加密方式
}

c.启动shadowsocks,启动后控制台不要关闭

1
$ sslocal -c config.json

d.配置代理。

右上角-系统设置-网络-网络代理-手动。

Socks主机:127.0.0.1    端口:1080

最后点击”应用到整个系统”,至此,配置完成。

e.让终端也走代理的方法:

在~/.bashrc文件中增加以下两句,表示bash终端中的http和https的请求也通过socks5协议进行代理转发。

1
2
export http_proxy="socks5://127.0.0.1:1080"
export https_proxy="socks5://127.0.0.1:1080"</pre>

注:本次教程借鉴于https://www.cnblogs.com/tianhei/p/7428622.html ,本教程只用于学习使用,切勿用于商业和非法用途,此站点不承担任何法律责任。