-
Notifications
You must be signed in to change notification settings - Fork 1.5k
136 lines (123 loc) · 4.96 KB
/
bin_update.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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