使用AWS EC2 配置SSTap服务

木头的喵喵拖孩

github 有时候访问不了,很难受,所以自己搞个国外服务器作为代理来访问 github 中转站。

1. 选择云服务器

既然要无障碍访问 github,当然是选择AWS 亚马逊云 了,登录 AWS,选择 EC2 服务,然后启动新实例。

2. 配置云服务器并启动

  1. 系统类型选择Amazon Linux
  2. 系统镜像选择Amazon Linux 2 AMI (HVM) - Kernel 5.10, SSD Volume Type
    如果没有这个系统镜像,也尽量不要选择太新的系统镜像
  3. 系统架构选择64 位(x86)(更新一下,当选择t4g.nano时,需要选择*64 位(ARM)*)
  4. 实例类型选择t3a.nano(更新一下,其实选择t4g.nano更便宜)
    我选择这个实例是因为以下几点: - 我只需要在特定时候用(比如偶尔访问 Github),不需要它每天都运行,所以选择按需计费 - 在按需计费实例里面属于最便宜的那几个,并且它的网络性能好(代理服务器需要网络性能好);我只跑两个服务(宝塔面板和 SSTap),不需要 CPU 和内存性能太好

这些都配置完毕后,就可以使用 PuTTY 远程控制实例了。

3. 安装宝塔面板

安装宝塔主要是为了更好的监控服务器的资源消耗,以及更方便地控制端口的开放
宝塔面板下载
如果不清楚自己的系统是什么类型,就选择万能安装脚本

4. 安装 SSTap 服务端

复制下面自动安装脚本到终端运行 (需要 root 权限)

1
2
sudo -i
wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/ssr.sh && chmod +x ssr.sh && bash ssr.sh

参考 CSDN 博客配置 SSTap
参考阿里云博客配置 SSTap

要注意几个设置(没有提的设置项都采用默认值,直接回车即可)

  1. 端口选择默认2333
    注意要把实例的防火墙开放,还有 AWS 安全组的防火墙也要开放
  2. 加密方式选择aes-256-cfb
  3. 协议插件选择auth_aes128_md5

然后一直回车就可以安装成功,安装成功后如果启动失败,可能是下面的原因:

  1. 系统镜像版本太新(选择一个老版本的系统镜像)
  2. 实例服务端口没开放(使用宝塔面板开启)或者 AWS 安全组的端口没开放(去安全组配置端口)

4.1. 服务端问题

如果突然出现连接不上的情况,可以打开服务器实例终端,切换 root 权限,然后进入“~”目录,执行下面的命令

1
./ssr.sh

然后选择“8. 手动 修改配置”,重新配置后就可以连接上了。

5. 安装 SSTap 客户端

5.1 Windows 客户端

SSTap 官网
注意,SSTap 和 SocksCap64 已于 2017 年 11 月 19 日停止开发及维护和下载,使用该软件请自觉遵守国家相关法律
SSTap 百度云下载

5.2 Ubuntu 客户端

需要准备:

  1. python2 和 python3
  2. SSR 客户端(需要 python2)
    用来连接 SSR 服务端,并在对本地暴露代理功能。
  3. ProxyChains(需要 python3)
    用来代理本地的请求,通过 SSR 客户端在本地暴露的代理功能,将数据转发给 SSTap 服务端。使用时在命令前面加上 proxychains 即可

5.2.1 安装 Python2 和 Python3

首先使用下列命令判断系统是否安装了 python2 和 python3,如果有安装,则跳过安装步骤,直接进行命令配置步骤

1
2
python2 --version
python3 --version

如果没有安装,则使用下列命令安装 python2 和 python3

1
2
3
4
# 没有安装 python2 就安装 python2
sudo apt install python2
# 没有安装 python3 就安装 python3
sudo apt install python3

最后,进行命令配置步骤,
因为很多软件都需要使用 python 命令,而 python2 和 python3 的命令分别为 python2 和 python3,所以需要创建一个 python 命令,用来需要时分别指向 python2 或者 python3。
参考切换命令版本

1
2
3
4
5
6
7
8
# 添加python2 到命令 python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1

# 添加python2 到命令 python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2

# 添加完毕后,使用该命令切换python版本
sudo update-alternatives --config python

5.2.2 安装 SSR 客户端

参考:kali 安装后配置

下载 ssr 脚本

1
2
3
wget https://onlyless.github.io/ssr
sudo mv ssr /usr/local/bin
sudo chmod 766 /usr/local/bin/ssr

执行 ssr 安装脚本

1
ssr install

配置 ssr 客户端信息

1
ssr config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
{
"server": "0.0.0.0", // SSR服务端IP地址
"server_ipv6": "::",
"server_port": 9999, // SSR服务端端口
"local_address": "127.0.0.1", // 提供给本地代理(ProxyChains)的IP地址
"local_port": 1080, // 提供给本地代理(ProxyChains)的端口

"password": "password", // SSR服务端密码
"method": "aes-256-cfb", // SSR服务端加密方式
"protocol": "auth_aes128_md5", // SSR服务端协议
"protocol_param": "",
"obfs": "plain", // SSR服务端混淆方式
"obfs_param": "",
"speed_limit_per_con": 0,
"speed_limit_per_user": 0,

"additional_ports": {},
"additional_ports_only": false,
"timeout": 120,
"udp_timeout": 60,
"dns_ipv6": false,
"connect_verbose_info": 0,
"redirect": "",
"fast_open": false
}

最后启动 ssr 客户端
注意,这里需要切换到使用 python2 版本的 python 命令参考切换命令版本

1
2
3
4
5
# 启动
ssr start

# 关闭
ssr stop

5.2.3 安装 ProxyChains

参考 proxychains–network 代理

安装 ProxyChains

1
sudo apt install proxychains

配置 ProxyChains

1
sudo vim /etc/proxychains.conf

在配置文件中进行以下修改

1
2
3
4
5
6
7
8
9
# 注释掉 proxy_dns
# proxy_dns

# 取消注释 dynamic_chain
dynamic_chain

# 添加 socks5 代理,指向上一步 ssr 的 local_address 和 local_port
# 并且如果有socks4, 需要注释socks4
socks5 127.0.0.1 1080

测试 ProxyChains
注意,这里需要切换到使用 python3 版本的 python 命令参考切换命令版本

1
proxychains ping google.com

6. 其他问题

按需计费实例停止或终止就会停止计费(存储空间除外),但是重新启动的实例的公网 ip 以及公网 dns 会改变,SSH 和 SSTap 需要修改 ip 或域名才能重新连接。

  • 标题: 使用AWS EC2 配置SSTap服务
  • 作者: 木头的喵喵拖孩
  • 创建于: 2023-09-15 10:51:19
  • 更新于: 2025-02-25 16:13:08
  • 链接: https://blog.xx-xx.top/2023/09/15/使用AWS-EC2-配置SSTap服务/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。