mirror of https://github.com/dnomd343/ClearDNS
Dnomd343
2 years ago
1 changed files with 51 additions and 0 deletions
@ -0,0 +1,51 @@ |
|||||
|
#!/usr/bin/env python3 |
||||
|
# -*- coding: utf-8 -*- |
||||
|
|
||||
|
import os |
||||
|
from IPy import IP, IPSet |
||||
|
|
||||
|
source = [ |
||||
|
'curl -sL https://github.com/misakaio/chnroutes2/raw/master/chnroutes.txt | sed \'/^#/d\'', |
||||
|
'curl -sL https://github.com/metowolf/iplist/raw/master/data/special/china.txt', |
||||
|
'curl -sL https://github.com/17mon/china_ip_list/raw/master/china_ip_list.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/cernet.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/china.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/chinanet.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/cmcc.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/cstnet.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/drpeng.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/googlecn.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/tietong.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/unicom.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/cernet6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/china6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/chinanet6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/cmcc6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/cstnet6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/drpeng6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/googlecn6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/tietong6.txt', |
||||
|
'curl -sL https://gaoyifan.github.io/china-operator-ip/unicom6.txt', |
||||
|
] |
||||
|
|
||||
|
ips = set() |
||||
|
for script in source: |
||||
|
raw = os.popen(script).read().split('\n') |
||||
|
ips.update(filter(None, raw)) |
||||
|
|
||||
|
v4 = IPSet() |
||||
|
v6 = IPSet() |
||||
|
for ip in ips: |
||||
|
try: |
||||
|
ipAddr = IP(ip) |
||||
|
(v4 if ipAddr.version() == 4 else v6).add(ipAddr) |
||||
|
except: |
||||
|
pass |
||||
|
|
||||
|
ips = [] |
||||
|
for ip in v4: |
||||
|
ips.append(str(ip) + ('' if '/' in str(ip) else '/32')) |
||||
|
for ip in v6: |
||||
|
ips.append(str(ip) + ('' if '/' in str(ip) else '/128')) |
||||
|
|
||||
|
print('\n'.join(ips)) |
Loading…
Reference in new issue