在AWS EC2上搭建Shadowsocks

Page content

警告

虽然本文介绍了安装SS VPN的方法,但已不推荐使用基于SS的VPN,作者已被请去喝茶,非常容易被GFW检测到并封杀。

Shadowsocks可以指一种SOCKS5的加密传输协议,也可以指基于这种加密协议的各种数据传输包。 Shadowsocks正常工作需要服务器端和客户端两端合作实现。

  • 首先,客户端(本机)通过ss(shadowsocks)对正常的访问请求进行SOCK5加密,将加密后的访问请求传输给ss服务器端。
  • 服务器端接收到客户端的加密请求后,解密得到原始的访问请求,根据请求内容访问指定的网站(例如Google,YouTube,Facebook,instagram等),得到网站的返回结果后,再利用SOCKS5加密并返回给客户端。
  • 客户端通过ss解密后得到正常的访问结果,于是就可以实现你直接访问该网站的“假象”。

安装shadowsocks

# 更新apt-get
sudo apt-get update

# 安装python包管理工具
sudo apt-get install python-setuptools
sudo apt-get install python-pip

# 安装shadowsocks
sudo pip install shadowsocks

修改配置

vim /etc/shadowsocks/ss.json

单个用户的使用配置示例:

{
    "server":"0.0.0.0",
    "server_port":9000, //ss连接服务器的端口
    "local_address":"127.0.0.1",
    "local_port":1080,
    "password":"123456", // 设置ss连接时的密码
    "timeout":300,
    "method":"aes-256-cfb",
    "fast_open":false,
    "workers": 1
}

也可配置多个端口和密码给不同的用户使用。示例:

{
	"server":"0.0.0.0",
	"local_address":"127.0.0.1",
	"local_port":1080,
	"port_password":{
		"9000":"123456",
		"9001":"456",
		"9002":"789",
	},
	"timeout":300,
	"method":"aes-128-gcm",
	"fast_open": false
}

启动shadowsocks

  • 启动:sudo /usr/local/bin/ssserver -c /etc/shadowsocks/ss.json -d start
  • 停止:sudo /usr/local/bin/ssserver -c /etc/shadowsocks/ss.json -d stop
  • 重启:sudo /usr/local/bin/ssserver -c /etc/shadowsocks/ss.json -d restart

客户端访问

Shadowsocks客户端可从Github上下载,shadowsocks-android, 或者Shadowsocks官网下载。

本地设备通过Shadowsocks客户端连接VPN服务器,即可实现翻墙。 添加服务器,地址即为Amazon EC2的公网IP,端口为配置文件中设置的9000,密码为配置中的123456。

本文由 络壳 原创或整理,转载请注明出处