Sync all projects
This commit is contained in:
Vendored
+55
@@ -0,0 +1,55 @@
|
||||
name: 自动解密_Spider下载_生成新Jar配置
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
schedule:
|
||||
- cron: '0 0 * * *' # 每天自动运行一次
|
||||
workflow_dispatch: # 支持手动点击触发
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: 检出代码
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: 设置 Python 环境
|
||||
uses: actions/setup-python@v4
|
||||
with:
|
||||
python-version: '3.10'
|
||||
|
||||
- name: 安装依赖库
|
||||
run: |
|
||||
python -m pip install --upgrade pip
|
||||
pip install requests
|
||||
|
||||
- name: 1. 执行原有的解密脚本
|
||||
run: |
|
||||
python decrypt.py
|
||||
|
||||
- name: 2. 执行 Spider 实时检测与下载
|
||||
run: |
|
||||
python download_spider.py
|
||||
|
||||
- name: 3. 读取旧配置并生成带有专属 jar 的全新 JSON
|
||||
run: |
|
||||
python add_jar_to_sites.py
|
||||
|
||||
- name: 4. 将所有更新统一提交推送到仓库
|
||||
run: |
|
||||
git config --local user.email "[email protected]"
|
||||
git config --local user.name "GitHub Action"
|
||||
|
||||
# 将原始 json、新生成的修改版 json 以及下载的 png 放入暂存区
|
||||
git add tvbox_config.json tvbox_modified.json aowu.png
|
||||
|
||||
# 检查是否有文件发生变化,有变化才提交
|
||||
if ! git diff --cached --quiet; then
|
||||
git commit -m "自动更新:保持原配置,并独立生成全新的 tvbox_modified.json 以及最新 aowu.png"
|
||||
git push
|
||||
else
|
||||
echo "所有数据均未发生变化,无需提交。"
|
||||
fi
|
||||
Vendored
+111
@@ -0,0 +1,111 @@
|
||||
name: 自动调用API解密并注入Sites生成moyu.json
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '0 0 * * *' # 每天早上 8:00 自动运行
|
||||
workflow_dispatch: # 支持手动点击按钮运行
|
||||
|
||||
jobs:
|
||||
decrypt_and_process:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: 检出仓库代码
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: 1. 请求解密接口并保存基础 JSON
|
||||
run: |
|
||||
curl -X POST "http://2015888.xyz/jiemi/get_jiemi.php" \
|
||||
-H "Content-Type: application/x-www-form-urlencoded" \
|
||||
-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" \
|
||||
-d "url=https://xn--v4q818bf34b.cc" \
|
||||
-o tv_config.json
|
||||
|
||||
- name: 2. 自动下载最新的真实 jar 并重命名为 moyu.jar
|
||||
run: |
|
||||
if [ -f "tv_config.json" ] && grep -q -E "spider|sites" tv_config.json; then
|
||||
# 动态提取原作者最新的 jar 链接
|
||||
JAR_URL=$(grep -oP '"spider"\s*:\s*"\K[^"]+' tv_config.json | cut -d';' -f1)
|
||||
if [ -n "$JAR_URL" ] && [[ "$JAR_URL" == http* ]]; then
|
||||
echo "成功抓取到远程 JAR 地址: $JAR_URL"
|
||||
curl -L "$JAR_URL" -o moyu.jar
|
||||
echo "已成功将最新的 jar 下载并重命名为 moyu.jar"
|
||||
else
|
||||
echo "提示:未在配置中找到远程 JAR 链接。"
|
||||
fi
|
||||
else
|
||||
echo "【错误】解密出来的基础 JSON 结构不合法!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: 3. 运行内置 Python 逻辑:注入 sites 并生成最终的 moyu.json
|
||||
shell: python
|
||||
run: |
|
||||
import json
|
||||
import os
|
||||
|
||||
INPUT_JSON = "tv_config.json"
|
||||
OUTPUT_JSON = "moyu.json"
|
||||
|
||||
# 你的 GitHub 仓库对应的 moyu.jar 纯净链接(不带 MD5)
|
||||
# 【请注意】:请把下面两行的“你的GitHub用户名”和“你的仓库名”修改为你实际的名称
|
||||
GITHUB_USER = "woshishiq1"
|
||||
GITHUB_REPO = "jiemi"
|
||||
|
||||
BASE_JAR_URL = f"https://ghfast.top/https://raw.githubusercontent.com/{GITHUB_USER}/{GITHUB_REPO}/main/moyu.jar"
|
||||
|
||||
if not os.path.exists(INPUT_JSON):
|
||||
print(f"[-] 未找到源文件 {INPUT_JSON}")
|
||||
exit(1)
|
||||
|
||||
with open(INPUT_JSON, "r", encoding="utf-8") as f:
|
||||
config_data = json.load(f)
|
||||
|
||||
# A. 顺便把最顶层的顶级 spider 链接也改成你自己的 moyu.jar
|
||||
config_data["spider"] = BASE_JAR_URL
|
||||
print("[+] 已更新顶级 spider 链接")
|
||||
|
||||
# B. 遍历 sites 列表,无 jar 或 jar 为空的站点自动注入
|
||||
sites_list = config_data.get("sites", [])
|
||||
if isinstance(sites_list, list):
|
||||
updated_count = 0
|
||||
skipped_count = 0
|
||||
|
||||
for site in sites_list:
|
||||
if isinstance(site, dict):
|
||||
site_name = site.get("name", "未知站点")
|
||||
current_jar = site.get("jar")
|
||||
|
||||
# 如果已有有效的 jar 地址则跳过
|
||||
if current_jar and isinstance(current_jar, str) and current_jar.strip():
|
||||
skipped_count += 1
|
||||
continue
|
||||
|
||||
# 没有 jar 或为空 → 注入你自己的纯净链接
|
||||
site["jar"] = BASE_JAR_URL
|
||||
updated_count += 1
|
||||
|
||||
print(f"[+] Sites 注入完成:更新了 {updated_count} 个站点,跳过了 {skipped_count} 个已有 jar 的站点")
|
||||
|
||||
# C. 统一写出为最终文件名 moyu.json
|
||||
with open(OUTPUT_JSON, "w", encoding="utf-8") as f:
|
||||
json.dump(config_data, f, indent=2, ensure_ascii=False)
|
||||
print(f"[+] 最终配置文件已成功生成: {OUTPUT_JSON}")
|
||||
|
||||
- name: 4. 强行提交最新的 moyu.json 和 moyu.jar 到仓库
|
||||
run: |
|
||||
git config --local user.email "github-actions[bot]@users.noreply.github.com"
|
||||
git config --local user.name "github-actions[bot]"
|
||||
|
||||
# 强行添加,确保绕过任何 .gitignore 规则
|
||||
if [ -f "moyu.json" ]; then git add -f moyu.json; fi
|
||||
if [ -f "moyu.jar" ]; then git add -f moyu.jar; fi
|
||||
|
||||
# 只要代码、配置或 jar 包有任何风吹草动,Git 都会自动捕捉并更新
|
||||
if ! git diff --cached --quiet; then
|
||||
git commit -m "自动同步最新moyu.json与moyu.jar: $(date +'%Y-%m-%d %H:%M:%S')"
|
||||
git push origin HEAD
|
||||
echo "【成功】moyu.json 和 moyu.jar 已成功推送到你的远程仓库!"
|
||||
else
|
||||
echo "【提示】内容与上一版本完全一致,无需重复提交。"
|
||||
fi
|
||||
Reference in New Issue
Block a user