Add ability to process IPV6 CIDR (#132)

* Support IPV6 CIDR

* Remove duplicate domain from GFWList and update Telegram CIDR

* Support DOMAIN-SUFFIX rules
This commit is contained in:
Wydy
2023-04-04 10:07:49 +08:00
committed by GitHub
parent b80b810d54
commit 6c46bd8155
3 changed files with 35 additions and 58 deletions

View File

@@ -96,7 +96,10 @@ for row in rule:
row = row.lstrip('.*')
# 清除后缀
row = row.rstrip('/^*')
row = row.rstrip('/*')
if row[-1] == '^':
row = '.'+row
row = row.rstrip('^')
row = re.sub(r':\d{2,5}$', '', row) # 清除端口
# 不能含有的字符
@@ -109,7 +112,7 @@ for row in rule:
continue
# 只匹配域名或 IP
if re.match(r'^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,9}$', row) or re.match(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$', row):
if re.match(r'^\.?[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})*\.[a-zA-Z0-9][-a-zA-Z0-9]{1,}$', row) or re.match(r'^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$', row):
domains.append(row)
print('done.')

View File

@@ -38,6 +38,10 @@ def getRulesStringFromFile(path, kind):
prefix = 'IP-CIDR'
if '/' not in content:
content += '/32'
elif re.match(r'((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?', content):
prefix = 'IP-CIDR'
if '/' not in content:
content += '/128'
elif '.' not in content and len(content) > 1:
prefix = 'DOMAIN-KEYWORD'

View File

@@ -1,71 +1,48 @@
# 手工定义的 Proxy 列表
theinitium.com
youtu.be
netflix.com
#TED
tedcdn.com
#161 可能以后会和GFWList重复
9gag.com
#Telegram
67.198.55.0/24
t.me
tdesktop.com
telegra.ph
telegram.me
telegram.org
telesco.pe
91.108.56.0/22
91.108.4.0/22
91.108.8.0/22
91.108.12.0/22
91.108.16.0/22
91.108.56.0/22
109.239.140.0/24
91.108.12.0/22
149.154.160.0/20
149.154.164.0/22
149.154.168.0/22
149.154.172.0/22
91.105.192.0/23
91.108.20.0/22
185.76.151.0/24
2001:b28:f23d::/48
2001:b28:f23f::/48
2001:67c:4e8::/48
2001:b28:f23c::/48
2a0a:f280::/32
#instagram
cdninstagram.com
#disqus
disquscdn.com
gist.github.com
# 首页直连,但子域名需翻墙
onedrive.live.com
#20 开车
t66y.com
91porn.com
#132
feedly.com
#50 whatsapp
whatsapp.com
whatsapp.net
18.194.0.0/15
34.224.0.0/12
#54 台湾香港澳门 常用网站
ptt.cc
mingpaocanada.com
mingpao.com
appledaily.com
appledaily.tw
nextmag.com.tw
thestandnews.com
#60 GMail
# 手机 smtp 和 imap 需要用到
gmail.com
#72 #112 Google Voice
74.125.0.0/16
#85可能冗余
yt3.ggpht.com
www-google-analytics.l.google.com
ssl-google-analytics.l.google.com
partnerad.l.google.com
@@ -79,9 +56,6 @@ afd.l.google.com
#175 华尔街邮报
dowjones.com
#159
thetvdb.com
#180 OneDrive可能冗余
bcbits.com
ogma.iad.appboy.com
@@ -91,16 +65,12 @@ centralus1.mediap.svc.ms
dm.files.1drv.com
mobile.pipe.aria.microsoft.com
gate.hockeyapp.net
skyapi.live.net
api.onedrive.com
vortex.data.microsoft.com
#183
mendeley.com
#192 播客收听应用程序 overcast
overcast.fm
#205 APPLE NEWS
news-events.apple.com
news-edge.apple.com
@@ -118,8 +88,6 @@ apple.news
news.iadsdk.apple.com
#github
github.com
github.io
raw.githubusercontent.com
# news
@@ -148,7 +116,6 @@ init-s01st-lb.push-apple.com.akadns.net
gsp85-cn-ssl.ls.apple.com
itunes-apple.com.akadns.net
gspe21.ls.apple.com
gs-loc.apple.com
mesu-china.apple.com.akadns.net
mesu-cdn.apple.com.akadns.net
ocsp-lb.apple.com.akadns.net
@@ -164,9 +131,6 @@ swscan-cdn.apple.com.akadns.net
valid.origin-apple.com.akadns.net
phobos.apple.com
# linkedin
linkedin.com
# DisneyPlus
disney.asia
disney.be
@@ -438,11 +402,17 @@ wholekidsfoundation.org
wholeplanetfoundation.org
yamaxun.com
# OpenAI
openai.com
# Paramount
paramountplus.com
# New Bing
bing.com
# DNS Leak
dnsleaktest.com
ipleak.net
browserleaks.com
browserleaks.org
vpnunlimited.com
whrq.net