mirror of
https://github.com/KaringX/karing-ruleset.git
synced 2025-06-08 06:44:12 +08:00
143 lines
4.5 KiB
YAML
143 lines
4.5 KiB
YAML
name: Convert other rules to sing-box rule set
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: "30 14 * * *" # 6:30 AM UTC+8
|
|
push:
|
|
branches:
|
|
- workflow
|
|
paths-ignore:
|
|
- "**/README.md"
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout scripts
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: KaringX/karing-ruleset
|
|
path: workflow
|
|
ref: workflow
|
|
|
|
- name: Checkout ACL4SSR
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: ACL4SSR/ACL4SSR
|
|
path: ACL4SSR
|
|
ref: master
|
|
|
|
- name: Convert json files
|
|
env:
|
|
NO_SKIP: true
|
|
run: |
|
|
mkdir -p ./sing-rule/ACL4SSR/Ruleset
|
|
cd sing-rule || exit 1
|
|
python ../workflow/resouces/convert_json.py ../ACL4SSR/Clash ./ACL4SSR
|
|
|
|
- name: Convert json to srs
|
|
env:
|
|
NO_SKIP: true
|
|
run: |
|
|
cd sing-rule || exit 1
|
|
wget -q https://github.com/SagerNet/sing-box/releases/download/v1.10.7/sing-box-1.10.7-linux-amd64.tar.gz -O sing-box.tar.gz && tar zxvf sing-box.tar.gz && mv sing-box-1.10.7-linux-amd64/sing-box ./
|
|
chmod 755 sing-box
|
|
bash ../workflow/resouces/convert_srs.sh ./sing-box ./ACL4SSR
|
|
cp ./ACL4SSR/Ruleset/*.srs ./ACL4SSR
|
|
|
|
- name: Checkout meta-rules-dat
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: MetaCubeX/meta-rules-dat
|
|
path: meta-rules-dat
|
|
ref: sing
|
|
|
|
- name: Checkout Iran-sing-box-rules
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: Chocolate4U/Iran-sing-box-rules
|
|
path: Iran-sing-box-rules
|
|
ref: rule-set
|
|
|
|
- name: Checkout hiddify-geo
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: hiddify/hiddify-geo
|
|
path: hiddify-geo
|
|
ref: rule-set
|
|
|
|
- name: IR copy geo rules
|
|
env:
|
|
NO_SKIP: true
|
|
run: |
|
|
cd sing-rule || exit 1
|
|
cp -r ../meta-rules-dat/geo ./
|
|
bash ../workflow/resouces/merge_geo_ir.sh ./geo ../Iran-sing-box-rules/
|
|
|
|
- name: CN adblockfilters
|
|
env:
|
|
NO_SKIP: true
|
|
run: |
|
|
bash workflow/resouces/cn_adblockfilters.sh ./sing-rule
|
|
|
|
- name: Checkout runetfreedom
|
|
uses: actions/checkout@v4
|
|
with:
|
|
repository: runetfreedom/russia-v2ray-rules-dat
|
|
path: runetfreedom
|
|
ref: release
|
|
|
|
- name: RU antizapret
|
|
env:
|
|
NO_SKIP: true
|
|
run: |
|
|
bash workflow/resouces/ru_antizapret.sh ./sing-rule
|
|
|
|
- name: maker karing built-in rule-set group
|
|
env:
|
|
NO_SKIP: true
|
|
run: |
|
|
mkdir -p ./sing-rule/recommend
|
|
python workflow/resouces/kr_builtin_ruleset.py ./sing-rule/
|
|
|
|
# - name: convert AdGuardSDNSFilter to srs
|
|
# env:
|
|
# NO_SKIP: true
|
|
# run: |
|
|
# python workflow/resouces/convert_adguard.py ./sing-rule/
|
|
#
|
|
- name: rm sing-box files
|
|
env:
|
|
NO_SKIP: true
|
|
run: |
|
|
cd sing-rule || exit 1
|
|
rm -rf sing-box* LICENSE README.md
|
|
|
|
- name: Git push assets to "sing-rule" branch
|
|
run: |
|
|
cd sing-rule || exit 1
|
|
cp ../workflow/README.md . && cp -r ../workflow/.github .
|
|
git init
|
|
git config --local user.name "github-actions[bot]"
|
|
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
|
|
git checkout -b sing
|
|
git add .
|
|
git commit -m "Released on ${{ env.BUILDTIME }}"
|
|
git remote add origin "https://${{ github.actor }}:${{ secrets.GH_TOKEN }}@github.com/${{ github.repository }}"
|
|
git push -f -u origin sing
|
|
|
|
- name: Purge jsdelivr CDN
|
|
# find . -type f \( -name "*.json" -o -name "*.srs" \) -printf "%P\n" | while read file; do
|
|
# curl -i -Ls "https://purge.jsdelivr.net/gh/${{ github.repository }}@sing/${file}"
|
|
# echo -e "\t${file} PURGE...\n"
|
|
# done
|
|
run: |
|
|
cd sing-rule/ || exit 1
|
|
for file in $(ls); do
|
|
curl -i "https://purge.jsdelivr.net/gh/${{ github.repository }}@sing/${file}"
|
|
done
|
|
curl -i -Ls "https://purge.jsdelivr.net/gh/KaringX/karing-ruleset@sing/ACL4SSR"
|
|
curl -i -Ls "https://purge.jsdelivr.net/gh/KaringX/karing-ruleset@sing/ACL4SSR/Ruleset"
|
|
curl -i -Ls "https://purge.jsdelivr.net/gh/KaringX/karing-ruleset@sing/geo/geoip"
|
|
curl -i -Ls "https://purge.jsdelivr.net/gh/KaringX/karing-ruleset@sing/geo/geosite"
|
|
|