name: bin_update on: # release: # types: [published] # push: # tags: # - 'v*' # branches: # - master schedule: - cron: 0 1 * * 2 # watch: # types: [started] workflow_dispatch: jobs: update: runs-on: ubuntu-18.04 steps: - name: Checkout uses: actions/checkout@master - 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: | cd \bin echo 下载官方面板 curl -kfSL -o clashdb.zip https://github.com/MetaCubeX/clash-dashboard/archive/gh-pages.zip echo 下载yacd面板 curl -kfSL -o yacd.zip https://github.com/haishanh/yacd/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 .. rm -rf clashdb.zip rm -rf yacd.zip rm -rf \clash-dashboard-gh-pages rm -rf \yacd-gh-pages echo 面板更新完成! - name: Update GeoIP run: | cd \bin source version curl -kfSL -O https://cdn.jsdelivr.net/gh/alecthw/mmdb_china_ip_list@release/Country.mmdb curl -kfSL -o cn_mini.mmdb https://cdn.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/Country.mmdb curl -kfSL -o china_ip_list.txt https://cdn.jsdelivr.net/gh/17mon/china_ip_list@master/china_ip_list.txt curl -kfSL -O https://cdn.jsdelivr.net/gh/P3TERX/ca-certificates.crt@download/ca-certificates.crt curl -kfSL -O https://cdn.jsdelivr.net/gh/Loyalsoldier/v2ray-rules-dat@release/geosite.dat sed -i '/GeoIP_v*/'d version echo GeoIP_v=`date '+%Y%m%d'` >> version echo IP数据库及根证书文件更新完成! - name: Update Core Version Info run: | chmod -R +x bin/clash*/ sed -i "s/meta_v=.*/meta_v=$(./bin/clash.meta/clash-linux-amd64 -v 2>/dev/null | sed 's/ linux.*//;s/.* //')/" bin/version sed -i "s/clashnet_v=.*/clashnet_v=$(./bin/clash.net/clash-linux-amd64 -v 2>/dev/null | sed 's/ linux.*//;s/.* //')/" bin/version sed -i "s/clash_v=.*/clash_v=$(./bin/clash/clash-linux-amd64 -v 2>/dev/null | sed 's/ linux.*//;s/.* //')/" bin/version sed -i "s/clashpre_v=.*/clashpre_v=$(./bin/clashpre/clash-linux-amd64 -v 2>/dev/null | sed 's/ linux.*//;s/.* //')/" bin/version - name: Commit and push run: | git config --global user.email "juewuy@gmail.com" && git config --global user.name "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: 3