Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
497 commits
Select commit Hold shift + click to select a range
d73b4e4
chore(lists): update 202602101340
123jjck Feb 10, 2026
7d520e9
chore(lists): update 202602110255
123jjck Feb 11, 2026
fff7904
chore(lists): update 202602111326
123jjck Feb 11, 2026
19803a1
chore(lists): update 202602120251
123jjck Feb 12, 2026
cd06502
chore(lists): update 202602121325
123jjck Feb 12, 2026
05ead7f
chore(lists): update 202602130251
123jjck Feb 13, 2026
a791489
chore(lists): update 202602131316
123jjck Feb 13, 2026
03aaab2
feat(providers): add Gcore and Meta, exclude Roblox from all, add non…
123jjck Feb 13, 2026
98e9a66
chore(lists): update 202602131927
123jjck Feb 13, 2026
42fd0b1
feat(providers): add Melbicom and expand DigitalOcean ranges (#31)
123jjck Feb 14, 2026
2d34e2a
chore(lists): update 202602140043
123jjck Feb 14, 2026
354f5a1
chore(lists): update 202602141304
123jjck Feb 14, 2026
8b49e83
chore(lists): update 202602150252
123jjck Feb 15, 2026
0f8b246
chore(lists): update 202602151306
123jjck Feb 15, 2026
17997ce
chore(lists): update 202602160247
123jjck Feb 16, 2026
a72b20b
chore(lists): update 202602161319
123jjck Feb 16, 2026
ca3e8b8
chore(lists): update 202602170244
123jjck Feb 17, 2026
2489062
chore(lists): update 202602171319
123jjck Feb 17, 2026
9c934c2
feat(hetzner,melbicom): add AS212317 to hetzner, AS56630 to melbicom …
123jjck Feb 17, 2026
44fb669
chore(lists): update 202602172205
123jjck Feb 17, 2026
9ffbf5f
chore(lists): update 202602180247
123jjck Feb 18, 2026
9ba2bf0
chore(lists): update 202602181321
123jjck Feb 18, 2026
a4cd07c
feat(glesys): add AS42708 (GleSYS) as a new provider
Feb 18, 2026
a7c442d
refactor(scripts): replace hardcoded PROVIDERS list with filesystem d…
Feb 18, 2026
a439f83
docs(readme): replace inline provider list with a structured table
Feb 18, 2026
f7baefd
chore(lists): update 202602181731
123jjck Feb 18, 2026
51693c6
chore(lists): update 202602190247
123jjck Feb 19, 2026
f64c88d
chore(lists): update 202602191323
123jjck Feb 19, 2026
dcca5f8
feat(scalaxy): add provider AS58061 (#34)
123jjck Feb 19, 2026
32c815e
chore(lists): update 202602191755
123jjck Feb 19, 2026
2cda987
chore(lists): update 202602200241
123jjck Feb 20, 2026
6e7f8e5
chore(lists): update 202602201314
123jjck Feb 20, 2026
01d0100
chore(lists): update 202602210234
123jjck Feb 21, 2026
ecd920e
chore(lists): update 202602211303
123jjck Feb 21, 2026
b2d398c
chore(lists): update 202602221304
123jjck Feb 22, 2026
70d4b7c
chore(lists): update 202602230247
123jjck Feb 23, 2026
5b23f87
chore(lists): update 202602231321
123jjck Feb 23, 2026
416ca98
chore(lists): update 202602240245
123jjck Feb 24, 2026
7eeae4c
chore(lists): update 202602241322
123jjck Feb 24, 2026
55173f7
feat(gthost): add provider AS63023 (#36)
123jjck Feb 24, 2026
f8fb34e
chore(lists): update 202602241511
123jjck Feb 24, 2026
a7abfbe
chore(lists): update 202602250246
123jjck Feb 25, 2026
93e6bd1
chore(lists): update 202602251322
123jjck Feb 25, 2026
db32e48
chore(lists): update 202602260241
123jjck Feb 26, 2026
1d57eea
chore(lists): update 202602261322
123jjck Feb 26, 2026
2d29e8f
chore(lists): update 202602270239
123jjck Feb 27, 2026
23e0893
chore(lists): update 202602271314
123jjck Feb 27, 2026
daf06f8
chore(lists): update 202602281259
123jjck Feb 28, 2026
867d0e5
chore(lists): update 202603010254
123jjck Mar 1, 2026
368ba6f
chore(lists): update 202603011303
123jjck Mar 1, 2026
c00dda9
chore(lists): update 202603020242
123jjck Mar 2, 2026
7a19633
chore(lists): update 202603021316
123jjck Mar 2, 2026
f7d94ea
chore(lists): update 202603031313
123jjck Mar 3, 2026
ebea8f7
chore(lists): update 202603040237
123jjck Mar 4, 2026
43da30a
chore(lists): update 202603041312
123jjck Mar 4, 2026
e548b4c
feat: add BuyVM (AS53667) and expand Scaleway with AS29447
Mar 4, 2026
664054d
fix: improve timeout retry handling for provider fetches
123jjck Mar 4, 2026
1bd53ec
chore(lists): update 202603041613
123jjck Mar 4, 2026
b315fbd
feat: discord voice IPs (#39)
123jjck Mar 4, 2026
acd3ce9
chore(lists): update 202603050241
123jjck Mar 5, 2026
8d65940
feat(providers): add missing ASNs for Contabo, GCore, and Oracle (#40…
123jjck Mar 5, 2026
53e7008
chore(lists): update 202603060241
123jjck Mar 6, 2026
9d4c83b
chore(lists): update 202603061312
123jjck Mar 6, 2026
b382251
chore(lists): update 202603071304
123jjck Mar 7, 2026
7f1588b
feat(lists): add cdn-only list, make all include every provider
123jjck Mar 7, 2026
4b11ac2
refactor(scripts): clean up original code issues found in review
123jjck Mar 7, 2026
28418cd
chore(lists): update 202603071757
123jjck Mar 7, 2026
e31fbd2
feat(lists): add cdn-only list and clean up scripts (#44)
123jjck Mar 7, 2026
e3d9681
chore(workflow): use conventional commit format for list updates
claude Mar 7, 2026
e06c593
chore(workflow): use conventional commit format for list updates (#45)
123jjck Mar 7, 2026
7bd4610
chore(lists): update 202603080246
123jjck Mar 8, 2026
8cf68d4
chore(lists): update 202603081305
123jjck Mar 8, 2026
4462615
docs: add mihomo-configurator note alert to both READMEs (#47)
123jjck Mar 8, 2026
6a6dae0
chore(lists): update 202603090248
123jjck Mar 9, 2026
ae29a54
chore(lists): update 202603091324
123jjck Mar 9, 2026
ce33eb8
chore(lists): update 202603100238
123jjck Mar 10, 2026
1482658
chore(lists): update 202603101319
123jjck Mar 10, 2026
96ed1ef
chore(lists): update 202603110238
123jjck Mar 11, 2026
70148f9
chore(lists): update 202603120244
123jjck Mar 12, 2026
26259e0
chore(lists): update 202603121318
123jjck Mar 12, 2026
98b2cde
chore(lists): update 202603130241
123jjck Mar 13, 2026
21c513d
chore(lists): update 202603131316
123jjck Mar 13, 2026
80916a6
chore(lists): update 202603140240
123jjck Mar 14, 2026
3187b40
chore(lists): update 202603141308
123jjck Mar 14, 2026
7f8fab6
chore(lists): update 202603150318
123jjck Mar 15, 2026
1a3b89b
chore(lists): update 202603160320
123jjck Mar 16, 2026
5fa0c42
chore(lists): update 202603161344
123jjck Mar 16, 2026
5e519ab
chore(lists): update 202603170244
123jjck Mar 17, 2026
f9f9b72
chore(lists): update 202603171329
123jjck Mar 17, 2026
587f715
chore(lists): update 202603180251
123jjck Mar 18, 2026
9e88fb9
chore(lists): update 202603181343
123jjck Mar 18, 2026
48fe383
chore(lists): update 202603190252
123jjck Mar 19, 2026
654d83c
chore(lists): update 202603191324
123jjck Mar 19, 2026
ba0e6a8
chore(lists): update 202603201317
123jjck Mar 20, 2026
74ffa45
chore(lists): update 202603210236
123jjck Mar 21, 2026
7fa43a7
chore(lists): update 202603211306
123jjck Mar 21, 2026
a659820
chore(lists): update 202603220253
123jjck Mar 22, 2026
5ff1e38
chore(lists): update 202603221308
123jjck Mar 22, 2026
9b42997
chore(lists): update 202603230253
123jjck Mar 23, 2026
056c50d
chore(lists): update 202603231325
123jjck Mar 23, 2026
0a97955
chore(lists): update 202603240244
123jjck Mar 24, 2026
477f6f9
chore(lists): update 202603241329
123jjck Mar 24, 2026
f8c56df
chore(lists): update 202603250249
123jjck Mar 25, 2026
9a0cb01
chore(lists): update 202603251330
123jjck Mar 25, 2026
e835cef
chore(lists): update 202603260256
123jjck Mar 26, 2026
d874cd6
chore(lists): update 202603261347
123jjck Mar 26, 2026
72866fb
chore(lists): update 202603270259
123jjck Mar 27, 2026
32bfb7f
chore(lists): update 202603271323
123jjck Mar 27, 2026
ad29269
chore(lists): update 202603280250
123jjck Mar 28, 2026
31652dc
chore(lists): update 202603281312
123jjck Mar 28, 2026
2a06922
chore(lists): update 202603290321
123jjck Mar 29, 2026
709e649
chore(lists): update 202603291312
123jjck Mar 29, 2026
92cc9eb
chore(lists): update 202603300324
123jjck Mar 30, 2026
c7596fa
chore(lists): update 202603301352
123jjck Mar 30, 2026
cbce773
chore(lists): update 202603310258
123jjck Mar 31, 2026
2b1e9dc
chore(lists): update 202603311351
123jjck Mar 31, 2026
c763914
chore(lists): update 202604010329
123jjck Apr 1, 2026
3eccb81
chore(lists): update 202604011354
123jjck Apr 1, 2026
137f84b
chore(lists): update 202604020254
123jjck Apr 2, 2026
0fb4549
chore(lists): update 202604021344
123jjck Apr 2, 2026
dc9c96d
chore(lists): update 202604031320
123jjck Apr 3, 2026
1250a51
chore(lists): update 202604040246
123jjck Apr 4, 2026
12de96e
chore(lists): update 202604050323
123jjck Apr 5, 2026
7690d31
chore(lists): update 202604060326
123jjck Apr 6, 2026
5dd4041
chore(lists): update 202604061327
123jjck Apr 6, 2026
773b204
chore(lists): update 202604070259
123jjck Apr 7, 2026
7b519d1
chore(lists): update 202604071348
123jjck Apr 7, 2026
f2dbb62
chore(lists): update 202604080319
123jjck Apr 8, 2026
b8e7e3d
chore(lists): update 202604081350
123jjck Apr 8, 2026
457f205
chore(lists): update 202604090255
123jjck Apr 9, 2026
ac39730
chore(lists): update 202604091401
123jjck Apr 9, 2026
685d2cb
chore(lists): update 202604100327
123jjck Apr 10, 2026
3f162b9
chore(lists): update 202604101327
123jjck Apr 10, 2026
9cfc8b4
chore(lists): update 202604110251
123jjck Apr 11, 2026
101e130
chore(lists): update 202604111315
123jjck Apr 11, 2026
8f6d6c3
chore(lists): update 202604120331
123jjck Apr 12, 2026
5a5a1b7
chore(lists): update 202604121317
123jjck Apr 12, 2026
f2ac6f5
chore(lists): update 202604130337
123jjck Apr 13, 2026
788869e
chore(lists): update 202604131358
123jjck Apr 13, 2026
acec1d8
chore(lists): update 202604140327
123jjck Apr 14, 2026
34c200d
chore(lists): update 202604150325
123jjck Apr 15, 2026
facd10c
chore(lists): update 202604151356
123jjck Apr 15, 2026
74c077a
chore(lists): update 202604160333
123jjck Apr 16, 2026
a117acd
chore(lists): update 202604161405
123jjck Apr 16, 2026
aa03f80
chore(lists): update 202604170329
123jjck Apr 17, 2026
3ab5120
chore(lists): update 202604171347
123jjck Apr 17, 2026
abb6051
chore(lists): update 202604180316
123jjck Apr 18, 2026
c5070c1
chore(lists): update 202604181318
123jjck Apr 18, 2026
b13445e
chore(lists): update 202604190336
123jjck Apr 19, 2026
11e610d
chore(lists): update 202604191318
123jjck Apr 19, 2026
b03564f
chore(lists): update 202604200337
123jjck Apr 20, 2026
75e1f40
chore(lists): update 202604280351
123jjck Apr 28, 2026
f14a991
chore(lists): update 202604290347
123jjck Apr 29, 2026
eb26748
chore(lists): update 202604291420
123jjck Apr 29, 2026
cb29390
chore(lists): update 202604300349
123jjck Apr 30, 2026
56e88af
chore(lists): update 202604301414
123jjck Apr 30, 2026
882d7d9
chore(lists): update 202605010400
123jjck May 1, 2026
0aa28da
chore(lists): update 202605011344
123jjck May 1, 2026
4971896
chore(lists): update 202605020333
123jjck May 2, 2026
3c9afb4
chore(lists): update 202605021328
123jjck May 2, 2026
78cd608
chore(lists): update 202605030355
123jjck May 3, 2026
c3649dd
chore(lists): update 202605031327
123jjck May 3, 2026
44d73ae
chore(lists): update 202605040353
123jjck May 4, 2026
29c5b53
chore(lists): update 202605041421
123jjck May 4, 2026
afe0c73
chore(lists): update 202605050335
123jjck May 5, 2026
ae0a141
chore(lists): update 202605051413
123jjck May 5, 2026
592ef09
chore(lists): update 202605060349
123jjck May 6, 2026
2151d17
chore(lists): update 202605061432
123jjck May 6, 2026
79c16a1
chore(lists): update 202605070348
123jjck May 7, 2026
2aa733d
chore(lists): update 202605071434
123jjck May 7, 2026
a949cd7
chore(lists): update 202605080339
123jjck May 8, 2026
26ffe01
chore(lists): update 202605081406
123jjck May 8, 2026
86900e2
chore(lists): update 202605090340
123jjck May 9, 2026
3d7fcb4
chore(lists): update 202605091341
123jjck May 9, 2026
10f362b
chore(lists): update 202605111528
123jjck May 11, 2026
edf8686
chore(lists): update 202605120352
123jjck May 12, 2026
58e670e
chore(lists): update 202605121440
123jjck May 12, 2026
9342ddd
chore(lists): update 202605130400
123jjck May 13, 2026
8dd76fe
ci: only fail if all providers fail, not if any single provider fails…
Copilot May 13, 2026
d0c862d
chore(lists): update 202605131451
123jjck May 13, 2026
aa2c8f6
chore(lists): update 202605140359
123jjck May 14, 2026
9ea8feb
chore(lists): update 202605141431
123jjck May 14, 2026
43c6eb9
chore(lists): update 202605150403
123jjck May 15, 2026
652e07b
chore(lists): update 202605160344
123jjck May 16, 2026
0932b44
chore(lists): update 202605161347
123jjck May 16, 2026
6a68d46
chore(lists): update 202605170403
123jjck May 17, 2026
cb2e3e4
chore(lists): update 202605171346
123jjck May 17, 2026
62e7614
chore(lists): update 202605180416
123jjck May 18, 2026
a07a650
chore(lists): update 202605181549
123jjck May 18, 2026
3763b55
chore(lists): update 202605190411
123jjck May 19, 2026
b45f019
chore(lists): update 202605191540
123jjck May 19, 2026
855869c
chore(lists): update 202605200411
123jjck May 20, 2026
dce1624
chore(lists): update 202605201540
123jjck May 20, 2026
17854d9
chore(lists): update 202605210421
123jjck May 21, 2026
d981fe6
chore(lists): update 202605211543
123jjck May 21, 2026
1661310
chore(lists): update 202605220416
123jjck May 22, 2026
717f0da
chore(lists): update 202605221453
123jjck May 22, 2026
6104a87
chore(lists): update 202605230354
123jjck May 23, 2026
c903d07
chore(lists): update 202605231352
123jjck May 23, 2026
d3cc5ac
chore(lists): update 202605240415
123jjck May 24, 2026
345e1cc
chore(lists): update 202605241350
123jjck May 24, 2026
4f3753c
chore(lists): update 202605250426
123jjck May 25, 2026
4987b13
chore(lists): update 202605251522
123jjck May 25, 2026
b7c0850
chore(lists): update 202605260411
123jjck May 26, 2026
776cdbf
chore(lists): update 202605261557
123jjck May 26, 2026
9206c90
chore(lists): update 202605270424
123jjck May 27, 2026
7210e6c
chore(lists): update 202605271604
123jjck May 27, 2026
24defb2
chore(lists): update 202605280415
123jjck May 28, 2026
4bfbd74
chore(lists): update 202605281616
123jjck May 28, 2026
5a3da85
chore(lists): update 202605290417
123jjck May 29, 2026
461b91d
chore(lists): update 202605291558
123jjck May 29, 2026
7d9c95b
chore(lists): update 202605300402
123jjck May 30, 2026
e2b937b
chore(lists): update 202605301355
123jjck May 30, 2026
81a5e3d
chore(lists): update 202605310427
123jjck May 31, 2026
3092849
chore(lists): update 202605311400
123jjck May 31, 2026
a746928
chore(lists): update 202606010458
123jjck Jun 1, 2026
c27c370
chore(lists): update 202606011755
123jjck Jun 1, 2026
496c16a
chore(lists): update 202606020445
123jjck Jun 2, 2026
3be6fe5
chore(lists): update 202606021647
123jjck Jun 2, 2026
cf57358
chore(lists): update 202606030454
123jjck Jun 3, 2026
8266250
chore(lists): update 202606031703
123jjck Jun 3, 2026
90fa914
chore(lists): update 202606040448
123jjck Jun 4, 2026
61e1cb7
chore(lists): update 202606041532
123jjck Jun 4, 2026
eaadb19
chore(lists): update 202606050424
123jjck Jun 5, 2026
95c157d
chore(lists): update 202606051522
123jjck Jun 5, 2026
3d2fee5
chore(lists): update 202606060407
123jjck Jun 6, 2026
7232dfe
chore(lists): update 202606061401
123jjck Jun 6, 2026
c34b77d
chore(lists): update 202606070446
123jjck Jun 7, 2026
3e62ef1
chore(lists): update 202606071414
123jjck Jun 7, 2026
b047a1b
chore(lists): update 202606080455
123jjck Jun 8, 2026
5633fa6
chore(lists): update 202606081607
123jjck Jun 8, 2026
f53befe
chore(lists): update 202606090409
123jjck Jun 9, 2026
1b7262f
chore(lists): update 202606091519
123jjck Jun 9, 2026
c9387ae
chore(lists): update 202606100421
123jjck Jun 10, 2026
0d067a5
chore(lists): update 202606101554
123jjck Jun 10, 2026
5b95953
chore(lists): update 202606110442
123jjck Jun 11, 2026
dc0acf4
chore(lists): update 202606111614
123jjck Jun 11, 2026
90abdd7
chore(lists): update 202606120444
123jjck Jun 12, 2026
a077b12
fix(all): exclude deprecated roblox ranges
123jjck Jun 12, 2026
9154341
chore(lists): update 202606121531
123jjck Jun 12, 2026
34db337
chore(lists): update 202606130423
123jjck Jun 13, 2026
096fd83
chore(lists): update 202606131415
123jjck Jun 13, 2026
93f6242
chore(lists): update 202606140451
123jjck Jun 14, 2026
ae21d0d
chore(lists): update 202606141420
123jjck Jun 14, 2026
4d09a83
chore(lists): update 202606150507
123jjck Jun 15, 2026
758faa3
chore(lists): update 202606151723
123jjck Jun 15, 2026
4da9228
chore(lists): update 202606160510
123jjck Jun 16, 2026
281b730
chore(lists): update 202606161711
123jjck Jun 16, 2026
14c828d
Add netify
ProKn1fe Jun 16, 2026
a1d1f97
Reorder
ProKn1fe Jun 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 43 additions & 8 deletions .github/workflows/update-cdn-lists.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,54 @@ permissions:
jobs:
update:
runs-on: ubuntu-latest
env:
NETWORKSDB_API_KEY: ${{ secrets.NETWORKSDB_API_KEY }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
uses: actions/checkout@v5

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Install dependencies
run: |
python3 -m pip install --upgrade pip
python3 -m pip install "psycopg[binary]" dnspython

- name: Generate CDN lists
run: python3 scripts/update_cdn_lists.py

- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: stable

- name: Generate GeoIP dat files
run: python3 scripts/generate_geoip_dat.py

- name: Install sing-box
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
tag=$(curl -fs -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/repos/SagerNet/sing-box/releases/latest | jq -r '.tag_name')
arch=$(dpkg --print-architecture)
package_name="sing-box_${tag#v}_linux_${arch}.deb"
package_url="https://github.com/SagerNet/sing-box/releases/download/${tag}/${package_name}"

curl -fLo "$package_name" -H "Authorization: token $GITHUB_TOKEN" "$package_url"
sudo dpkg -i "$package_name"
rm -f "$package_name"

- name: Generate sing-box ruleset files
run: python3 scripts/generate_sing_box_rulesets.py

- name: Set commit name
run: echo "COMMIT_NAME=$(date -u +%Y%m%d%H%M)" >> $GITHUB_ENV

- name: Commit and push if changes exist
uses: stefanzweifel/git-auto-commit-action@v5
uses: stefanzweifel/git-auto-commit-action@v7
with:
commit_message: 'chore: refresh CDN IP lists'
file_pattern: |
aws/*.txt
cdn77/*.txt
hetzner/*.txt
ovh/*.txt
commit_message: "chore(lists): update ${{ env.COMMIT_NAME }}"
file_pattern: "**/*.txt **/*.csv **/*.json **/*.dat **/*.srs"
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
__pycache__/
77 changes: 59 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,31 +1,72 @@
# cdn_ip_ranges

Автоматически собирает списки IP подсетей для популярных CDN (Hetzner, AWS, CDN77 и OVH) и сохраняет их в двух форматах:
**🌐 Language / Язык:** [English](README.md) | [Русский](README.ru.md)

- `plain.txt` — обычный список подсетей, по одной записи на строку.
- `clash.txt` — строки вида `IP-CIDR,<IPv4-подсеть>` или `IP-CIDR6,<IPv6-подсеть>` (например, `IP-CIDR,127.0.0.1/32` или `IP-CIDR6,2a01:4f9::/32`) для Clash/Meta.
---

## Обновление списков
`cdn_ip_ranges` collects IPv4/IPv6 subnet lists for popular CDN and hosting providers and stores them inside per-provider folders. Each folder (e.g., `aws/`, `hetzner/`) contains:

Локально можно перегенерировать данные командой:
- `<provider>_plain.txt` – one subnet per line (IPv4 + IPv6).
- `<provider>_plain_ipv4.txt` – the same, but IPv4-only.
- `<provider>_amnezia_ipv4.json` – JSON for [Amnezia VPN](https://amnezia.org/) (IPv4-only, array of objects with `hostname`/`ip` fields).
- `<provider>_geoip.dat` – binary [V2Ray GeoIP](https://github.com/v2fly/geoip) format (IPv4 + IPv6).
- `<provider>_geoip_ipv4.dat` – the same, but IPv4-only.
- `<provider>_singbox.srs` – binary [sing-box ruleset](https://sing-box.sagernet.org/configuration/rule-set) format (IPv4 + IPv6).
- `<provider>_singbox_ipv4.srs` – the same, but IPv4-only.

```bash
python3 scripts/update_cdn_lists.py
```
### Quick start

Скрипт обращается к официальным источникам:
| List | Folder | Contents |
|---|---|---|
| **`all`** | [`all/`](https://github.com/123jjck/cdn-ip-ranges/tree/main/all) | Every active provider in this repo — CDN, hosting, Discord Voice, Telegram, Meta, and others. Use this if you want the widest possible coverage. |
| **`cdn-only`** | [`cdn-only/`](https://github.com/123jjck/cdn-ip-ranges/tree/main/cdn-only) | CDN and hosting providers only (excludes Discord Voice, Telegram, Meta, and deprecated providers). Use this if you only need traffic routing for CDN infrastructure. |

- Hetzner, CDN77 и OVH — публичный API RIPE Stat для соответствующих ASN (AS24940, AS60068, AS16276).
- AWS — https://ip-ranges.amazonaws.com/ip-ranges.json.
Most common files (IPv4 plain text):
- `all/all_plain_ipv4.txt`
- `cdn-only/cdn-only_plain_ipv4.txt`

## Проверки качества
### Providers

Скрипт валидирует результаты перед сохранением:
| Provider | AS | In `all` | In `cdn-only` |
|---|---|:---:|:---:|
| Akamai | AS20940, AS63949 | ✅ | ✅ |
| AWS | [ip-ranges.json](scripts/update_cdn_lists.py#L94-L108) | ✅ | ✅ |
| BuyVM | AS53667 | ✅ | ✅ |
| CDN77 | AS60068 | ✅ | ✅ |
| Cloudflare | AS13335 | ✅ | ✅ |
| Cogent | AS174 | ✅ | ✅ |
| Constant | AS20473 | ✅ | ✅ |
| Contabo | AS51167, AS141995 | ✅ | ✅ |
| DataCamp | AS212238 | ✅ | ✅ |
| DigitalOcean | AS14061 | ✅ | ✅ |
| Discord Voice | [crt.sh + DNS resolve](scripts/update_cdn_lists.py#L204-L272) | ✅ | ❌ |
| Fastly | AS54113 | ✅ | ✅ |
| GCore | AS199524, AS202422 | ✅ | ✅ |
| GleSYS | AS42708 | ✅ | ✅ |
| GTHost | AS63023 | ✅ | ✅ |
| Hetzner | AS24940, AS213230, AS212317 | ✅ | ✅ |
| MelBiCom | AS8849, AS56630 | ✅ | ✅ |
| Meta | AS32934 | ✅ | ❌ |
| Netify | AS202425 | ✅ | ✅ |
| Oracle | AS31898, AS6142, AS20054, AS54253 | ✅ | ✅ |
| OVH | AS16276 | ✅ | ✅ |
| Roblox | AS22697 (Deprecated) | ❌ | ❌ |
| Scaleway | AS12876, AS29447 | ✅ | ✅ |
| Scalaxy | AS58061 | ✅ | ✅ |
| Telegram | AS62041, AS62014, AS211157, AS44907, AS59930 | ✅ | ❌ |
| Vercel | [NetworksDB API](scripts/update_cdn_lists.py#L140-L184) | ✅ | ✅ |

- гарантирует, что источники вернули непустой список;
- нормализует и сортирует подсети через `ipaddress`;
- удаляет дубликаты и сообщает их количество в stderr, чтобы в репозиторий попадали только уникальные записи.
### Usage

## График обновления
Guides for different apps are available in the wiki: https://github.com/123jjck/cdn-ip-ranges/wiki/Usage-(EN)

GitHub Actions workflow `Update CDN IP Lists` (`.github/workflows/update-cdn-lists.yml`) запускается каждые 12 часов и при необходимости коммитит свежие данные в репозиторий.
> [!NOTE]
> Also check out [mihomo-configurator](https://github.com/123jjck/mihomo-configurator) — a convenient browser tool for easy Mihomo configuration.

### Refreshing the data

Run `python3 scripts/update_cdn_lists.py` locally to pull the latest ranges and rewrite the text files.

### Automation

GitHub Actions (`.github/workflows/update-cdn-lists.yml`) executes the script every 12 hours and commits changes whenever new prefixes appear.
82 changes: 82 additions & 0 deletions README.ru.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# cdn_ip_ranges

**🌐 Language / Язык:** [English](README.md) | [Русский](README.ru.md)

---

`cdn_ip_ranges` собирает списки IPv4/IPv6 подсетей для популярных CDN и хостинг-провайдеров
и складывает их по папкам (например, `aws/`, `hetzner/`).
Внутри каждой папки:

- `<провайдер>_plain.txt` — по одной подсети на строку (IPv4+IPv6).
- `<провайдер>_plain_ipv4.txt` — только IPv4-вариант.
- `<провайдер>_amnezia_ipv4.json` — JSON для [Amnezia VPN](https://amnezia.org/) (только IPv4, массив объектов с полями `hostname`/`ip`).
- `<провайдер>_geoip.dat` — бинарный формат [V2Ray GeoIP](https://github.com/v2fly/geoip) (IPv4+IPv6).
- `<провайдер>_geoip_ipv4.dat` — то же самое, но только IPv4.
- `<провайдер>_singbox.srs` — бинарный формат [sing-box ruleset](https://sing-box.sagernet.org/configuration/rule-set) (IPv4+IPv6).
- `<провайдер>_singbox_ipv4.dat` — то же самое, но только IPv4.

### Быстрый старт

| Список | Папка | Содержимое |
|---|---|---|
| **`all`** | [`all/`](https://github.com/123jjck/cdn-ip-ranges/tree/main/all) | Все активные провайдеры репозитория — CDN, хостинг, Discord Voice, Telegram, Meta и другие. Берите, если нужно максимальное покрытие. |
| **`cdn-only`** | [`cdn-only/`](https://github.com/123jjck/cdn-ip-ranges/tree/main/cdn-only) | Только CDN и хостинг (без Discord Voice, Telegram, Meta и deprecated-провайдеров). Берите, если нужна маршрутизация только CDN-трафика. |

Самые ходовые файлы (только IPv4, plain text):
- `all/all_plain_ipv4.txt`
- `cdn-only/cdn-only_plain_ipv4.txt`

### Провайдеры

| Провайдер | AS | В `all` | В `cdn-only` |
|---|---|:---:|:---:|
| Akamai | AS20940, AS63949 | ✅ | ✅ |
| AWS | [ip-ranges.json](scripts/update_cdn_lists.py#L94-L108) | ✅ | ✅ |
| BuyVM | AS53667 | ✅ | ✅ |
| CDN77 | AS60068 | ✅ | ✅ |
| Cloudflare | AS13335 | ✅ | ✅ |
| Cogent | AS174 | ✅ | ✅ |
| Constant | AS20473 | ✅ | ✅ |
| Contabo | AS51167, AS141995 | ✅ | ✅ |
| DataCamp | AS212238 | ✅ | ✅ |
| DigitalOcean | AS14061 | ✅ | ✅ |
| Discord Voice | [crt.sh + DNS resolve](scripts/update_cdn_lists.py#L204-L272) | ✅ | ❌ |
| Fastly | AS54113 | ✅ | ✅ |
| GCore | AS199524, AS202422 | ✅ | ✅ |
| GleSYS | AS42708 | ✅ | ✅ |
| GTHost | AS63023 | ✅ | ✅ |
| Hetzner | AS24940, AS213230, AS212317 | ✅ | ✅ |
| MelBiCom | AS8849, AS56630 | ✅ | ✅ |
| Meta | AS32934 | ✅ | ❌ |
| Netify | AS202425 | ✅ | ✅ |
| Oracle | AS31898, AS6142, AS20054, AS54253 | ✅ | ✅ |
| OVH | AS16276 | ✅ | ✅ |
| Roblox | AS22697 (Deprecated) | ❌ | ❌ |
| Scaleway | AS12876, AS29447 | ✅ | ✅ |
| Scalaxy | AS58061 | ✅ | ✅ |
| Telegram | AS62041, AS62014, AS211157, AS44907, AS59930 | ✅ | ❌ |
| Vercel | [NetworksDB API](scripts/update_cdn_lists.py#L140-L184) | ✅ | ✅ |

Также доступен сервис [cheburcheck.ru](https://github.com/LowderPlay/cheburcheck) — он позволяет проверить домен или IP-адрес на наличие в любых списках проекта, а также в списках РКН.

### Использование

Гайды для разных приложений есть в вики: https://github.com/123jjck/cdn-ip-ranges/wiki/Usage-(RU)

> [!NOTE]
> Также обратите внимание на [mihomo-configurator](https://github.com/123jjck/mihomo-configurator) — удобный браузерный инструмент для лёгкой настройки Mihomo.

### Как обновить данные

Запустите локально:

~~~bash
python3 scripts/update_cdn_lists.py
~~~

Скрипт скачает актуальные диапазоны и перезапишет файлы.

### Автоматизация

GitHub Actions (`.github/workflows/update-cdn-lists.yml`) выполняет обновление каждые 12 часов и коммитит изменения, если появились новые подсети.
Loading