├── .gitattributes ├── README.md ├── cdn_ip_cidr.json ├── images ├── image1.jpg └── image2.jpg ├── ip.txt └── iscdn.py /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # CDN-Filter 2 | 一个过滤 CDN IP 的小工具 3 | 4 | ## 使用方法 5 | 6 | (1)把 IP 都放到 ip.txt 文件中 7 | 8 | ![](https://github.com/NyDubh3/CDN-Filter/blob/main/images/image2.jpg?raw=true) 9 | 10 | (2)执行以下命令 11 | 12 | ``` 13 | python3 iscdn.py 14 | ``` 15 | 16 | ![](https://github.com/NyDubh3/CDN-Filter/blob/main/images/image1.jpg?raw=true) 17 | -------------------------------------------------------------------------------- /cdn_ip_cidr.json: -------------------------------------------------------------------------------- 1 | [ 2 | "223.99.255.0/24", 3 | "71.152.0.0/17", 4 | "219.153.73.0/24", 5 | "125.39.46.0/24", 6 | "190.93.240.0/20", 7 | "14.0.113.0/24", 8 | "14.0.47.0/24", 9 | "113.20.148.0/22", 10 | "103.75.201.0/24", 11 | "1.32.239.0/24", 12 | "101.79.239.0/24", 13 | "52.46.0.0/18", 14 | "125.88.189.0/24", 15 | "150.138.248.0/24", 16 | "180.153.235.0/24", 17 | "205.251.252.0/23", 18 | "103.1.65.0/24", 19 | "115.127.227.0/24", 20 | "14.0.42.0/24", 21 | "109.199.58.0/24", 22 | "116.211.155.0/24", 23 | "112.253.3.0/24", 24 | "14.0.58.0/24", 25 | "223.112.227.0/24", 26 | "113.20.150.0/23", 27 | "61.182.141.0/24", 28 | "34.216.51.0/25", 29 | "124.95.188.0/24", 30 | "42.51.25.0/24", 31 | "183.136.133.0/24", 32 | "52.220.191.0/26", 33 | "119.84.93.0/24", 34 | "182.118.38.0/24", 35 | "13.59.250.0/26", 36 | "54.178.75.0/24", 37 | "119.84.92.0/24", 38 | "183.131.62.0/24", 39 | "111.32.136.0/24", 40 | "13.124.199.0/24", 41 | "111.47.227.0/24", 42 | "104.37.177.0/24", 43 | "14.0.50.0/24", 44 | "183.230.70.0/24", 45 | "114.111.59.0/24", 46 | "220.181.135.0/24", 47 | "112.140.32.0/19", 48 | "101.79.230.0/24", 49 | "14.0.115.0/24", 50 | "103.28.248.0/22", 51 | "117.34.72.0/24", 52 | "109.199.57.0/24", 53 | "101.79.149.0/24", 54 | "116.128.128.0/24", 55 | "115.231.186.0/24", 56 | "103.22.200.0/22", 57 | "61.155.165.0/24", 58 | "113.20.148.0/23", 59 | "185.254.242.0/24", 60 | "59.36.120.0/24", 61 | "70.132.0.0/18", 62 | "116.31.126.0/24", 63 | "119.147.134.0/24", 64 | "115.127.246.0/24", 65 | "52.47.139.0/24", 66 | "118.107.175.0/24", 67 | "52.78.247.128/26", 68 | "110.93.176.0/20", 69 | "54.240.128.0/18", 70 | "46.51.216.0/21", 71 | "119.31.251.0/24", 72 | "125.39.18.0/24", 73 | "108.175.33.0/24", 74 | "1.31.128.0/24", 75 | "61.151.163.0/24", 76 | "103.95.132.0/24", 77 | "58.215.118.0/24", 78 | "54.233.255.128/26", 79 | "120.52.113.0/24", 80 | "118.107.174.0/24", 81 | "1.32.242.0/24", 82 | "221.195.34.0/24", 83 | "101.79.228.0/24", 84 | "205.251.249.0/24", 85 | "113.200.91.0/24", 86 | "101.79.146.0/24", 87 | "221.238.22.0/24", 88 | "134.19.183.0/24", 89 | "110.93.160.0/20", 90 | "180.97.158.0/24", 91 | "115.127.251.0/24", 92 | "119.167.147.0/24", 93 | "115.127.238.0/24", 94 | "115.127.240.0/22", 95 | "14.0.48.0/24", 96 | "115.127.240.0/24", 97 | "113.7.183.0/24", 98 | "112.140.128.0/20", 99 | "115.127.255.0/24", 100 | "114.31.36.0/22", 101 | "101.79.232.0/24", 102 | "218.98.44.0/24", 103 | "106.119.182.0/24", 104 | "101.79.167.0/24", 105 | "125.39.5.0/24", 106 | "58.49.105.0/24", 107 | "124.202.164.0/24", 108 | "111.177.6.0/24", 109 | "61.133.127.0/24", 110 | "185.11.124.0/22", 111 | "150.138.150.0/24", 112 | "115.127.248.0/24", 113 | "103.74.80.0/22", 114 | "101.79.166.0/24", 115 | "101.71.55.0/24", 116 | "198.41.128.0/17", 117 | "117.21.219.0/24", 118 | "103.231.170.0/24", 119 | "221.204.202.0/24", 120 | "101.79.224.0/24", 121 | "112.25.16.0/24", 122 | "111.177.3.0/24", 123 | "204.246.168.0/22", 124 | "103.40.7.0/24", 125 | "134.226.0.0/16", 126 | "52.15.127.128/26", 127 | "122.190.2.0/24", 128 | "101.203.192.0/18", 129 | "1.32.238.0/24", 130 | "101.79.144.0/24", 131 | "176.34.28.0/24", 132 | "119.84.15.0/24", 133 | "18.216.170.128/25", 134 | "222.88.94.0/24", 135 | "101.79.150.0/24", 136 | "114.111.48.0/21", 137 | "124.95.168.0/24", 138 | "114.111.48.0/20", 139 | "110.93.176.0/21", 140 | "223.111.127.0/24", 141 | "117.23.61.0/24", 142 | "140.207.120.0/24", 143 | "157.255.26.0/24", 144 | "221.204.14.0/24", 145 | "183.222.96.0/24", 146 | "104.37.180.0/24", 147 | "42.236.93.0/24", 148 | "111.63.51.0/24", 149 | "114.31.32.0/20", 150 | "118.180.50.0/24", 151 | "222.240.184.0/24", 152 | "205.251.192.0/19", 153 | "101.79.225.0/24", 154 | "115.127.228.0/24", 155 | "113.20.148.0/24", 156 | "61.213.176.0/24", 157 | "112.65.75.0/24", 158 | "111.13.147.0/24", 159 | "113.20.145.0/24", 160 | "103.253.132.0/24", 161 | "52.222.128.0/17", 162 | "183.203.7.0/24", 163 | "27.221.27.0/24", 164 | "103.79.134.0/24", 165 | "123.150.187.0/24", 166 | "103.15.194.0/24", 167 | "162.158.0.0/15", 168 | "61.163.30.0/24", 169 | "182.140.227.0/24", 170 | "112.25.60.0/24", 171 | "117.148.161.0/24", 172 | "61.182.136.0/24", 173 | "114.31.56.0/22", 174 | "64.252.128.0/18", 175 | "183.61.185.0/24", 176 | "115.127.250.0/24", 177 | "150.138.138.0/24", 178 | "13.210.67.128/26", 179 | "211.162.64.0/24", 180 | "61.174.9.0/24", 181 | "14.0.112.0/24", 182 | "52.52.191.128/26", 183 | "27.221.124.0/24", 184 | "103.4.203.0/24", 185 | "103.14.10.0/24", 186 | "34.232.163.208/29", 187 | "114.31.48.0/20", 188 | "59.51.81.0/24", 189 | "183.60.235.0/24", 190 | "101.227.206.0/24", 191 | "125.39.174.0/24", 192 | "119.167.246.0/24", 193 | "118.107.160.0/21", 194 | "223.166.151.0/24", 195 | "110.93.160.0/19", 196 | "204.246.172.0/23", 197 | "119.31.253.0/24", 198 | "143.204.0.0/16", 199 | "14.0.60.0/24", 200 | "123.151.76.0/24", 201 | "116.193.80.0/24", 202 | "120.241.102.0/24", 203 | "180.96.20.0/24", 204 | "216.137.32.0/19", 205 | "223.94.95.0/24", 206 | "103.4.201.0/24", 207 | "14.0.56.0/24", 208 | "115.127.234.0/24", 209 | "113.20.144.0/23", 210 | "103.248.104.0/24", 211 | "122.143.15.0/24", 212 | "101.79.229.0/24", 213 | "101.79.163.0/24", 214 | "104.37.112.0/22", 215 | "115.127.253.0/24", 216 | "141.101.64.0/18", 217 | "113.20.144.0/22", 218 | "101.79.155.0/24", 219 | "117.148.160.0/24", 220 | "124.193.166.0/24", 221 | "109.94.168.0/24", 222 | "203.90.247.0/24", 223 | "101.79.208.0/21", 224 | "182.118.12.0/24", 225 | "114.31.58.0/23", 226 | "202.162.109.0/24", 227 | "101.79.164.0/24", 228 | "58.216.2.0/24", 229 | "222.216.190.0/24", 230 | "101.79.165.0/24", 231 | "111.6.191.0/24", 232 | "1.255.100.0/24", 233 | "52.84.0.0/15", 234 | "112.65.74.0/24", 235 | "183.250.179.0/24", 236 | "101.79.236.0/24", 237 | "119.31.252.0/24", 238 | "113.20.150.0/24", 239 | "60.12.166.0/24", 240 | "101.79.234.0/24", 241 | "113.17.174.0/24", 242 | "101.79.237.0/24", 243 | "61.54.46.0/24", 244 | "118.212.233.0/24", 245 | "183.110.242.0/24", 246 | "150.138.149.0/24", 247 | "117.34.13.0/24", 248 | "115.127.245.0/24", 249 | "14.0.102.0/24", 250 | "14.0.109.0/24", 251 | "61.130.28.0/24", 252 | "113.20.151.0/24", 253 | "219.159.84.0/24", 254 | "114.111.62.0/24", 255 | "172.64.0.0/13", 256 | "61.155.222.0/24", 257 | "120.52.29.0/24", 258 | "115.127.231.0/24", 259 | "14.0.49.0/24", 260 | "113.202.0.0/16", 261 | "103.248.104.0/22", 262 | "205.251.250.0/23", 263 | "103.216.136.0/22", 264 | "118.107.160.0/20", 265 | "109.87.0.0/21", 266 | "54.239.128.0/18", 267 | "115.127.224.0/19", 268 | "111.202.98.0/24", 269 | "109.94.169.0/24", 270 | "59.38.112.0/24", 271 | "204.246.176.0/20", 272 | "123.133.84.0/24", 273 | "103.4.200.0/24", 274 | "111.161.109.0/24", 275 | "112.84.34.0/24", 276 | "103.82.129.0/24", 277 | "183.3.254.0/24", 278 | "112.137.184.0/21", 279 | "122.227.237.0/24", 280 | "36.42.75.0/24", 281 | "13.35.0.0/16", 282 | "101.226.4.0/24", 283 | "116.140.35.0/24", 284 | "58.250.143.0/24", 285 | "13.54.63.128/26", 286 | "205.251.254.0/24", 287 | "173.245.48.0/20", 288 | "183.61.177.0/24", 289 | "113.20.144.0/24", 290 | "104.37.183.0/24", 291 | "35.158.136.0/24", 292 | "116.211.121.0/24", 293 | "42.236.94.0/24", 294 | "117.34.91.0/24", 295 | "123.6.13.0/24", 296 | "13.224.0.0/14", 297 | "113.20.146.0/24", 298 | "58.58.81.0/24", 299 | "52.124.128.0/17", 300 | "122.228.198.0/24", 301 | "197.234.240.0/22", 302 | "99.86.0.0/16", 303 | "144.220.0.0/16", 304 | "119.188.97.0/24", 305 | "36.27.212.0/24", 306 | "104.37.178.0/24", 307 | "114.31.52.0/22", 308 | "218.65.212.0/24", 309 | "1.255.41.0/24", 310 | "14.0.45.0/24", 311 | "1.32.243.0/24", 312 | "220.170.185.0/24", 313 | "122.190.3.0/24", 314 | "103.79.133.0/24", 315 | "220.181.55.0/24", 316 | "125.39.191.0/24", 317 | "115.127.226.0/24", 318 | "125.39.32.0/24", 319 | "61.120.154.0/24", 320 | "103.4.202.0/24", 321 | "103.79.134.0/23", 322 | "115.127.224.0/24", 323 | "113.20.147.0/24", 324 | "61.156.149.0/24", 325 | "210.209.122.0/24", 326 | "115.127.249.0/24", 327 | "104.37.179.0/24", 328 | "120.52.18.0/24", 329 | "54.192.0.0/16", 330 | "14.0.55.0/24", 331 | "61.160.224.0/24", 332 | "113.207.101.0/24", 333 | "101.79.157.0/24", 334 | "110.93.128.0/20", 335 | "58.251.121.0/24", 336 | "61.240.149.0/24", 337 | "130.176.0.0/16", 338 | "113.107.238.0/24", 339 | "112.65.73.0/24", 340 | "103.75.200.0/23", 341 | "199.83.128.0/21", 342 | "123.129.220.0/24", 343 | "54.230.0.0/16", 344 | "114.111.60.0/24", 345 | "199.27.128.0/21", 346 | "14.0.118.0/24", 347 | "101.79.158.0/24", 348 | "119.31.248.0/21", 349 | "54.182.0.0/16", 350 | "113.31.27.0/24", 351 | "14.17.69.0/24", 352 | "101.79.145.0/24", 353 | "113.20.144.0/21", 354 | "180.163.22.0/24", 355 | "104.37.176.0/21", 356 | "117.25.156.0/24", 357 | "115.127.252.0/24", 358 | "115.127.244.0/23", 359 | "14.0.46.0/24", 360 | "113.207.102.0/24", 361 | "52.199.127.192/26", 362 | "13.113.203.0/24", 363 | "64.252.64.0/18", 364 | "1.32.240.0/24", 365 | "123.129.232.0/24", 366 | "1.32.241.0/24", 367 | "180.163.189.0/24", 368 | "157.255.25.0/24", 369 | "1.32.244.0/24", 370 | "103.248.106.0/24", 371 | "121.48.95.0/24", 372 | "54.239.192.0/19", 373 | "113.20.146.0/23", 374 | "61.136.173.0/24", 375 | "35.162.63.192/26", 376 | "117.34.14.0/24", 377 | "183.232.29.0/24", 378 | "42.81.93.0/24", 379 | "122.228.238.0/24", 380 | "183.61.190.0/24", 381 | "125.39.239.0/24", 382 | "115.127.230.0/24", 383 | "103.140.200.0/23", 384 | "202.102.85.0/24", 385 | "14.0.32.0/21", 386 | "14.0.57.0/24", 387 | "112.25.90.0/24", 388 | "58.211.137.0/24", 389 | "210.22.63.0/24", 390 | "34.226.14.0/24", 391 | "13.32.0.0/15", 392 | "101.79.156.0/24", 393 | "103.89.176.0/24", 394 | "14.0.116.0/24", 395 | "106.42.25.0/24", 396 | "101.79.233.0/24", 397 | "101.79.231.0/24", 398 | "103.75.200.0/24", 399 | "119.188.9.0/24", 400 | "183.232.51.0/24", 401 | "149.126.72.0/21", 402 | "103.21.244.0/22", 403 | "115.127.233.0/24", 404 | "27.221.20.0/24", 405 | "198.143.32.0/19", 406 | "103.248.107.0/24", 407 | "101.79.227.0/24", 408 | "115.127.242.0/24", 409 | "119.31.250.0/24", 410 | "103.82.130.0/24", 411 | "99.84.0.0/16", 412 | "222.73.144.0/24", 413 | "103.79.132.0/22", 414 | "101.79.208.0/20", 415 | "104.37.182.0/24", 416 | "101.79.152.0/24", 417 | "36.99.18.0/24", 418 | "101.71.56.0/24", 419 | "36.250.5.0/24", 420 | "61.158.240.0/24", 421 | "119.188.14.0/24", 422 | "13.249.0.0/16", 423 | "183.214.156.0/24", 424 | "60.221.236.0/24", 425 | "58.30.212.0/24", 426 | "115.127.254.0/24", 427 | "188.114.96.0/20", 428 | "115.127.241.0/24", 429 | "103.4.200.0/22", 430 | "115.127.239.0/24", 431 | "115.127.243.0/24", 432 | "111.32.135.0/24", 433 | "120.221.29.0/24", 434 | "115.127.232.0/24", 435 | "14.0.43.0/24", 436 | "14.0.59.0/24", 437 | "183.61.236.0/24", 438 | "34.223.12.224/27", 439 | "103.24.120.0/24", 440 | "52.57.254.0/24", 441 | "113.207.100.0/24", 442 | "222.186.19.0/24", 443 | "113.20.149.0/24", 444 | "150.138.151.0/24", 445 | "115.231.110.0/24", 446 | "52.56.127.0/25", 447 | "104.37.176.0/24", 448 | "163.177.8.0/24", 449 | "163.53.89.0/24", 450 | "52.82.128.0/19", 451 | "114.111.63.0/24", 452 | "108.162.192.0/18", 453 | "14.136.130.0/24", 454 | "115.127.229.0/24", 455 | "14.17.71.0/24", 456 | "52.212.248.0/26", 457 | "180.163.188.0/24", 458 | "61.182.137.0/24", 459 | "119.161.224.0/21", 460 | "14.0.41.0/24", 461 | "202.162.108.0/24", 462 | "106.122.248.0/24", 463 | "52.66.194.128/26", 464 | "115.127.237.0/24", 465 | "220.170.186.0/24", 466 | "14.0.32.0/19", 467 | "14.0.114.0/24", 468 | "112.90.216.0/24", 469 | "115.127.236.0/24", 470 | "116.193.84.0/24", 471 | "113.207.76.0/24", 472 | "101.79.235.0/24", 473 | "101.79.224.0/20", 474 | "61.155.149.0/24", 475 | "101.79.148.0/24", 476 | "180.163.224.0/24", 477 | "204.246.174.0/23", 478 | "183.60.136.0/24", 479 | "101.227.207.0/24", 480 | "103.248.105.0/24", 481 | "119.188.35.0/24", 482 | "42.236.7.0/24", 483 | "116.193.88.0/21", 484 | "116.193.83.0/24", 485 | "120.199.69.0/24", 486 | "122.226.182.0/24", 487 | "58.20.204.0/24", 488 | "110.93.128.0/21", 489 | "115.231.187.0/24", 490 | "69.28.58.0/24", 491 | "114.31.32.0/19", 492 | "112.25.91.0/24", 493 | "59.52.28.0/24", 494 | "117.27.149.0/24", 495 | "61.147.92.0/24", 496 | "14.0.117.0/24", 497 | "14.0.40.0/24", 498 | "119.97.151.0/24", 499 | "103.199.228.0/22", 500 | "122.70.134.0/24", 501 | "115.127.244.0/24", 502 | "223.112.198.0/24", 503 | "115.127.225.0/24", 504 | "104.16.0.0/12", 505 | "121.12.98.0/24", 506 | "103.31.4.0/22", 507 | "204.246.164.0/22", 508 | "223.94.66.0/24", 509 | "35.167.191.128/26", 510 | "116.31.127.0/24", 511 | "101.79.226.0/24", 512 | "34.195.252.0/24", 513 | "115.127.247.0/24", 514 | "61.240.144.0/24", 515 | "108.175.32.0/20", 516 | "120.197.85.0/24", 517 | "183.232.53.0/24", 518 | "111.161.66.0/24", 519 | "117.34.28.0/24", 520 | "45.64.64.0/22", 521 | "14.0.44.0/24", 522 | "109.86.0.0/15", 523 | "182.23.211.0/24", 524 | "58.211.2.0/24", 525 | "119.36.164.0/24", 526 | "116.55.250.0/24", 527 | "101.227.163.0/24", 528 | "13.228.69.0/24", 529 | "120.221.136.0/24", 530 | "119.188.132.0/24", 531 | "115.127.235.0/24", 532 | "42.236.6.0/24", 533 | "125.88.190.0/24", 534 | "61.54.47.0/24", 535 | "103.27.12.0/22", 536 | "116.193.80.0/21", 537 | "101.79.159.0/24", 538 | "123.155.158.0/24", 539 | "111.47.226.0/24", 540 | "131.0.72.0/22", 541 | "192.230.64.0/18" 542 | ] -------------------------------------------------------------------------------- /images/image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NyDubh3/CDN-Filter/b1a7ad25d707593f3e47a0656ae0d4057b57540b/images/image1.jpg -------------------------------------------------------------------------------- /images/image2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NyDubh3/CDN-Filter/b1a7ad25d707593f3e47a0656ae0d4057b57540b/images/image2.jpg -------------------------------------------------------------------------------- /ip.txt: -------------------------------------------------------------------------------- 1 | 202.96.135.17 2 | 125.88.189.78 -------------------------------------------------------------------------------- /iscdn.py: -------------------------------------------------------------------------------- 1 | import json 2 | import ipaddress 3 | 4 | 5 | def load_json(path): 6 | with open(path) as fp: 7 | return json.load(fp) 8 | 9 | 10 | cdn_ip_cidr = load_json('cdn_ip_cidr.json') 11 | 12 | def check_cdn_cidr(ips): 13 | if isinstance(ips, str): 14 | ips = set(ips.split(',')) 15 | else: 16 | return False 17 | for ip in ips: 18 | try: 19 | ip = ipaddress.ip_address(ip) 20 | except Exception as e: 21 | print(e) 22 | return False 23 | for cidr in cdn_ip_cidr: 24 | if ip in ipaddress.ip_network(cidr): 25 | return True 26 | 27 | 28 | def do_check(): 29 | all = 0 30 | nocdnip = 0 31 | file = open("ip.txt") 32 | print("以下为非CDN IP:\n") 33 | while True: 34 | ip = file.readline().strip('\n') 35 | if ip == '': 36 | break 37 | all = all + 1 38 | if not check_cdn_cidr(ip): 39 | nocdnip = nocdnip + 1 40 | print(ip) 41 | if not ip: 42 | break 43 | file.close() 44 | print("\n总IP数:" + str(all) + ",有效IP数:" + str(nocdnip) +",剔除CDN IP数:" + str(all-nocdnip)) 45 | 46 | do_check() --------------------------------------------------------------------------------