add #989 #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Partial update | |
on: | |
push: | |
branches: | |
- adlist-maker | |
paths: | |
- '**.php' | |
- 'scripts/origin-files/base-dead-hosts.txt' | |
- 'scripts/origin-files/base-src-easylist.txt' | |
- 'scripts/origin-files/base-src-hosts.txt' | |
- 'scripts/origin-files/base-src-strict-hosts.txt' | |
- 'scripts/origin-files/whiterule-src-easylist.txt' | |
- 'scripts/origin-files/wildcard-src-easylist.txt' | |
jobs: | |
partial-build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get source code from master | |
uses: actions/checkout@v4 | |
with: | |
ref: master | |
path: master | |
- name: Get source code from adlist-maker | |
uses: actions/checkout@v4 | |
with: | |
ref: adlist-maker | |
path: adlist-maker | |
- name: Build anti-AD lists | |
working-directory: adlist-maker | |
run: | | |
/bin/bash ./scripts/build-list.sh | |
- name: Commit anti-AD changes | |
run: | | |
mv -f ./adlist-maker/adblock-for-dnsmasq.conf ./master/ | |
mv -f ./adlist-maker/anti-ad-* ./master/ | |
cd ./master | |
git config user.email "[email protected]" | |
git config user.name "GitHub Action[bot]" | |
git add . | |
git commit -m "Auto renew anti-AD lists" -m "without upstream changes" | |
git push | |
sync: | |
if: github.repository == 'privacy-protection-tools/anti-AD' | |
needs: partial-build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Get source code from master | |
uses: actions/checkout@v4 | |
with: | |
ref: master | |
path: master | |
- name: Get source code from website | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.PERSON_TOKEN }} | |
repository: privacy-protection-tools/anti-ad.github.io | |
ref: master | |
path: website | |
- name: Install sing-box | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
sudo curl -fsSL https://sing-box.app/gpg.key -o /etc/apt/keyrings/sagernet.asc | |
sudo chmod a+r /etc/apt/keyrings/sagernet.asc | |
echo "deb [arch=`dpkg --print-architecture` signed-by=/etc/apt/keyrings/sagernet.asc] https://deb.sagernet.org/ * *" | sudo tee /etc/apt/sources.list.d/sagernet.list > /dev/null | |
sudo apt-get update | |
sudo apt-get install sing-box | |
- name: Install mihomo | |
env: | |
DEBIAN_FRONTEND: noninteractive | |
run: | | |
case "$(uname -m)" in | |
'x86_64') ARCH='amd64' ;; | |
'x86' | 'i686' | 'i386') ARCH='386' ;; | |
'aarch64' | 'arm64') ARCH='arm64' ;; | |
'armv7l') ARCH='armv7' ;; | |
'riscv64') ARCH='riscv64' ;; | |
's390x') ARCH='s390x' ;; | |
*) ARCH='unknown' ;; | |
esac | |
echo "The architecture is: $ARCH" | |
[ "$ARCH" = 'unknown' ] || { | |
MIHOMO_VER=$(wget -q -O - 'https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha/version.txt') | |
# e.g. alpha-3e966e8 | |
MIHOMO_URL='https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha/mihomo-linux-'$ARCH'-'$MIHOMO_VER'.deb' | |
# e.g. https://github.com/MetaCubeX/mihomo/releases/download/Prerelease-Alpha/mihomo-linux-amd64-alpha-3e966e8.deb | |
wget -q -O ./mihomo.deb "$MIHOMO_URL" | |
sudo apt-get install ./mihomo.deb | |
rm -f ./mihomo.deb | |
} | |
- name: Compile binary for sing-box/mihomo | |
working-directory: master | |
run: | | |
if [ "$(which sing-box 2>/dev/null)"x = 'x' ]; then | |
echo 'sing-box not available.' | |
else | |
echo 'Compiling sing-box rule-set...' | |
sing-box rule-set convert --type adguard ./anti-ad-adguard.txt --output ./anti-ad-sing-box.srs | |
sha256sum ./anti-ad-sing-box.srs | |
fi | |
if [ "$(which mihomo 2>/dev/null)"x = 'x' ]; then | |
echo 'mihomo not available.' | |
else | |
echo 'Compiling mihomo ruleset...' | |
mihomo convert-ruleset domain yaml ./anti-ad-clash.yaml ./anti-ad-mihomo.mrs | |
sha256sum ./anti-ad-mihomo.mrs | |
fi | |
- name: Update website files | |
run: | | |
cp -f ./master/anti-ad-easylist.txt ./website/docs/easylist.txt | |
cp -f ./master/anti-ad-easylist.txt.md5 ./website/docs/easylist.txt.md5 | |
cp -f ./master/anti-ad-adguard.txt ./website/docs/adguard.txt | |
cp -f ./master/anti-ad-adguard.txt.md5 ./website/docs/adguard.txt.md5 | |
cp -f ./master/adblock-for-dnsmasq.conf ./website/docs/dnsmasq.conf | |
cp -f ./master/adblock-for-dnsmasq.conf ./website/docs/anti-ad-for-dnsmasq.conf | |
cp -f ./master/anti-ad-smartdns.conf ./website/docs/anti-ad-for-smartdns.conf | |
cp -f ./master/anti-ad-surge.txt ./website/docs/surge.txt | |
cp -f ./master/anti-ad-surge2.txt ./website/docs/surge2.txt | |
cp -f ./master/anti-ad-clash.yaml ./website/docs/clash.yaml | |
cp -f ./master/anti-ad-domains.txt ./website/docs/domains.txt | |
[ -s './master/anti-ad-sing-box.srs' ] && cp -f ./master/anti-ad-sing-box.srs ./website/docs/anti-ad-sing-box.srs | |
[ -s './master/anti-ad-mihomo.mrs' ] && cp -f ./master/anti-ad-mihomo.mrs ./website/docs/mihomo.mrs | |
- name: Commit to website | |
working-directory: website | |
run: | | |
git config user.email "[email protected]" | |
git config user.name "GitHub Action[bot]" | |
git add . | |
git commit -m "Sync latest lists" | |
git push |