mirror of
https://github.com/shmilylty/OneForAll.git
synced 2026-08-26 04:47:48 +08:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -4,8 +4,6 @@
|
|||||||
"x-via",
|
"x-via",
|
||||||
"x-ser",
|
"x-ser",
|
||||||
"x-cf1",
|
"x-cf1",
|
||||||
"webcache",
|
|
||||||
"chinacache",
|
|
||||||
"cache",
|
"cache",
|
||||||
"x-cache",
|
"x-cache",
|
||||||
"x-cached",
|
"x-cached",
|
||||||
@@ -14,6 +12,8 @@
|
|||||||
"x-cache-status",
|
"x-cache-status",
|
||||||
"x-cache-hits",
|
"x-cache-hits",
|
||||||
"cc_cache",
|
"cc_cache",
|
||||||
|
"webcache",
|
||||||
|
"chinacache",
|
||||||
"x-req-id",
|
"x-req-id",
|
||||||
"x-requestid",
|
"x-requestid",
|
||||||
"cf-request-id",
|
"cf-request-id",
|
||||||
|
|||||||
+16
-15
@@ -23,22 +23,27 @@ def check_cname_count(cnames):
|
|||||||
|
|
||||||
|
|
||||||
def check_cname_keyword(cname):
|
def check_cname_keyword(cname):
|
||||||
for keyword in cdn_cname_keyword.keys():
|
names = cname.lower().split(',')
|
||||||
if keyword in cname:
|
for name in names:
|
||||||
return True
|
for keyword in cdn_cname_keyword.keys():
|
||||||
|
if keyword in name:
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def check_header_key(header):
|
def check_header_key(header):
|
||||||
|
header = set(map(lambda x: x.lower(), header.keys()))
|
||||||
for key in cdn_header_key:
|
for key in cdn_header_key:
|
||||||
if key in header:
|
if key in header:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
def check_cdn_cidr(ip):
|
def check_cdn_cidr(content):
|
||||||
ip = ipaddress.ip_address(ip)
|
ips = set(content.split(','))
|
||||||
for cidr in cdn_ip_cidr:
|
for ip in ips:
|
||||||
if ip in ipaddress.ip_network(cidr):
|
ip = ipaddress.ip_address(ip)
|
||||||
return True
|
for cidr in cdn_ip_cidr:
|
||||||
|
if ip in ipaddress.ip_network(cidr):
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
def check_cdn_asn(asn):
|
def check_cdn_asn(asn):
|
||||||
@@ -50,10 +55,6 @@ def check_cdn(data):
|
|||||||
for index, item in enumerate(data):
|
for index, item in enumerate(data):
|
||||||
cname = item.get('cname')
|
cname = item.get('cname')
|
||||||
if cname:
|
if cname:
|
||||||
cnames = cname.split(',')
|
|
||||||
if check_cname_count(cnames):
|
|
||||||
data[index]['cdn'] = 1
|
|
||||||
continue
|
|
||||||
if check_cname_keyword(cname):
|
if check_cname_keyword(cname):
|
||||||
data[index]['cdn'] = 1
|
data[index]['cdn'] = 1
|
||||||
continue
|
continue
|
||||||
@@ -64,9 +65,9 @@ def check_cdn(data):
|
|||||||
data[index]['cdn'] = 1
|
data[index]['cdn'] = 1
|
||||||
continue
|
continue
|
||||||
kind = item.get('type')
|
kind = item.get('type')
|
||||||
ip = item.get('content')
|
content = item.get('content')
|
||||||
if kind == 'A' and ip:
|
if kind == 'A' and content:
|
||||||
if check_cdn_cidr(ip):
|
if check_cdn_cidr(content):
|
||||||
data[index]['cdn'] = 1
|
data[index]['cdn'] = 1
|
||||||
continue
|
continue
|
||||||
asn = item.get('asn')
|
asn = item.get('asn')
|
||||||
|
|||||||
Reference in New Issue
Block a user