📈 GH Trending Explorer 🎲 Surprise me

← all repos

hezhanleiok / gate

git clone https://github.com/hezhanleiok/gate.git

—

+2
stars, 24h · #10,855
+~21
stars, 7 days · #7,715
+532
stars, 30 days · #1,541
532
★ total · +4% this week
1.0k
forks · 11 open issues

Star history (as recorded here)

2026-10-20 · 523 ★ 2026-10-23 · 532 ★
LanguagePython
License—
Created2026-10-01 (22d ago)
Last push12d ago
Watchers0
OwnerUser

Links

README excerpt
# VPNGate SSTP 家宽节点(edgetunnel 链式代理) 🚀
自动抓取 VPN Gate 的 SSTP 家宽/机房节点,调用检测 Worker 逐个验证可用性,按国家分组、标注住宅/机房,生成可直接通过 **URL 自动轮换** 的节点清单。**每 30 分钟自动更新一次。**
> 核心价值:VPN Gate 的 SSTP 节点 30 分钟就换一批,手动测试筛选太痛苦。本仓库把它全自动了——你只需把 `nodes.txt` 的网址填进 edgetunnel 后台一次,之后节点每 30 分钟自动换,零手动。
---
## 架构(数据流向)
~~~text
VPN Gate 官方源
 │ (每 30 分钟,GitHub Actions 定时抓取)
 ▼
筛选 SSTP 节点 → 去重
 │
 ▼
检测 Worker (CheckSocks5,部署在 Cloudflare)
 │ GET /check?sstp=vpn:vpn@host:port
 │ 返回 success + 出口 IP(住宅/机房判定)
 ▼
保留成功节点 → 按国家分组 → 住宅/机房标注 → 延迟排序
 │
 ▼
生成 nodes.txt (GitHub Pages 发布)
 │
 ▼
edgetunnel 后台「自定义优选IP」框填 https://…/nodes.txt
 │ edgetunnel 每次生成订阅时自动 fetch → 解析 $sstp:// → 套链式代理
 ▼
客户端订阅 edgetunnel 订阅 → 使用 SSTP 家宽节点 (每 30 分钟自动换)
~~~
---
## 一、完整部署教程(从零开始)
### 前置条件
- 一个 Cloudflare 账号(免费即可)
- 一个 GitHub 账号
- 一个已转入 Cloudflare 的域名(可选,但强烈推荐)
### 第 1 步:部署 edgetunnel(核心使用端)
1. 登录 Cloudflare 控制台,点击左侧 **Workers 和 Pages**
2. 点击 **创建** → 选择 **创建 Worker**,起名 `edgetunnel`,点击 **部署**
3. 打开 https://github.com/cmliu/edgetunnel/blob/main/_worker.js ,复制全部代码
4. 回到 Cloudflare Worker 编辑器,粘贴代码,点击 **保存并部署**
5. 在 **设置** → **变量** 中,添加变量 `ADMIN`,值填你的管理员密码
6. 在 **绑定** 中,添加 KV 命名空间绑定,变量名称填 `KV`
7. (推荐)在 **触发器** 中绑定自定义域名
8. 浏览器访问 `https://你的域名/admin`,登录后台
9. **在后台首页记下你的 UUID 和节点域名**(后面要用)
> **关键**:`UUID` 和 `节点域名` 是 edgetunnel 自己的配置,**不需要**在 `vpngate.py` 中设置。`vpngate.py` 只负责生成 `nodes.txt`,edgetunnel 会用它自己的 UUID/域名去生成最终订阅。
### 第 2 步:部署检测 Worker(CheckSocks5)
1. 打开 https://github.com/lsh8848/cm-Workers-CheckSocks5 ,点 **Fork**
2. 进 Cloudflare 控制台 → Workers 和 Pages → 创建 → 创建 Worker
3. 把 `_worker.js` 的全部内容粘贴进编辑器,点「部署」
4. 记下这个 Worker 的域名,形如 `https://xxx.你的用户名.workers.dev`
5. 验证:浏览器打开 `https://你的Worker域名/check?sstp=vpn:vpn@任意节点:端口` ,能返回 JSON 即成功
### 第 3 步:Fork 本仓库
在 GitHub 上打开本仓库,点 **Fork**,复制到你账号下。
### 第 4 步:修改配置(重点)
进你 fork 的仓库,修改 `vpngate.py`:
| 文件 | 位置 | 改成什么 | 为什么 |
| :--- | :--- | :--- | :--- |
| .github/workflows/check.yml | env 里的 `CHECK_WORKER` | 你的检测 Worker 域名,形如 `https://xxx.workers.dev/check?sstp=vpn:vpn@` | 检测统一走你自己的 Worker |
| vpngate.py | `NODES_URL` | 把里面写死的固定地址换成 `你的用户名/仓库名` | 自动更新时用到的固定地址 |
> **注意**:`vpngate.py` 中**不需要**配置 `EDT_UUID` 和 `EDT_DOMAIN`。你之前看到的这两个变量是旧版遗留,现已删除。edgetunnel 后台会自己处理 UUID 和域名。
### 第 5 步:开启 GitHub Pages 与 Actions
1. 进你 fork 的仓库 → Settings → Pages,Source 设为 **GitHub Actions**
2. 进 Actions 页,若提示启用 Actions 就点启用
3. 手动触发一次:Actions → VPN Gate Node Check → Run workflow → Run workflow
4. 等它跑完(约 1 分钟),看到绿色 ✓ 即成功
### 第 6 步:确认产物
跑完后,你的站点地址是:
~~~text
https://你的GitHub用户名.github.io/仓库名/nodes.txt
~~~
浏览器打开,能看到一堆 `优选域名:443#国家-住宅-XX …` 的行,就说明全部打通了。
---
## 二、使用教程(URL 自动轮换,一次配置永久生效)
1. 进 edgetunnel 后台(你的域名/admin),找到「自定义优选IP」文本框
2. 粘贴**一行网址**:
 ~~~text
 https://你的GitHub用户名.github.io/仓库名/nodes.txt
 ~~~
3. 点保存
4. 客户端刷新订阅 → 每次刷新 edgetunnel 都重新拉取一次 nodes.txt,节点自动更新
> 原理:`nodes.txt` 是纯节点行版本(无注释头),每行 `入口域名:443#国家-住宅-01$sstp://vpn:vpn@节点:端口`。edgetunnel 下次生成订阅时会 fetch 这个网址、逐行解析成优选入口 + 链式代理指令。你只填一次,之后节点每 30 分钟自动换、零手动。
---
## 三、如何更换优选域名
入口地址用的是「优选域名」,决定客户端连 Cloudflare 用哪个 IP、稳不稳。
### 在哪个文件改
- 文件:vpngate.py
- 位置:`EDGE_HOSTS