4
0
mirror of https://github.com/darkclip/netlist.git synced 2026-11-11 00:34:07 +08:00
netlist/.github/workflows/build-net.yml
2025-05-12 07:12:45 +08:00

92 lines
3.1 KiB
YAML

name: build-net
on:
push:
branches:
- "master"
paths:
- ".github/workflows/build-net.yml"
workflow_dispatch:
schedule:
- cron: "0 16 * * *"
jobs:
build-net:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f pyproject.toml ]; then pip install .[network]; fi
- name: Checkout reference branch 1
uses: actions/checkout@v4
with:
repository: gaoyifan/china-operator-ip
ref: ip-lists
path: ref1
- name: Checkout reference branch 2
uses: actions/checkout@v4
with:
repository: loyalsoldier/v2ray-rules-dat
ref: release
path: ref2
- name: Checkout target branch
uses: actions/checkout@v4
with:
ref: net
path: target
- name: Clean target branch
continue-on-error: true
run: rm target/*
- name: Rebuild target branch
run: |
./raydata.py ref2/geoip.dat -c CN -o target/chinaip.txt geoip
./netgen.py target/chinaip.txt -4 -o target/china4.txt
./netgen.py target/chinaip.txt -6 -o target/china6.txt
./netgen.py ref1/chinanet.txt -o target/telecom4.txt
./netgen.py ref1/chinanet6.txt -o target/telecom6.txt
./netgen.py ref1/unicom.txt -o target/unicom4.txt
./netgen.py ref1/unicom6.txt -o target/unicom6.txt
./netgen.py ref1/cmcc.txt -o target/mobile4.txt
./netgen.py ref1/cmcc6.txt -o target/mobile6.txt
./netgen.py target/china4.txt -e ref1/chinanet.txt ref1/unicom.txt -o target/chinae2v4.txt
./netgen.py target/china6.txt -e ref1/chinanet6.txt ref1/unicom6.txt -o target/chinae2v6.txt
./netgen.py target/china4.txt -e ref1/chinanet.txt ref1/unicom.txt ref1/cmcc.txt -o target/chinae3v4.txt
./netgen.py target/china6.txt -e ref1/chinanet6.txt ref1/unicom6.txt ref1/cmcc6.txt -o target/chinae3v6.txt
./netgen.py 0.0.0.0/0 -e private4.txt target/china4.txt -o target/foreign4.txt
./netgen.py ::/0 -e private6.txt target/china6.txt -o target/foreign6.txt
curl -fsSL https://www.cloudflare.com/ips-v4 -o cf4.txt
curl -fsSL https://www.cloudflare.com/ips-v6 -o cf6.txt
./netgen.py cf4.txt 1.1.1.0/24 1.0.0.0/24 -o target/cf4.txt
./netgen.py cf6.txt -o target/cf6.txt
./netgen.py private4.txt -o target/private4.txt
./netgen.py private6.txt -o target/private6.txt
cd target
tree -H . -P "*.txt" -T "IP List - $(date +%Y-%m-%d)" > index.html
- name: Push to target branch
continue-on-error: true
run: |
cd target
git config --global user.name "${GITHUB_ACTOR}"
git config --global user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git add .
git commit -m "update $(date +%Y-%m-%d)"
git push -q