Skip to content

bin_update

bin_update #176

Workflow file for this run

name: bin_update
on:
# release:
# types: [published]
# push:
# tags:
# - 'v*'
# branches:
# - master
schedule:
- cron: 0 18 * * 6
# watch:
# types: [started]
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-latest
steps:
- name: Checkout ShellCrash
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
with:
repository: juewuy/ShellCrash
fetch-depth: 1
- name: Apt Update
env:
DEBIAN_FRONTEND: noninteractive
run: |
sudo apt-get update
sudo apt-get -y install unzip curl git tar
- name: Update Dashboard
run: |
mkdir -p bin/dashboard
mkdir -p bin/geodata
cd bin/dashboard
echo 下载官方面板
# curl -kfSL -o clashdb.zip https://github.com/Dreamacro/clash-dashboard/archive/gh-pages.zip
echo 下载Meta面板
curl -kfSL -o meta_db.zip https://github.com/MetaCubeX/Razord-meta/archive/gh-pages.zip
echo 下载yacd面板
curl -kfSL -o yacd.zip https://github.com/haishanh/yacd/archive/gh-pages.zip
echo 下载meta魔改yacd面板
curl -kfSL -o meta_yacd.zip https://github.com/MetaCubeX/Yacd-meta/archive/gh-pages.zip
echo 下载meta-xd面板
curl -kfSL -o meta_xd.zip https://github.com/MetaCubeX/metacubexd/archive/gh-pages.zip
echo 解压缩
# unzip -o clashdb.zip > /dev/null
unzip -o yacd.zip > /dev/null
# cd clash-dashboard-gh-pages
# tar -zcvf clashdb.tar.gz * > /dev/null
# mv -f clashdb.tar.gz ../
# cd ..
cd yacd-gh-pages
echo yacd特殊处理
find -name '*.map' | xargs rm -rf
rm -rf report.html
tar -zcvf yacd.tar.gz * > /dev/null
mv -f yacd.tar.gz ../
cd ..
echo 解压缩meta
unzip -o meta_db.zip > /dev/null
unzip -o meta_yacd.zip > /dev/null
cd Razord-meta-gh-pages
tar -zcvf meta_db.tar.gz * > /dev/null
mv -f meta_db.tar.gz ../
cd ..
cd Yacd-meta-gh-pages
echo yacd特殊处理
find -name '*.map' | xargs rm -rf
rm -rf report.html
tar -zcvf meta_yacd.tar.gz * > /dev/null
mv -f meta_yacd.tar.gz ../
cd ..
echo 解压缩meta-xd
unzip -o meta_xd.zip > /dev/null
cd metacubexd-gh-pages
echo 删除字体文件
find -name '*.ttf' | xargs rm -rf
tar -zcvf meta_xd.tar.gz * > /dev/null
mv -f meta_xd.tar.gz ../
cd ..
rm -rf clashdb.zip
rm -rf yacd.zip
rm -rf meta_db.zip
rm -rf meta_yacd.zip
rm -rf meta_xd.zip
rm -rf clash-dashboard-gh-pages
rm -rf yacd-gh-pages
rm -rf Razord-meta-gh-pages
rm -rf Yacd-meta-gh-pages
rm -rf metacubexd-gh-pages
echo 面板更新完成!
- name: Update certificate
run: |
wget https://raw.githubusercontent.com/curl/curl/master/scripts/mk-ca-bundle.pl
chmod +x ./mk-ca-bundle.pl
./mk-ca-bundle.pl
rm -f mk-ca-bundle.pl certdata.txt
- name: Update GeoIP
run: |
cd bin
source version
curl -kfSL -o geodata/Country.mmdb https://raw.githubusercontent.com/alecthw/mmdb_china_ip_list/release/Country.mmdb
curl -kfSL -o geodata/cn_mini.mmdb https://raw.githubusercontent.com/Hackl0us/GeoIP2-CN/release/Country.mmdb
curl -kfSL -o geodata/china_ip_list.txt https://raw.githubusercontent.com/ChanthMiao/China-IPv4-List/release/cn.txt
curl -kfSL -o geodata/china_ipv6_list.txt https://raw.githubusercontent.com/ChanthMiao/China-IPv6-List/release/cn6.txt
curl -kfSL -o geodata/geosite.dat https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/geosite.dat
curl -kfSL -o geodata/geoip_cn.db https://github.com/lyc8503/sing-box-rules/releases/latest/download/geoip-cn.db
curl -kfSL -o geodata/geosite_cn.db https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite-cn.db
curl -kfSL -o geodata/srs_geoip_cn.srs https://raw.githubusercontent.com/SagerNet/sing-geoip/rule-set/geoip-cn.srs
curl -kfSL -o geodata/srs_geosite_cn.srs https://raw.githubusercontent.com/SagerNet/sing-geosite/rule-set/geosite-geolocation-cn.srs
mv -f ../ca-bundle.crt ./fix/ca-certificates.crt
sed -i "s/GeoIP_v=.*/GeoIP_v=$(date '+%Y%m%d')/" version #修改版本号
echo 数据库及根证书文件更新完成!
- name: Commit and push
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com" && git config --global user.name "github-actions[bot]"
git add . && git commit -m "自动更新最新Dashboard、地址库、根证书" || exit 0
git push
- name: Cleanup Workflow
uses: Mattraks/delete-workflow-runs@main
with:
retain_days: 1
keep_minimum_runs: 2