使用 Gost 搭建 HTTPS 代理

使用 Gost 搭建 HTTPS 代理,项目地址:Gost


下载 Gost 服务端

1
2
3
4
5
6
7
8
9
10
11
## 下载
wget https://github.com/ginuerzh/gost/releases/download/v2.11.1/gost-linux-amd64-2.11.1.gz

## 解压
gzip -d gost-linux-amd64-2.11.1.gz

## 重命名为gost
mv gost-linux-amd64-2.11.1 gost

## 赋予执行权限
chmod +x ./gost

启动 Gost 服务端

1
2
3
4
5
## 下载和安装pm2
wget -qO- https://getpm2.com/install.sh | bash

## 使用pm2启动Gost
pm2 start ./gost -n gost -- -L=https://你的账户:你的密码\@:443?probe_resist=code:400\&knock=your-secret-link.localhost\&cert=/path/fullchain.pem\&key=/path/privkey.pem

参数说明

  • 启动参数中包含了特殊符号@&,使用反斜杠\进行转义
  • 使用probe_resistknock参数来防御探测。将 your-secret-link.localhost 设置为407状态码验证的唯一地址,而避免其他代理页在账户密码验证失败时返回407 Proxy Authentication Required暴露了自己是一个 HTTPS 代理,直接访问域名时则显示400状态码。和 NaiveProxy 服务端 Caddy 的防探测机制差不多。
  • certkeySSL证书请自行准备

管理 Gost

1
2
3
4
5
6
7
8
9
10
11
pm2 save ## 保存程序启动状态
pm2 stop gost # 停止服务
pm2 delete gost # 删除服务
pm2 status gost # 查看状态
pm2 restart gost # 重启服务
pm2 show gost # 查看服务的参数信息
pm2 log gost # 查看服务日志
pm2 ls # 查看已部署的服务列表
pm2 monit # 监控服务状态
pm2 flush # 清理所有日志文件
pm2 update # 更新 pm2 状态

客户端设置

使用 Clash 连接 Gost 服务端示例,其他客户端也可以直接用 HTTPS 代理方式连接。

1
2
3
4
5
6
7
- name: "gost"
type: http
server: Gost服务端域名
port: 443
username: 你的账户
password: 你的密码
tls: true