在科学上网中,将机场分发的 Clash YAML 转换为 Sing-box 专属 JSON 配置是高频刚需。
然而,将包含订阅 Token 的链接贴入公共转换网站存在严重隐私泄露风险(黑客可盗刷流量或截获节点)。
今天我们将分享一套极客专属的 “零成本、高隐私” 自动化方案:利用 GitHub Actions(免费 CI/CD 流水线) 配合 Python 脚本,在私有仓库内自动转换并发布至专属私密 Gist!
[!NOTE] 📌 核心速览(TL;DR / 快问快答):
- 安全防泄露:订阅 URL 存在 GitHub Secrets 中,仅在 GitHub 隔离沙盒容器中运行,外界无法偷窥。
- 自动化定时:GitHub Actions
cron: "0 20 * * *"每日定时拉取最新节点并注入本地 Sing-box JSON 模板。- 极私密分发:利用 GitHub PAT 自动更新至私密 Gist(Secret Gist),客户端通过加密的 Raw 链接拉取配置。
🛠️ GitHub Actions 自动转换流水线模板
在私有仓库中创建 .github/workflows/auto-convert.yml:
name: Auto Convert Sing-box Subscription
on:
schedule:
- cron: "0 20 * * *"
workflow_dispatch:
jobs:
convert:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.10"
- name: Run Converter Script
env:
SUB_URL: ${{ secrets.SUB_URL }}
run: |
pip install requests pyyaml
python convert.py
- name: Upload Config to Private Gist
env:
GIST_PAT: ${{ secrets.GIST_PAT }}
GIST_ID: ${{ secrets.GIST_ID }}
run: |
curl -L \
-X PATCH \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer $GIST_PAT" \
https://api.github.com/gists/$GIST_ID \
-d "{\"files\":{\"singbox_config.json\":{\"content\":$(jq -Rs . config.json)}}}"
❓ 常见问题与 AI 快问快答 (FAQ)
Q1: 运行 GitHub Actions 是否会被 GitHub 判定为违规封号?
答:只要仓库设为 Private(私有),且转换脚本仅用于个人节点同步,属于正规开发测试用途,完全符合 GitHub 服务条款。
Q2: 机场节点包含 CN2 GIA 或 AS9929 高价专线,如何保证生成的 JSON 配置文件规则准确?
答:在 Python 模板中引入 "format": "binary" 的 .srs 规则集 (rule_set: ["geosite-cn"]),确保专线节点精确分流,避免国际高阶带宽被误消耗。
(相关资源导航:如果您需要购买独立 VPS 部署私有订阅网关,欢迎阅读 《2026 国外 VPS 选购指南》 获取 DMIT、搬瓦工及 CloudCone 优惠;无需折腾的商用专线推荐见 《“饿饭CC云”深度评测》!)