mirror of
https://github.com/taixingyiji/openit.git
synced 2025-10-26 06:02:29 +00:00
102 lines
4.8 KiB
YAML
102 lines
4.8 KiB
YAML
name: Nodes
|
||
|
||
on:
|
||
schedule: #これは UTC+0 #これは UTC+8
|
||
- cron: '*/34 0-8 * * 1-5' #工作日 上午8:00 - 下午4:00
|
||
- cron: '*/24 8-14 * * 1-5' #工作日 下午4:00 - 下午10:00
|
||
- cron: '*/54 14-21 * * 1-5' #工作日 下午10:00 - 次日凌晨5:00
|
||
- cron: '*/24 21-23 * * 1-5' #工作日 次日凌晨5:00 - 次日上午8:00
|
||
- cron: '*/24 * * * 0,6' #休息日 全天候
|
||
workflow_dispatch: #手动调试按钮
|
||
|
||
|
||
|
||
jobs:
|
||
|
||
my-job:
|
||
name: Max Job
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- uses: actions/checkout@v3 #git clone
|
||
- uses: actions/setup-node@v3 #Node.js环境
|
||
with:
|
||
node-version: '16.x' #Node.js 16.x
|
||
- uses: actions/setup-python@v4 #python环境
|
||
with:
|
||
python-version: '3.x' #python 3.x
|
||
cache: 'pip' #pip cache
|
||
- name: Timezone #UTC+0 → UTC+8
|
||
run: sudo timedatectl set-timezone 'Asia/Shanghai'
|
||
- name: git
|
||
run: | #配置git的上传用户名和邮箱
|
||
git config pull.rebase false
|
||
git config --local user.name "GitHub Actions"
|
||
git config --local user.email "actions@github.com"
|
||
- name: npm
|
||
run: | #安装npm包
|
||
cd ./utils/rm/
|
||
npm ci
|
||
- name: pip
|
||
run: | #安装pip包
|
||
pip install -r ./utils/pool/requirements.txt
|
||
pip install -r ./utils/clashcheck/requirements.txt
|
||
- name: pool #input ./utils/pool/config.yaml
|
||
run: cd ./utils/pool/ && python main.py #output ./utils/pool/output.yaml
|
||
- name: copy pool to clashcheck #input ./utils/pool/output.yaml
|
||
run: cp ./utils/pool/output.yaml ./utils/clashcheck/input.yaml #output ./utils/clashcheck/input.yaml
|
||
- name: clashcheck #because ./utils/clashcheck/config.yaml so input ./utils/clashcheck/input.yaml
|
||
run: cd ./utils/clashcheck/ && python main.py && python main.py && python main.py && rm input.yaml #output ./utils/clashcheck/check.yaml & delete ./utils/clashcheck/input.yaml
|
||
- name: move clashcheck to clash2base64 #input ./utils/clashcheck/check.yaml
|
||
run: mv ./utils/clashcheck/check.yaml ./utils/subconverter/check.yaml #output ./utils/subconverter/check.yaml
|
||
- name: clash2base64 #input ./utils/subconverter/check.yaml
|
||
run: ./utils/subconverter/subconverter -g --artifact "clash2base64" && rm utils/subconverter/check.yaml #output ./utils/subconverter/check & delete ./utils/subconverter/check.yaml
|
||
- name: base64 decode #because ./utils/subconverter/generate.ini so input ./utils/subconverter/check
|
||
run: base64 -d ./utils/subconverter/check > ./utils/rm/url1 && cat ./utils/rm/url1 ./sub/url2 > ./utils/rm/url && rm ./utils/subconverter/check ./utils/rm/url1 #output ./utils/rm/url & delete ./utils/subconverter/check
|
||
- name: remove & rename #input ./utils/rm/url
|
||
run: cd ./utils/rm/ && npm start #output ./utils/rm/out
|
||
- name: url & https
|
||
run: | #input ./utils/rm/out
|
||
rm ./utils/rm/url #delete ./utils/rm/url
|
||
mv ./utils/rm/out ./url #output ./url
|
||
./.github/url.sh > ./1 #output ./1
|
||
cp url 2 #output ./2
|
||
cat 1 2 > 3 && rm 1 2 #output ./3 & delete ./1 ./2
|
||
base64 3 > https -w 0 && rm 3 #output ./https & delete ./3
|
||
sort url -o url #将url排序并修改至原文件,突出增删的节点 output ./url
|
||
base64 ./url > ./utils/subconverter/base64 -w 0 #url文件base64编码引入subconverter
|
||
- name: long & Clash.yaml
|
||
run: | #input ./utils/subconverter/base64
|
||
./utils/subconverter/subconverter -g --artifact "clash"
|
||
./utils/subconverter/subconverter -g --artifact "long"
|
||
#output ./utils/subconverter/Clash.yaml ./utils/subconverter/long
|
||
mv ./utils/subconverter/Clash.yaml ./Clash.yaml || true #output ./Clash.yaml
|
||
mv ./utils/subconverter/long ./long || true #output ./Clash.yaml
|
||
rm ./utils/subconverter/base64 #delete ./utils/subconverter/base64
|
||
- name: git push
|
||
run: ./.github/update-repo.sh || true #upload files ./url ./https ./long ./Clash.yaml ./utils/pool/output.yaml to GitHub
|
||
|
||
long: #jsDelivr long同步
|
||
needs: my-job
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: CDN
|
||
run: curl https://purge.jsdelivr.net/gh/yu-steven/openit@main/long
|
||
HTTPS: #jsDelivr HTTPS同步
|
||
needs: my-job
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: CDN
|
||
run: curl https://purge.jsdelivr.net/gh/yu-steven/openit@main/https
|
||
Clash: #jsDelivr Clash同步
|
||
needs: my-job
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: CDN
|
||
run: curl https://purge.jsdelivr.net/gh/yu-steven/openit@main/Clash.yaml
|
||
Quanx: #jsDelivr Quanx同步
|
||
needs: my-job
|
||
runs-on: ubuntu-latest
|
||
steps:
|
||
- name: CDN
|
||
run: curl https://purge.jsdelivr.net/gh/yu-steven/openit@main/Quanx.conf
|