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