Compare commits

...

29 Commits

Author SHA1 Message Date
Kirill Sobakin
315d118c17 Fix: protobuf version specify 2026-03-17 00:04:20 +03:00
Kirill Sobakin
fee4746b57 Fix: fix from copilot 2026-03-16 23:54:56 +03:00
Kirill Sobakin
689a9ea755 Fix: strict and sys 1 2026-03-16 23:40:46 +03:00
Kirill Sobakin
1a6e1cf718 Feat: add links 2026-03-16 23:11:45 +03:00
Kirill Sobakin
98fb1ca2df Ref: no docker 2026-03-16 23:01:36 +03:00
Kirill Sobakin
2868f4576e Ref: no docker 2026-03-16 22:55:17 +03:00
Kirill Sobakin
76f8f79434 Ref: add protobuf 2026-03-16 21:29:55 +03:00
Kirill Sobakin
623b97ff1b Ref: deduplicate convert funcs, generate DAT with pyhton protobuf 2026-03-16 21:29:15 +03:00
Kirill Sobakin
6d441b4cbf Ref: some fixes 2026-03-16 20:48:16 +03:00
Kirill Sobakin
8ca8769a77 Ref: to API stat.ripe.net. Some fixes 2026-03-16 19:32:14 +03:00
GitHub Action
a06c1739a4 Update subnet 2026-03-16 15:18:38 +00:00
Kirill Sobakin
b8fe629d16 Feat: Add ASN Telegram. Fix meet hardcode #110 2026-03-16 18:12:46 +03:00
GitHub Action
ccedd6cfac Update lists 2026-03-16 15:03:51 +00:00
Kirill Sobakin
96e00053c4 Merge pull request #110 from DrRamm/google_meet_list
Feat: Добавлен список Google Meet
2026-03-16 18:03:29 +03:00
GitHub Action
e0d48d4e1e Update subnet 2026-03-16 08:15:30 +00:00
GitHub Action
660a70f731 Update subnet 2026-03-09 07:57:56 +00:00
GitHub Action
4c578d1533 Update subnet 2026-03-02 07:57:07 +00:00
GitHub Action
42c889e64e Update lists 2026-02-23 09:28:51 +00:00
GitHub Action
9d8fe984b6 Update subnet 2026-02-23 08:02:49 +00:00
GitHub Action
19368bbecd Update subnet 2026-02-16 08:01:41 +00:00
GitHub Action
14164ffa0f Update subnet 2026-02-09 08:04:16 +00:00
GitHub Action
64f9eb0283 Update subnet 2026-02-02 07:57:54 +00:00
DrRamm
b7ff4adda5 Добавлен список Google Meet
На основе
https://support.google.com/a/answer/1279090?hl=en
2026-01-31 17:06:39 +03:00
GitHub Action
daefb679ea Update subnet 2026-01-26 07:42:45 +00:00
GitHub Action
c20ed82d97 Update lists 2026-01-25 15:22:39 +00:00
Kirill Sobakin
9f4c3b2e14 Update 2026-01-25 18:22:18 +03:00
Kirill Sobakin
694668e63c Merge pull request #135 from DCrow/remove-blank-spaces
Remove trailing blank spaces and newlines from domain lists
2026-01-25 17:09:59 +03:00
DCrow
797f55c52b Remove trailing blank spaces and newlines from domain lists 2026-01-21 11:50:24 +03:00
GitHub Action
9dc9f3a0e1 Update subnet 2026-01-19 07:44:15 +00:00
52 changed files with 745 additions and 625 deletions

View File

@@ -1 +1,8 @@
blank_issues_enabled: false
blank_issues_enabled: false
contact_links:
- name: Предложить домен или сервис
url: https://github.com/itdoginfo/allow-domains/discussions/categories/general
about: Добавление доменов и сервисов производится через Discussions, а не Issues.
- name: Вопрос по использованию
url: https://t.me/itdogchat
about: С вопросами в Telegram-чат.

View File

@@ -19,19 +19,26 @@ jobs:
generate-lists:
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4.3.0
- name: Compile ruleset srs
- uses: actions/checkout@v6.0.2
- name: Cache sing-box
uses: actions/cache@v5.0.3
id: cache-singbox
with:
path: /usr/local/bin/sing-box
key: sing-box-1.12.25
- name: Install sing-box
if: steps.cache-singbox.outputs.cache-hit != 'true'
run: |
docker run --rm \
-v ${{ github.workspace }}/src:/app/src \
-v ${{ github.workspace }}/Subnets:/app/Subnets \
-v ${{ github.workspace }}/Russia:/app/Russia \
-v ${{ github.workspace }}/Ukraine:/app/Ukraine \
-v ${{ github.workspace }}/Categories:/app/Categories \
-v ${{ github.workspace }}/Services:/app/Services \
-v ${{ github.workspace }}/SRS:/app/SRS \
-v ${{ github.workspace }}/DAT:/app/DAT \
itdoginfo/compilesrs:0.1.22
wget -qO- https://github.com/SagerNet/sing-box/releases/download/v1.12.25/sing-box-1.12.25-linux-amd64.tar.gz | tar xz
sudo mv sing-box-*/sing-box /usr/local/bin/
- name: Install Python dependencies
run: pip install -r requirements.txt
- name: Generate lists
run: python3 convert.py
- name: Check Russia/inside-dnsmasq-ipset
uses: itdoginfo/dnsmasq-action@0.1

View File

@@ -14,13 +14,13 @@ permissions:
jobs:
generate-subnet:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4.1.7
- uses: actions/checkout@v6.0.2
- name: Generate subnets
uses: actions/setup-python@v5.1.0
uses: actions/setup-python@v6.2.0
with:
python-version: '3.10'
python-version: '3.13'
- run: |
python get-subnets.py
- name: Push subnets

3
.gitignore vendored
View File

@@ -4,4 +4,5 @@ zaboronahelp-domains.lst
SRS
JSON
DAT
geosite_data
geosite_data
proto/__pycache__

View File

@@ -252,7 +252,7 @@ anidub.com
abook-club.ru
depositphotos.com
deviantart.com
exler.ru
exler.es
forklog.com
kinogo.ec
medium.com
@@ -317,12 +317,12 @@ mega.nz
itch.io
twin.me
twinme.com
twinlife-systems.com
twinlife-systems.com
fastpic.org
lib.rus.ec
scrollrevealjs.org
monolisa.dev
lingq.com
lingq.com
primevue.org
magaz.global
radiojar.com
@@ -342,4 +342,5 @@ filmix.fan
dreamina.capcut.com
sophos.com
pvpessence.com
bufferbloat.net
bufferbloat.net
pronouns.page

View File

@@ -350,7 +350,8 @@ boschaftermarket.com
langdock.com
mailinator.com
marvelsnap.com
global.platform.seconddinnertech.com
seconddinnertech.com
snapgametech.com
fxnetworks.com
deepl.com
citrix.com
@@ -403,7 +404,7 @@ clevelandclinic.org
housebrand.com
devexpress.com
quicknode.com
dyson.com
dyson.com
easydmarc.com
hume.ai
hybrid-analysis.com
@@ -433,4 +434,10 @@ document360.io
document360.com
augmentcode.com
klarna.com
mintmobile.com
mintmobile.com
lyst.com
affinity.studio
x-minus.pro
primark.com
octopus.do
all3dp.com

View File

@@ -22,6 +22,7 @@ rulet.tv
rutracker.org
sing-box.sagernet.org
spankbang.com
sb-cd.com
sxyprn.com
sxyprn.net
teamviewer.com
@@ -56,6 +57,41 @@ adbappcontrol.com
tunemymusic.com
use.typekit.net
jellyfin.org
htx.com
cochrane.org
thelancet.com
rottentomatoes.com
resizing.flixster.com
heltec.org
silabs.com
meshtastic.org
maximoff.su
strapi.io
coderabbit.ai
storybook.js.org
aniliberty.top
libria.fun
userbenchmark.com
plantuml.com
imigo.ai
tefl.org
britishcouncil.org
imgbb.com
gnome.org
kde.org
fwupd.org
flathub.org
joeysretrohandhelds.com
customfw.xyz
youngliving.com
gopro.com
artixlinux.org
beatsaver.com
beatmods.com
bsmanager.io
ajay.app
opencode.ai
dvprogram.state.gov
hetzner.com
hetzner.cloud

View File

@@ -178,4 +178,8 @@ glavred.net
liga.net
novyny.live
obozrevatel.com
zaxid.net
zaxid.net
mezha.net
ukrainer.net
ukrinform.net
themoscowtimes.com

View File

@@ -1,22 +0,0 @@
FROM ghcr.io/sagernet/sing-box:v1.11.15 AS sing-box
FROM golang:1.25.5-alpine3.23 AS go-builder
RUN CGO_ENABLED=0 GOOS=linux go install -ldflags="-s -w" \
github.com/v2fly/domain-list-community@20251222003838
FROM python:3.12.12-alpine3.23
COPY --from=sing-box /usr/local/bin/sing-box /bin/sing-box
COPY --from=go-builder /go/bin/domain-list-community /bin/domain-list-community
COPY requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt
WORKDIR /app
COPY convert.py /app/convert.py
CMD ["python3", "convert.py"]

View File

@@ -34,6 +34,7 @@
- Tik-Tok
- Twitter
- YouTube
- Google Meet
## Страны
### Россия
@@ -232,6 +233,16 @@
</details>
<details>
<summary>Google Meet</summary>
- [Subnets](https://raw.githubusercontent.com/itdoginfo/allow-domains/refs/heads/main/Subnets/IPv4/google_meet.lst)
- [SRS](https://github.com/itdoginfo/allow-domains/releases/latest/download/google_meet.srs)
</details>
# Как найти все-все домены ресурса?
https://itdog.info/analiziruem-trafik-i-opredelyaem-domeny-kotorye-ispolzuyut-sajty-i-prilozheniya/

View File

@@ -22,12 +22,14 @@ DOMAIN-SUFFIX,adminforge.de
DOMAIN-SUFFIX,adobe.com
DOMAIN-SUFFIX,ads-twitter.com
DOMAIN-SUFFIX,adultmult.tv
DOMAIN-SUFFIX,affinity.studio
DOMAIN-SUFFIX,agents.media
DOMAIN-SUFFIX,ahrefs.com
DOMAIN-SUFFIX,ai-chat.bsg.brave.com
DOMAIN-SUFFIX,ai.com
DOMAIN-SUFFIX,aircanada.com
DOMAIN-SUFFIX,akc.org
DOMAIN-SUFFIX,all3dp.com
DOMAIN-SUFFIX,allegro.pl
DOMAIN-SUFFIX,alphacoders.com
DOMAIN-SUFFIX,alza.hu
@@ -279,7 +281,7 @@ DOMAIN-SUFFIX,euroradio.fm
DOMAIN-SUFFIX,eutrp.eu
DOMAIN-SUFFIX,everand.com
DOMAIN-SUFFIX,exchanger.bits.media
DOMAIN-SUFFIX,exler.ru
DOMAIN-SUFFIX,exler.es
DOMAIN-SUFFIX,expandrive.com
DOMAIN-SUFFIX,expres.online
DOMAIN-SUFFIX,extremetech.com
@@ -352,7 +354,6 @@ DOMAIN-SUFFIX,git.new
DOMAIN-SUFFIX,glavred.info
DOMAIN-SUFFIX,glavred.net
DOMAIN-SUFFIX,global.fncstatic.com
DOMAIN-SUFFIX,global.platform.seconddinnertech.com
DOMAIN-SUFFIX,glpals.com
DOMAIN-SUFFIX,godaddy.com
DOMAIN-SUFFIX,gofile.io
@@ -379,6 +380,7 @@ DOMAIN-SUFFIX,habr.com
DOMAIN-SUFFIX,hackernoon.com
DOMAIN-SUFFIX,hackmd.io
DOMAIN-SUFFIX,halooglasi.com
DOMAIN-SUFFIX,hangouts.googleapis.com
DOMAIN-SUFFIX,hashicorp.com
DOMAIN-SUFFIX,haydaygame.com
DOMAIN-SUFFIX,hbomax.com
@@ -524,6 +526,7 @@ DOMAIN-SUFFIX,lostfilm.uno
DOMAIN-SUFFIX,lostfilmtv2.site
DOMAIN-SUFFIX,lu4.org
DOMAIN-SUFFIX,lucid.app
DOMAIN-SUFFIX,lyst.com
DOMAIN-SUFFIX,magaz.global
DOMAIN-SUFFIX,mail-api.proton.me
DOMAIN-SUFFIX,mailerlite.com
@@ -547,6 +550,9 @@ DOMAIN-SUFFIX,mediazona.ca
DOMAIN-SUFFIX,medicalnewstoday.com
DOMAIN-SUFFIX,medium.com
DOMAIN-SUFFIX,meduza.io
DOMAIN-SUFFIX,meet.google.com
DOMAIN-SUFFIX,meetings.clients6.google.com
DOMAIN-SUFFIX,meetings.googleapis.com
DOMAIN-SUFFIX,mega.nz
DOMAIN-SUFFIX,megapeer.ru
DOMAIN-SUFFIX,megapeer.vip
@@ -556,6 +562,7 @@ DOMAIN-SUFFIX,metacritic.com
DOMAIN-SUFFIX,metal-archives.com
DOMAIN-SUFFIX,metla.press
DOMAIN-SUFFIX,metopera.org
DOMAIN-SUFFIX,mezha.net
DOMAIN-SUFFIX,middlewareinventory.com
DOMAIN-SUFFIX,mignews.com
DOMAIN-SUFFIX,mintmobile.com
@@ -643,6 +650,7 @@ DOMAIN-SUFFIX,oaistatic.com
DOMAIN-SUFFIX,oaiusercontent.com
DOMAIN-SUFFIX,obozrevatel.com
DOMAIN-SUFFIX,ocstore.com
DOMAIN-SUFFIX,octopus.do
DOMAIN-SUFFIX,oculus.com
DOMAIN-SUFFIX,ohmyswift.ru
DOMAIN-SUFFIX,oi.legal
@@ -713,6 +721,7 @@ DOMAIN-SUFFIX,postimees.ee
DOMAIN-SUFFIX,pravda.com
DOMAIN-SUFFIX,pravda.com.ua
DOMAIN-SUFFIX,premierleague.com
DOMAIN-SUFFIX,primark.com
DOMAIN-SUFFIX,primevideo.com
DOMAIN-SUFFIX,primevue.org
DOMAIN-SUFFIX,privatekeys.pw
@@ -721,6 +730,7 @@ DOMAIN-SUFFIX,proactivebackend-pa.googleapis.com
DOMAIN-SUFFIX,production-openaicom-storage.azureedge.net
DOMAIN-SUFFIX,proekt.media
DOMAIN-SUFFIX,profitwell.com
DOMAIN-SUFFIX,pronouns.page
DOMAIN-SUFFIX,prosleduetmedia.com
DOMAIN-SUFFIX,prostovpn.org
DOMAIN-SUFFIX,proton.me
@@ -828,6 +838,7 @@ DOMAIN-SUFFIX,scryde9.net
DOMAIN-SUFFIX,sdxcentral.com
DOMAIN-SUFFIX,searchfloor.org
DOMAIN-SUFFIX,seasonvar.ru
DOMAIN-SUFFIX,seconddinnertech.com
DOMAIN-SUFFIX,selezen.org
DOMAIN-SUFFIX,semnasem.org
DOMAIN-SUFFIX,semrush.com
@@ -864,6 +875,7 @@ DOMAIN-SUFFIX,smartbear.co
DOMAIN-SUFFIX,smartbear.com
DOMAIN-SUFFIX,smartdeploy.com
DOMAIN-SUFFIX,sms-activate.io
DOMAIN-SUFFIX,snapgametech.com
DOMAIN-SUFFIX,snapgene.com
DOMAIN-SUFFIX,sndcdn.com
DOMAIN-SUFFIX,snort.org
@@ -897,6 +909,7 @@ DOMAIN-SUFFIX,steamstat.info
DOMAIN-SUFFIX,strana.news
DOMAIN-SUFFIX,strana.today
DOMAIN-SUFFIX,strava.com
DOMAIN-SUFFIX,stream.meet.google.com
DOMAIN-SUFFIX,suggestqueries.google.com
DOMAIN-SUFFIX,supercell.com
DOMAIN-SUFFIX,supersliv.biz
@@ -935,6 +948,7 @@ DOMAIN-SUFFIX,thebarentsobserver.com
DOMAIN-SUFFIX,thebell.io
DOMAIN-SUFFIX,theins.press
DOMAIN-SUFFIX,theins.ru
DOMAIN-SUFFIX,themoscowtimes.com
DOMAIN-SUFFIX,themoviedb.org
DOMAIN-SUFFIX,thepiratebay.org
DOMAIN-SUFFIX,theporndude.com
@@ -1008,6 +1022,8 @@ DOMAIN-SUFFIX,uizard.io
DOMAIN-SUFFIX,ukdevilz.com
DOMAIN-SUFFIX,ukr.net
DOMAIN-SUFFIX,ukr.radio
DOMAIN-SUFFIX,ukrainer.net
DOMAIN-SUFFIX,ukrinform.net
DOMAIN-SUFFIX,ukrtelcdn.net
DOMAIN-SUFFIX,unian.ua
DOMAIN-SUFFIX,unscreen.com
@@ -1068,6 +1084,7 @@ DOMAIN-SUFFIX,wonderzine.com
DOMAIN-SUFFIX,wpengine.com
DOMAIN-SUFFIX,wunderground.com
DOMAIN-SUFFIX,www3.corsair.com
DOMAIN-SUFFIX,x-minus.pro
DOMAIN-SUFFIX,x.ai
DOMAIN-SUFFIX,x.com
DOMAIN-SUFFIX,xhamster.com

View File

@@ -22,12 +22,14 @@ ipset=/adminforge.de/vpn_domains
ipset=/adobe.com/vpn_domains
ipset=/ads-twitter.com/vpn_domains
ipset=/adultmult.tv/vpn_domains
ipset=/affinity.studio/vpn_domains
ipset=/agents.media/vpn_domains
ipset=/ahrefs.com/vpn_domains
ipset=/ai-chat.bsg.brave.com/vpn_domains
ipset=/ai.com/vpn_domains
ipset=/aircanada.com/vpn_domains
ipset=/akc.org/vpn_domains
ipset=/all3dp.com/vpn_domains
ipset=/allegro.pl/vpn_domains
ipset=/alphacoders.com/vpn_domains
ipset=/alza.hu/vpn_domains
@@ -279,7 +281,7 @@ ipset=/euroradio.fm/vpn_domains
ipset=/eutrp.eu/vpn_domains
ipset=/everand.com/vpn_domains
ipset=/exchanger.bits.media/vpn_domains
ipset=/exler.ru/vpn_domains
ipset=/exler.es/vpn_domains
ipset=/expandrive.com/vpn_domains
ipset=/expres.online/vpn_domains
ipset=/extremetech.com/vpn_domains
@@ -352,7 +354,6 @@ ipset=/git.new/vpn_domains
ipset=/glavred.info/vpn_domains
ipset=/glavred.net/vpn_domains
ipset=/global.fncstatic.com/vpn_domains
ipset=/global.platform.seconddinnertech.com/vpn_domains
ipset=/glpals.com/vpn_domains
ipset=/godaddy.com/vpn_domains
ipset=/gofile.io/vpn_domains
@@ -379,6 +380,7 @@ ipset=/habr.com/vpn_domains
ipset=/hackernoon.com/vpn_domains
ipset=/hackmd.io/vpn_domains
ipset=/halooglasi.com/vpn_domains
ipset=/hangouts.googleapis.com/vpn_domains
ipset=/hashicorp.com/vpn_domains
ipset=/haydaygame.com/vpn_domains
ipset=/hbomax.com/vpn_domains
@@ -524,6 +526,7 @@ ipset=/lostfilm.uno/vpn_domains
ipset=/lostfilmtv2.site/vpn_domains
ipset=/lu4.org/vpn_domains
ipset=/lucid.app/vpn_domains
ipset=/lyst.com/vpn_domains
ipset=/magaz.global/vpn_domains
ipset=/mail-api.proton.me/vpn_domains
ipset=/mailerlite.com/vpn_domains
@@ -547,6 +550,9 @@ ipset=/mediazona.ca/vpn_domains
ipset=/medicalnewstoday.com/vpn_domains
ipset=/medium.com/vpn_domains
ipset=/meduza.io/vpn_domains
ipset=/meet.google.com/vpn_domains
ipset=/meetings.clients6.google.com/vpn_domains
ipset=/meetings.googleapis.com/vpn_domains
ipset=/mega.nz/vpn_domains
ipset=/megapeer.ru/vpn_domains
ipset=/megapeer.vip/vpn_domains
@@ -556,6 +562,7 @@ ipset=/metacritic.com/vpn_domains
ipset=/metal-archives.com/vpn_domains
ipset=/metla.press/vpn_domains
ipset=/metopera.org/vpn_domains
ipset=/mezha.net/vpn_domains
ipset=/middlewareinventory.com/vpn_domains
ipset=/mignews.com/vpn_domains
ipset=/mintmobile.com/vpn_domains
@@ -643,6 +650,7 @@ ipset=/oaistatic.com/vpn_domains
ipset=/oaiusercontent.com/vpn_domains
ipset=/obozrevatel.com/vpn_domains
ipset=/ocstore.com/vpn_domains
ipset=/octopus.do/vpn_domains
ipset=/oculus.com/vpn_domains
ipset=/ohmyswift.ru/vpn_domains
ipset=/oi.legal/vpn_domains
@@ -713,6 +721,7 @@ ipset=/postimees.ee/vpn_domains
ipset=/pravda.com/vpn_domains
ipset=/pravda.com.ua/vpn_domains
ipset=/premierleague.com/vpn_domains
ipset=/primark.com/vpn_domains
ipset=/primevideo.com/vpn_domains
ipset=/primevue.org/vpn_domains
ipset=/privatekeys.pw/vpn_domains
@@ -721,6 +730,7 @@ ipset=/proactivebackend-pa.googleapis.com/vpn_domains
ipset=/production-openaicom-storage.azureedge.net/vpn_domains
ipset=/proekt.media/vpn_domains
ipset=/profitwell.com/vpn_domains
ipset=/pronouns.page/vpn_domains
ipset=/prosleduetmedia.com/vpn_domains
ipset=/prostovpn.org/vpn_domains
ipset=/proton.me/vpn_domains
@@ -828,6 +838,7 @@ ipset=/scryde9.net/vpn_domains
ipset=/sdxcentral.com/vpn_domains
ipset=/searchfloor.org/vpn_domains
ipset=/seasonvar.ru/vpn_domains
ipset=/seconddinnertech.com/vpn_domains
ipset=/selezen.org/vpn_domains
ipset=/semnasem.org/vpn_domains
ipset=/semrush.com/vpn_domains
@@ -864,6 +875,7 @@ ipset=/smartbear.co/vpn_domains
ipset=/smartbear.com/vpn_domains
ipset=/smartdeploy.com/vpn_domains
ipset=/sms-activate.io/vpn_domains
ipset=/snapgametech.com/vpn_domains
ipset=/snapgene.com/vpn_domains
ipset=/sndcdn.com/vpn_domains
ipset=/snort.org/vpn_domains
@@ -897,6 +909,7 @@ ipset=/steamstat.info/vpn_domains
ipset=/strana.news/vpn_domains
ipset=/strana.today/vpn_domains
ipset=/strava.com/vpn_domains
ipset=/stream.meet.google.com/vpn_domains
ipset=/suggestqueries.google.com/vpn_domains
ipset=/supercell.com/vpn_domains
ipset=/supersliv.biz/vpn_domains
@@ -935,6 +948,7 @@ ipset=/thebarentsobserver.com/vpn_domains
ipset=/thebell.io/vpn_domains
ipset=/theins.press/vpn_domains
ipset=/theins.ru/vpn_domains
ipset=/themoscowtimes.com/vpn_domains
ipset=/themoviedb.org/vpn_domains
ipset=/thepiratebay.org/vpn_domains
ipset=/theporndude.com/vpn_domains
@@ -1008,6 +1022,8 @@ ipset=/uizard.io/vpn_domains
ipset=/ukdevilz.com/vpn_domains
ipset=/ukr.net/vpn_domains
ipset=/ukr.radio/vpn_domains
ipset=/ukrainer.net/vpn_domains
ipset=/ukrinform.net/vpn_domains
ipset=/ukrtelcdn.net/vpn_domains
ipset=/unian.ua/vpn_domains
ipset=/unscreen.com/vpn_domains
@@ -1068,6 +1084,7 @@ ipset=/wonderzine.com/vpn_domains
ipset=/wpengine.com/vpn_domains
ipset=/wunderground.com/vpn_domains
ipset=/www3.corsair.com/vpn_domains
ipset=/x-minus.pro/vpn_domains
ipset=/x.ai/vpn_domains
ipset=/x.com/vpn_domains
ipset=/xhamster.com/vpn_domains

View File

@@ -22,12 +22,14 @@ nftset=/adminforge.de/4#inet#fw4#vpn_domains
nftset=/adobe.com/4#inet#fw4#vpn_domains
nftset=/ads-twitter.com/4#inet#fw4#vpn_domains
nftset=/adultmult.tv/4#inet#fw4#vpn_domains
nftset=/affinity.studio/4#inet#fw4#vpn_domains
nftset=/agents.media/4#inet#fw4#vpn_domains
nftset=/ahrefs.com/4#inet#fw4#vpn_domains
nftset=/ai-chat.bsg.brave.com/4#inet#fw4#vpn_domains
nftset=/ai.com/4#inet#fw4#vpn_domains
nftset=/aircanada.com/4#inet#fw4#vpn_domains
nftset=/akc.org/4#inet#fw4#vpn_domains
nftset=/all3dp.com/4#inet#fw4#vpn_domains
nftset=/allegro.pl/4#inet#fw4#vpn_domains
nftset=/alphacoders.com/4#inet#fw4#vpn_domains
nftset=/alza.hu/4#inet#fw4#vpn_domains
@@ -279,7 +281,7 @@ nftset=/euroradio.fm/4#inet#fw4#vpn_domains
nftset=/eutrp.eu/4#inet#fw4#vpn_domains
nftset=/everand.com/4#inet#fw4#vpn_domains
nftset=/exchanger.bits.media/4#inet#fw4#vpn_domains
nftset=/exler.ru/4#inet#fw4#vpn_domains
nftset=/exler.es/4#inet#fw4#vpn_domains
nftset=/expandrive.com/4#inet#fw4#vpn_domains
nftset=/expres.online/4#inet#fw4#vpn_domains
nftset=/extremetech.com/4#inet#fw4#vpn_domains
@@ -352,7 +354,6 @@ nftset=/git.new/4#inet#fw4#vpn_domains
nftset=/glavred.info/4#inet#fw4#vpn_domains
nftset=/glavred.net/4#inet#fw4#vpn_domains
nftset=/global.fncstatic.com/4#inet#fw4#vpn_domains
nftset=/global.platform.seconddinnertech.com/4#inet#fw4#vpn_domains
nftset=/glpals.com/4#inet#fw4#vpn_domains
nftset=/godaddy.com/4#inet#fw4#vpn_domains
nftset=/gofile.io/4#inet#fw4#vpn_domains
@@ -379,6 +380,7 @@ nftset=/habr.com/4#inet#fw4#vpn_domains
nftset=/hackernoon.com/4#inet#fw4#vpn_domains
nftset=/hackmd.io/4#inet#fw4#vpn_domains
nftset=/halooglasi.com/4#inet#fw4#vpn_domains
nftset=/hangouts.googleapis.com/4#inet#fw4#vpn_domains
nftset=/hashicorp.com/4#inet#fw4#vpn_domains
nftset=/haydaygame.com/4#inet#fw4#vpn_domains
nftset=/hbomax.com/4#inet#fw4#vpn_domains
@@ -524,6 +526,7 @@ nftset=/lostfilm.uno/4#inet#fw4#vpn_domains
nftset=/lostfilmtv2.site/4#inet#fw4#vpn_domains
nftset=/lu4.org/4#inet#fw4#vpn_domains
nftset=/lucid.app/4#inet#fw4#vpn_domains
nftset=/lyst.com/4#inet#fw4#vpn_domains
nftset=/magaz.global/4#inet#fw4#vpn_domains
nftset=/mail-api.proton.me/4#inet#fw4#vpn_domains
nftset=/mailerlite.com/4#inet#fw4#vpn_domains
@@ -547,6 +550,9 @@ nftset=/mediazona.ca/4#inet#fw4#vpn_domains
nftset=/medicalnewstoday.com/4#inet#fw4#vpn_domains
nftset=/medium.com/4#inet#fw4#vpn_domains
nftset=/meduza.io/4#inet#fw4#vpn_domains
nftset=/meet.google.com/4#inet#fw4#vpn_domains
nftset=/meetings.clients6.google.com/4#inet#fw4#vpn_domains
nftset=/meetings.googleapis.com/4#inet#fw4#vpn_domains
nftset=/mega.nz/4#inet#fw4#vpn_domains
nftset=/megapeer.ru/4#inet#fw4#vpn_domains
nftset=/megapeer.vip/4#inet#fw4#vpn_domains
@@ -556,6 +562,7 @@ nftset=/metacritic.com/4#inet#fw4#vpn_domains
nftset=/metal-archives.com/4#inet#fw4#vpn_domains
nftset=/metla.press/4#inet#fw4#vpn_domains
nftset=/metopera.org/4#inet#fw4#vpn_domains
nftset=/mezha.net/4#inet#fw4#vpn_domains
nftset=/middlewareinventory.com/4#inet#fw4#vpn_domains
nftset=/mignews.com/4#inet#fw4#vpn_domains
nftset=/mintmobile.com/4#inet#fw4#vpn_domains
@@ -643,6 +650,7 @@ nftset=/oaistatic.com/4#inet#fw4#vpn_domains
nftset=/oaiusercontent.com/4#inet#fw4#vpn_domains
nftset=/obozrevatel.com/4#inet#fw4#vpn_domains
nftset=/ocstore.com/4#inet#fw4#vpn_domains
nftset=/octopus.do/4#inet#fw4#vpn_domains
nftset=/oculus.com/4#inet#fw4#vpn_domains
nftset=/ohmyswift.ru/4#inet#fw4#vpn_domains
nftset=/oi.legal/4#inet#fw4#vpn_domains
@@ -713,6 +721,7 @@ nftset=/postimees.ee/4#inet#fw4#vpn_domains
nftset=/pravda.com/4#inet#fw4#vpn_domains
nftset=/pravda.com.ua/4#inet#fw4#vpn_domains
nftset=/premierleague.com/4#inet#fw4#vpn_domains
nftset=/primark.com/4#inet#fw4#vpn_domains
nftset=/primevideo.com/4#inet#fw4#vpn_domains
nftset=/primevue.org/4#inet#fw4#vpn_domains
nftset=/privatekeys.pw/4#inet#fw4#vpn_domains
@@ -721,6 +730,7 @@ nftset=/proactivebackend-pa.googleapis.com/4#inet#fw4#vpn_domains
nftset=/production-openaicom-storage.azureedge.net/4#inet#fw4#vpn_domains
nftset=/proekt.media/4#inet#fw4#vpn_domains
nftset=/profitwell.com/4#inet#fw4#vpn_domains
nftset=/pronouns.page/4#inet#fw4#vpn_domains
nftset=/prosleduetmedia.com/4#inet#fw4#vpn_domains
nftset=/prostovpn.org/4#inet#fw4#vpn_domains
nftset=/proton.me/4#inet#fw4#vpn_domains
@@ -828,6 +838,7 @@ nftset=/scryde9.net/4#inet#fw4#vpn_domains
nftset=/sdxcentral.com/4#inet#fw4#vpn_domains
nftset=/searchfloor.org/4#inet#fw4#vpn_domains
nftset=/seasonvar.ru/4#inet#fw4#vpn_domains
nftset=/seconddinnertech.com/4#inet#fw4#vpn_domains
nftset=/selezen.org/4#inet#fw4#vpn_domains
nftset=/semnasem.org/4#inet#fw4#vpn_domains
nftset=/semrush.com/4#inet#fw4#vpn_domains
@@ -864,6 +875,7 @@ nftset=/smartbear.co/4#inet#fw4#vpn_domains
nftset=/smartbear.com/4#inet#fw4#vpn_domains
nftset=/smartdeploy.com/4#inet#fw4#vpn_domains
nftset=/sms-activate.io/4#inet#fw4#vpn_domains
nftset=/snapgametech.com/4#inet#fw4#vpn_domains
nftset=/snapgene.com/4#inet#fw4#vpn_domains
nftset=/sndcdn.com/4#inet#fw4#vpn_domains
nftset=/snort.org/4#inet#fw4#vpn_domains
@@ -897,6 +909,7 @@ nftset=/steamstat.info/4#inet#fw4#vpn_domains
nftset=/strana.news/4#inet#fw4#vpn_domains
nftset=/strana.today/4#inet#fw4#vpn_domains
nftset=/strava.com/4#inet#fw4#vpn_domains
nftset=/stream.meet.google.com/4#inet#fw4#vpn_domains
nftset=/suggestqueries.google.com/4#inet#fw4#vpn_domains
nftset=/supercell.com/4#inet#fw4#vpn_domains
nftset=/supersliv.biz/4#inet#fw4#vpn_domains
@@ -935,6 +948,7 @@ nftset=/thebarentsobserver.com/4#inet#fw4#vpn_domains
nftset=/thebell.io/4#inet#fw4#vpn_domains
nftset=/theins.press/4#inet#fw4#vpn_domains
nftset=/theins.ru/4#inet#fw4#vpn_domains
nftset=/themoscowtimes.com/4#inet#fw4#vpn_domains
nftset=/themoviedb.org/4#inet#fw4#vpn_domains
nftset=/thepiratebay.org/4#inet#fw4#vpn_domains
nftset=/theporndude.com/4#inet#fw4#vpn_domains
@@ -1008,6 +1022,8 @@ nftset=/uizard.io/4#inet#fw4#vpn_domains
nftset=/ukdevilz.com/4#inet#fw4#vpn_domains
nftset=/ukr.net/4#inet#fw4#vpn_domains
nftset=/ukr.radio/4#inet#fw4#vpn_domains
nftset=/ukrainer.net/4#inet#fw4#vpn_domains
nftset=/ukrinform.net/4#inet#fw4#vpn_domains
nftset=/ukrtelcdn.net/4#inet#fw4#vpn_domains
nftset=/unian.ua/4#inet#fw4#vpn_domains
nftset=/unscreen.com/4#inet#fw4#vpn_domains
@@ -1068,6 +1084,7 @@ nftset=/wonderzine.com/4#inet#fw4#vpn_domains
nftset=/wpengine.com/4#inet#fw4#vpn_domains
nftset=/wunderground.com/4#inet#fw4#vpn_domains
nftset=/www3.corsair.com/4#inet#fw4#vpn_domains
nftset=/x-minus.pro/4#inet#fw4#vpn_domains
nftset=/x.ai/4#inet#fw4#vpn_domains
nftset=/x.com/4#inet#fw4#vpn_domains
nftset=/xhamster.com/4#inet#fw4#vpn_domains

View File

@@ -21,12 +21,14 @@ adminforge.de
adobe.com
ads-twitter.com
adultmult.tv
affinity.studio
agents.media
ahrefs.com
ai-chat.bsg.brave.com
ai.com
aircanada.com
akc.org
all3dp.com
allegro.pl
alphacoders.com
alza.hu
@@ -278,7 +280,7 @@ euroradio.fm
eutrp.eu
everand.com
exchanger.bits.media
exler.ru
exler.es
expandrive.com
expres.online
extremetech.com
@@ -351,7 +353,6 @@ git.new
glavred.info
glavred.net
global.fncstatic.com
global.platform.seconddinnertech.com
glpals.com
godaddy.com
gofile.io
@@ -378,6 +379,7 @@ habr.com
hackernoon.com
hackmd.io
halooglasi.com
hangouts.googleapis.com
hashicorp.com
haydaygame.com
hbomax.com
@@ -523,6 +525,7 @@ lostfilm.uno
lostfilmtv2.site
lu4.org
lucid.app
lyst.com
magaz.global
mail-api.proton.me
mailerlite.com
@@ -546,6 +549,9 @@ mediazona.ca
medicalnewstoday.com
medium.com
meduza.io
meet.google.com
meetings.clients6.google.com
meetings.googleapis.com
mega.nz
megapeer.ru
megapeer.vip
@@ -555,6 +561,7 @@ metacritic.com
metal-archives.com
metla.press
metopera.org
mezha.net
middlewareinventory.com
mignews.com
mintmobile.com
@@ -642,6 +649,7 @@ oaistatic.com
oaiusercontent.com
obozrevatel.com
ocstore.com
octopus.do
oculus.com
ohmyswift.ru
oi.legal
@@ -712,6 +720,7 @@ postimees.ee
pravda.com
pravda.com.ua
premierleague.com
primark.com
primevideo.com
primevue.org
privatekeys.pw
@@ -720,6 +729,7 @@ proactivebackend-pa.googleapis.com
production-openaicom-storage.azureedge.net
proekt.media
profitwell.com
pronouns.page
prosleduetmedia.com
prostovpn.org
proton.me
@@ -827,6 +837,7 @@ scryde9.net
sdxcentral.com
searchfloor.org
seasonvar.ru
seconddinnertech.com
selezen.org
semnasem.org
semrush.com
@@ -863,6 +874,7 @@ smartbear.co
smartbear.com
smartdeploy.com
sms-activate.io
snapgametech.com
snapgene.com
sndcdn.com
snort.org
@@ -896,6 +908,7 @@ steamstat.info
strana.news
strana.today
strava.com
stream.meet.google.com
suggestqueries.google.com
supercell.com
supersliv.biz
@@ -933,6 +946,7 @@ thebarentsobserver.com
thebell.io
theins.press
theins.ru
themoscowtimes.com
themoviedb.org
thepiratebay.org
theporndude.com
@@ -1006,6 +1020,8 @@ uizard.io
ukdevilz.com
ukr.net
ukr.radio
ukrainer.net
ukrinform.net
ukrtelcdn.net
unian.ua
unscreen.com
@@ -1066,6 +1082,7 @@ wonderzine.com
wpengine.com
wunderground.com
www3.corsair.com
x-minus.pro
x.ai
x.com
xhamster.com

View File

@@ -22,12 +22,14 @@
/ip dns static add name=adobe.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ads-twitter.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=adultmult.tv type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=affinity.studio type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=agents.media type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ahrefs.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ai-chat.bsg.brave.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ai.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=aircanada.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=akc.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=all3dp.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=allegro.pl type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=alphacoders.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=alza.hu type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -279,7 +281,7 @@
/ip dns static add name=eutrp.eu type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=everand.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=exchanger.bits.media type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=exler.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=exler.es type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=expandrive.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=expres.online type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=extremetech.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -352,7 +354,6 @@
/ip dns static add name=glavred.info type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=glavred.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=global.fncstatic.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=global.platform.seconddinnertech.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=glpals.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=godaddy.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=gofile.io type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -379,6 +380,7 @@
/ip dns static add name=hackernoon.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=hackmd.io type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=halooglasi.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=hangouts.googleapis.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=hashicorp.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=haydaygame.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=hbomax.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -524,6 +526,7 @@
/ip dns static add name=lostfilmtv2.site type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=lu4.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=lucid.app type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=lyst.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=magaz.global type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=mail-api.proton.me type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=mailerlite.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -547,6 +550,9 @@
/ip dns static add name=medicalnewstoday.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=medium.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=meduza.io type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=meet.google.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=meetings.clients6.google.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=meetings.googleapis.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=mega.nz type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=megapeer.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=megapeer.vip type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -556,6 +562,7 @@
/ip dns static add name=metal-archives.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=metla.press type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=metopera.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=mezha.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=middlewareinventory.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=mignews.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=mintmobile.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -643,6 +650,7 @@
/ip dns static add name=oaiusercontent.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=obozrevatel.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ocstore.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=octopus.do type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=oculus.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ohmyswift.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=oi.legal type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -713,6 +721,7 @@
/ip dns static add name=pravda.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=pravda.com.ua type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=premierleague.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=primark.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=primevideo.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=primevue.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=privatekeys.pw type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -721,6 +730,7 @@
/ip dns static add name=production-openaicom-storage.azureedge.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=proekt.media type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=profitwell.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=pronouns.page type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=prosleduetmedia.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=prostovpn.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=proton.me type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -828,6 +838,7 @@
/ip dns static add name=sdxcentral.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=searchfloor.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=seasonvar.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=seconddinnertech.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=selezen.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=semnasem.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=semrush.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -863,6 +874,7 @@
/ip dns static add name=smartbear.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=smartdeploy.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=sms-activate.io type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=snapgametech.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=snapgene.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=sndcdn.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=snort.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -896,6 +908,7 @@
/ip dns static add name=strana.news type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=strana.today type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=strava.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=stream.meet.google.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=suggestqueries.google.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=supercell.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=supersliv.biz type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -934,6 +947,7 @@
/ip dns static add name=thebell.io type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=theins.press type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=theins.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=themoscowtimes.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=themoviedb.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=thepiratebay.org type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=theporndude.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -1007,6 +1021,8 @@
/ip dns static add name=ukdevilz.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ukr.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ukr.radio type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ukrainer.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ukrinform.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=ukrtelcdn.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=unian.ua type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=unscreen.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -1067,6 +1083,7 @@
/ip dns static add name=wpengine.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=wunderground.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=www3.corsair.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=x-minus.pro type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=x.ai type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=x.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=xhamster.com type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost

View File

@@ -22,12 +22,14 @@ adminforge.de
adobe.com
ads-twitter.com
adultmult.tv
affinity.studio
agents.media
ahrefs.com
ai-chat.bsg.brave.com
ai.com
aircanada.com
akc.org
all3dp.com
allegro.pl
alphacoders.com
alza.hu
@@ -279,7 +281,7 @@ euroradio.fm
eutrp.eu
everand.com
exchanger.bits.media
exler.ru
exler.es
expandrive.com
expres.online
extremetech.com
@@ -352,7 +354,6 @@ git.new
glavred.info
glavred.net
global.fncstatic.com
global.platform.seconddinnertech.com
glpals.com
godaddy.com
gofile.io
@@ -379,6 +380,7 @@ habr.com
hackernoon.com
hackmd.io
halooglasi.com
hangouts.googleapis.com
hashicorp.com
haydaygame.com
hbomax.com
@@ -524,6 +526,7 @@ lostfilm.uno
lostfilmtv2.site
lu4.org
lucid.app
lyst.com
magaz.global
mail-api.proton.me
mailerlite.com
@@ -547,6 +550,9 @@ mediazona.ca
medicalnewstoday.com
medium.com
meduza.io
meet.google.com
meetings.clients6.google.com
meetings.googleapis.com
mega.nz
megapeer.ru
megapeer.vip
@@ -556,6 +562,7 @@ metacritic.com
metal-archives.com
metla.press
metopera.org
mezha.net
middlewareinventory.com
mignews.com
mintmobile.com
@@ -643,6 +650,7 @@ oaistatic.com
oaiusercontent.com
obozrevatel.com
ocstore.com
octopus.do
oculus.com
ohmyswift.ru
oi.legal
@@ -713,6 +721,7 @@ postimees.ee
pravda.com
pravda.com.ua
premierleague.com
primark.com
primevideo.com
primevue.org
privatekeys.pw
@@ -721,6 +730,7 @@ proactivebackend-pa.googleapis.com
production-openaicom-storage.azureedge.net
proekt.media
profitwell.com
pronouns.page
prosleduetmedia.com
prostovpn.org
proton.me
@@ -828,6 +838,7 @@ scryde9.net
sdxcentral.com
searchfloor.org
seasonvar.ru
seconddinnertech.com
selezen.org
semnasem.org
semrush.com
@@ -864,6 +875,7 @@ smartbear.co
smartbear.com
smartdeploy.com
sms-activate.io
snapgametech.com
snapgene.com
sndcdn.com
snort.org
@@ -897,6 +909,7 @@ steamstat.info
strana.news
strana.today
strava.com
stream.meet.google.com
suggestqueries.google.com
supercell.com
supersliv.biz
@@ -935,6 +948,7 @@ thebarentsobserver.com
thebell.io
theins.press
theins.ru
themoscowtimes.com
themoviedb.org
thepiratebay.org
theporndude.com
@@ -1008,6 +1022,8 @@ uizard.io
ukdevilz.com
ukr.net
ukr.radio
ukrainer.net
ukrinform.net
ukrtelcdn.net
unian.ua
unscreen.com
@@ -1068,6 +1084,7 @@ wonderzine.com
wpengine.com
wunderground.com
www3.corsair.com
x-minus.pro
x.ai
x.com
xhamster.com

View File

@@ -7,8 +7,10 @@ DOMAIN-SUFFIX,cdn1.ozonusercontent.com
DOMAIN-SUFFIX,cms1.dzvr.ru
DOMAIN-SUFFIX,counter.yadro.ru
DOMAIN-SUFFIX,dzvr.ru
DOMAIN-SUFFIX,emex.ru
DOMAIN-SUFFIX,fairplay-proxy.ott.yandex.ru
DOMAIN-SUFFIX,fssp.gov.ru
DOMAIN-SUFFIX,gorzdrav.spb.ru
DOMAIN-SUFFIX,gosuslugi.ru
DOMAIN-SUFFIX,gov.ru
DOMAIN-SUFFIX,graphql.kinopoisk.ru

View File

@@ -7,8 +7,10 @@ ipset=/cdn1.ozonusercontent.com/vpn_domains
ipset=/cms1.dzvr.ru/vpn_domains
ipset=/counter.yadro.ru/vpn_domains
ipset=/dzvr.ru/vpn_domains
ipset=/emex.ru/vpn_domains
ipset=/fairplay-proxy.ott.yandex.ru/vpn_domains
ipset=/fssp.gov.ru/vpn_domains
ipset=/gorzdrav.spb.ru/vpn_domains
ipset=/gosuslugi.ru/vpn_domains
ipset=/gov.ru/vpn_domains
ipset=/graphql.kinopoisk.ru/vpn_domains

View File

@@ -7,8 +7,10 @@ nftset=/cdn1.ozonusercontent.com/4#inet#fw4#vpn_domains
nftset=/cms1.dzvr.ru/4#inet#fw4#vpn_domains
nftset=/counter.yadro.ru/4#inet#fw4#vpn_domains
nftset=/dzvr.ru/4#inet#fw4#vpn_domains
nftset=/emex.ru/4#inet#fw4#vpn_domains
nftset=/fairplay-proxy.ott.yandex.ru/4#inet#fw4#vpn_domains
nftset=/fssp.gov.ru/4#inet#fw4#vpn_domains
nftset=/gorzdrav.spb.ru/4#inet#fw4#vpn_domains
nftset=/gosuslugi.ru/4#inet#fw4#vpn_domains
nftset=/gov.ru/4#inet#fw4#vpn_domains
nftset=/graphql.kinopoisk.ru/4#inet#fw4#vpn_domains

View File

@@ -7,8 +7,10 @@ cdn1.ozonusercontent.com
cms1.dzvr.ru
counter.yadro.ru
dzvr.ru
emex.ru
fairplay-proxy.ott.yandex.ru
fssp.gov.ru
gorzdrav.spb.ru
gosuslugi.ru
gov.ru
graphql.kinopoisk.ru

View File

@@ -7,8 +7,10 @@
/ip dns static add name=cms1.dzvr.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=counter.yadro.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=dzvr.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=emex.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=fairplay-proxy.ott.yandex.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=fssp.gov.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=gorzdrav.spb.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=gosuslugi.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=gov.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=graphql.kinopoisk.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost

View File

@@ -7,8 +7,10 @@ cdn1.ozonusercontent.com
cms1.dzvr.ru
counter.yadro.ru
dzvr.ru
emex.ru
fairplay-proxy.ott.yandex.ru
fssp.gov.ru
gorzdrav.spb.ru
gosuslugi.ru
gov.ru
graphql.kinopoisk.ru

View File

@@ -1,20 +1,20 @@
dis.gd
discord.co
discord.com
discord.design
discord.dev
discord.gg
discord.gift
discord.gifts
discord.media
discord.new
discord.store
discord.tools
discordapp.com
discordapp.net
dis.gd
discord.co
discord.com
discord.design
discord.dev
discord.gg
discord.gift
discord.gifts
discord.media
discord.new
discord.store
discord.tools
discordapp.com
discordapp.net
discordmerch.com
discordpartygames.com
discord-activities.com
discordactivities.com
discordpartygames.com
discord-activities.com
discordactivities.com
discordsays.com
discord-attachments-uploads-prd.storage.googleapis.com
discord-attachments-uploads-prd.storage.googleapis.com

5
Services/google_meet.lst Normal file
View File

@@ -0,0 +1,5 @@
meetings.clients6.google.com
meetings.googleapis.com
hangouts.googleapis.com
meet.google.com
stream.meet.google.com

View File

@@ -17,11 +17,12 @@
102.132.120.0/23
102.132.123.0/24
102.132.125.0/24
102.132.126.0/23
102.132.126.0/24
102.221.188.0/22
103.4.96.0/22
129.134.0.0/17
129.134.130.0/24
129.134.132.0/24
129.134.135.0/24
129.134.136.0/22
129.134.140.0/24
@@ -36,6 +37,7 @@
129.134.168.0/21
129.134.176.0/20
129.134.194.0/24
129.134.196.0/24
157.240.0.0/17
157.240.128.0/23
157.240.131.0/24

View File

@@ -9,13 +9,17 @@
205.251.252.0/23
54.192.0.0/16
204.246.173.0/24
23.228.244.0/24
54.230.200.0/21
120.253.240.192/26
23.234.192.0/18
116.129.226.128/26
130.176.0.0/17
3.173.192.0/18
108.156.0.0/14
99.86.0.0/16
23.228.214.0/24
23.228.213.0/24
13.32.0.0/15
120.253.245.128/26
13.224.0.0/14
@@ -86,6 +90,7 @@
205.251.204.0/23
130.176.192.0/19
23.228.223.0/24
23.228.212.0/24
52.124.128.0/17
204.246.164.0/22
13.35.0.0/16

View File

@@ -32,6 +32,8 @@
104.248.0.0/16
107.170.0.0/16
128.199.0.0/16
129.212.129.0/24
129.212.130.0/24
129.212.132.0/22
129.212.136.0/21
129.212.144.0/20
@@ -98,6 +100,7 @@
159.89.0.0/19
159.89.32.0/20
159.89.48.0/21
159.89.56.0/24
159.89.58.0/23
159.89.60.0/22
159.89.64.0/18
@@ -131,10 +134,17 @@
165.232.64.0/18
165.232.128.0/18
165.245.128.0/20
165.245.144.0/22
165.245.144.0/21
165.245.152.0/22
165.245.160.0/19
167.71.0.0/16
167.99.0.0/16
167.172.0.0/16
168.144.0.0/21
168.144.12.0/22
168.144.16.0/20
168.144.32.0/20
168.144.48.0/22
170.64.128.0/17
174.138.0.0/17
178.62.0.0/16

View File

@@ -0,0 +1,3 @@
74.125.247.128/32
74.125.250.0/24
142.250.82.0/24

View File

@@ -28,7 +28,6 @@
136.243.0.0/16
138.199.128.0/17
138.201.0.0/16
139.28.242.0/23
142.132.128.0/17
144.76.0.0/16
148.251.0.0/16
@@ -42,7 +41,11 @@
171.25.225.0/24
176.9.0.0/16
178.63.0.0/16
178.104.0.0/15
178.212.75.0/24
185.0.42.0/23
185.1.160.0/23
185.1.166.0/23
185.12.65.0/24
185.50.120.0/23
185.107.52.0/22
@@ -64,11 +67,13 @@
194.42.184.0/22
194.62.106.0/24
195.60.226.0/24
195.66.224.0/21
195.201.0.0/16
195.248.224.0/24
197.242.84.0/22
201.131.3.0/24
204.29.146.0/24
204.168.128.0/17
213.133.96.0/19
213.239.192.0/18
216.55.108.0/22

View File

@@ -17,11 +17,12 @@
102.132.120.0/23
102.132.123.0/24
102.132.125.0/24
102.132.126.0/23
102.132.126.0/24
102.221.188.0/22
103.4.96.0/22
129.134.0.0/17
129.134.130.0/24
129.134.132.0/24
129.134.135.0/24
129.134.136.0/22
129.134.140.0/24
@@ -36,6 +37,7 @@
129.134.168.0/21
129.134.176.0/20
129.134.194.0/24
129.134.196.0/24
157.240.0.0/17
157.240.128.0/23
157.240.131.0/24

View File

@@ -1,13 +1,15 @@
2.58.172.0/24
5.39.0.0/17
5.83.153.0/24
5.102.39.0/24
5.135.0.0/16
5.144.182.0/24
5.175.168.0/24
5.175.195.0/24
5.178.106.0/24
5.178.110.0/24
5.182.19.0/24
5.196.0.0/16
5.231.207.0/24
8.7.244.0/24
8.18.128.0/24
8.18.172.0/24
@@ -23,6 +25,7 @@
15.204.0.0/16
15.235.0.0/16
23.92.224.0/19
23.95.179.0/24
23.137.200.0/24
23.151.184.0/24
23.156.24.0/23
@@ -32,18 +35,14 @@
31.24.81.0/24
31.41.37.0/24
31.56.52.0/22
31.56.112.0/24
31.56.219.0/24
31.57.161.0/24
31.57.199.0/24
31.58.88.0/24
31.59.68.0/24
37.59.0.0/16
37.60.48.0/20
37.139.130.0/24
37.187.0.0/16
37.230.48.0/24
37.252.26.0/24
40.160.0.0/17
40.160.128.0/19
40.160.224.0/22
@@ -58,6 +57,7 @@
40.160.250.0/24
40.160.252.0/24
40.160.254.0/24
40.183.94.0/24
43.226.0.0/23
45.39.79.0/24
45.43.142.0/24
@@ -66,9 +66,7 @@
45.92.60.0/22
45.94.49.0/24
45.112.195.0/24
45.138.190.0/24
45.140.36.0/24
45.146.200.0/24
45.140.187.0/24
45.149.63.0/24
45.149.185.0/24
45.149.243.0/24
@@ -80,6 +78,7 @@
46.105.0.0/16
46.202.232.0/22
46.202.240.0/22
46.203.87.0/24
46.203.108.0/22
46.203.116.0/22
46.203.128.0/22
@@ -87,7 +86,6 @@
46.236.211.0/24
46.244.32.0/20
50.114.91.0/24
50.118.128.0/22
51.38.0.0/16
51.68.0.0/16
51.75.0.0/16
@@ -110,59 +108,85 @@
62.122.126.0/24
62.141.62.0/24
63.251.117.0/24
64.83.69.0/24
64.94.92.0/23
64.95.150.0/23
64.225.244.0/23
66.70.128.0/17
66.92.11.0/24
66.92.25.0/24
66.92.161.0/24
66.92.168.0/24
66.93.50.0/24
66.179.22.0/24
66.179.218.0/23
67.63.54.0/24
68.167.36.0/24
68.232.108.0/24
69.17.37.0/24
69.72.31.0/24
72.244.39.0/24
72.251.0.0/17
77.73.34.0/24
77.74.120.0/23
77.74.122.0/24
77.74.230.0/24
77.75.195.0/24
77.81.138.0/24
77.83.244.0/24
77.87.123.0/24
77.107.88.0/24
77.246.211.0/24
79.99.76.0/24
78.108.59.0/24
79.110.61.0/24
79.137.0.0/17
79.172.192.0/24
80.71.226.0/24
80.87.206.0/24
80.240.85.0/24
82.21.139.0/24
82.22.15.0/24
82.22.25.0/24
82.22.118.0/24
82.24.96.0/22
82.25.146.0/23
82.26.81.0/24
82.26.176.0/20
82.38.28.0/24
82.29.126.0/24
82.38.2.0/24
82.38.32.0/24
82.38.82.0/24
82.38.171.0/24
82.38.124.0/22
82.38.140.0/22
82.38.152.0/21
82.38.160.0/21
82.38.224.0/19
82.39.108.0/24
82.39.138.0/24
82.41.58.0/24
82.41.99.0/24
82.39.156.0/22
82.39.176.0/21
82.39.216.0/22
82.39.224.0/22
82.40.0.0/20
82.40.16.0/22
82.41.44.0/22
82.41.52.0/22
82.41.68.0/22
82.41.80.0/22
82.41.88.0/22
82.41.100.0/22
82.41.104.0/22
82.41.124.0/22
82.41.148.0/22
82.41.152.0/22
82.41.160.0/21
82.41.172.0/22
82.41.176.0/22
82.41.184.0/21
82.41.204.0/22
82.41.212.0/22
82.41.224.0/21
82.117.230.0/23
82.117.245.0/24
82.129.0.0/22
82.152.8.0/24
82.152.57.0/24
82.152.58.0/24
82.152.68.0/24
82.152.73.0/24
82.152.75.0/24
82.152.98.0/24
@@ -170,26 +194,24 @@
82.152.226.0/24
82.152.240.0/24
82.152.243.0/24
82.153.66.0/24
82.153.205.0/24
82.153.217.0/24
82.153.220.0/24
83.136.214.0/23
83.143.16.0/21
83.175.167.0/24
83.175.173.0/24
85.217.144.0/23
86.38.187.0/24
86.54.26.0/24
87.98.128.0/17
87.229.8.0/24
87.229.51.0/24
87.229.64.0/24
88.216.221.0/24
88.218.34.0/24
89.19.44.0/24
89.21.84.0/24
89.125.172.0/24
89.213.105.0/24
89.251.28.0/24
91.90.88.0/21
91.121.0.0/16
91.124.99.0/24
91.124.192.0/24
91.124.199.0/24
91.134.0.0/16
@@ -197,30 +219,30 @@
91.199.32.0/24
91.213.192.0/24
91.224.117.0/24
91.235.205.0/24
91.233.11.0/24
91.246.38.0/24
92.62.117.0/24
92.62.241.0/24
92.113.13.0/24
92.113.67.0/24
92.113.74.0/24
92.113.77.0/24
92.113.80.0/24
92.118.168.0/24
92.222.0.0/16
92.246.224.0/19
92.249.62.0/24
93.88.206.0/24
93.95.113.0/24
93.114.69.0/24
93.174.111.0/24
94.23.0.0/16
95.81.72.0/22
95.169.162.0/24
96.43.99.0/24
96.62.105.0/24
103.5.12.0/22
103.82.16.0/22
103.167.178.0/23
103.189.191.0/24
103.199.80.0/24
103.206.156.0/23
103.239.50.0/24
104.164.137.0/24
104.167.16.0/24
104.222.182.0/24
@@ -243,14 +265,16 @@
117.18.104.0/24
123.100.227.0/24
128.0.118.0/24
130.49.217.0/24
135.125.0.0/16
135.148.0.0/16
136.0.95.0/24
136.0.248.0/24
137.74.0.0/16
137.83.50.0/24
138.249.2.0/24
138.249.135.0/24
139.99.0.0/16
141.11.18.0/24
141.11.31.0/24
141.11.39.0/24
141.11.74.0/23
@@ -260,6 +284,7 @@
141.227.136.0/22
141.227.140.0/24
141.227.142.0/24
141.227.148.0/22
141.227.152.0/24
141.227.154.0/24
141.227.156.0/24
@@ -280,26 +305,30 @@
141.227.190.0/24
142.4.192.0/19
142.44.128.0/17
142.111.85.0/24
142.252.51.0/24
142.252.115.0/24
142.252.127.0/24
143.14.81.0/24
143.14.231.0/24
143.20.66.0/24
143.20.195.0/24
144.2.32.0/19
144.31.149.0/24
144.172.73.0/24
144.217.0.0/16
144.225.112.0/24
144.225.123.0/24
144.225.162.0/24
145.79.151.0/24
145.239.0.0/16
146.19.9.0/24
146.19.38.0/24
146.19.48.0/24
146.59.0.0/16
146.103.10.0/24
147.79.31.0/24
147.125.212.0/24
147.90.234.0/24
147.135.0.0/16
147.185.197.0/24
148.113.0.0/18
148.113.72.0/24
148.113.128.0/17
@@ -308,71 +337,70 @@
148.222.120.0/22
149.56.0.0/16
149.202.0.0/16
150.241.209.0/24
151.80.0.0/16
151.240.1.0/24
151.240.9.0/24
151.240.17.0/24
151.240.24.0/24
151.241.8.0/24
151.241.68.0/24
151.242.67.0/24
151.242.103.0/24
151.242.117.0/24
151.243.6.0/24
151.243.120.0/24
151.243.160.0/22
151.243.236.0/24
151.244.78.0/24
151.245.54.0/24
151.245.120.0/24
151.245.111.0/24
151.245.238.0/24
151.246.177.0/24
151.246.190.0/24
151.247.158.0/24
151.247.37.0/24
151.247.192.0/24
151.247.217.0/24
152.228.128.0/17
155.117.119.0/24
155.117.5.0/24
155.117.212.0/23
155.117.233.0/24
155.117.234.0/24
157.254.30.0/24
157.254.187.0/24
158.69.0.0/16
158.94.170.0/24
160.20.108.0/24
160.20.158.0/23
162.19.0.0/16
162.141.71.0/24
162.212.35.0/24
163.5.62.0/24
163.5.149.0/24
163.5.187.0/24
163.223.88.0/24
164.132.0.0/16
166.0.112.0/24
166.1.88.0/24
166.1.90.0/24
166.1.231.0/24
166.88.248.0/24
167.94.252.0/24
167.114.0.0/16
167.148.125.0/24
167.148.193.0/24
167.234.38.0/24
167.253.62.0/24
168.222.49.0/24
168.222.183.0/24
168.222.243.0/24
168.245.185.0/24
169.40.32.0/24
169.40.57.0/24
172.83.201.0/24
173.211.127.0/24
176.31.0.0/16
178.32.0.0/15
178.93.124.0/24
178.95.186.0/24
180.131.145.0/24
180.149.33.0/24
184.174.96.0/23
184.174.99.0/24
185.5.39.0/24
185.10.200.0/22
185.12.32.0/23
185.15.68.0/22
185.19.33.0/24
185.25.93.0/24
185.30.212.0/22
185.30.212.0/23
185.45.160.0/22
185.68.137.0/24
185.79.139.0/24
@@ -383,11 +411,11 @@
185.127.28.0/24
185.129.220.0/24
185.129.222.0/24
185.133.74.0/24
185.135.188.0/24
185.137.181.0/24
185.146.195.0/24
185.155.218.0/24
185.163.112.0/23
185.170.155.0/24
185.196.221.0/24
185.207.134.0/24
@@ -396,7 +424,10 @@
185.225.74.0/23
185.226.181.0/24
185.228.207.0/24
185.240.238.0/24
185.241.50.0/23
185.244.29.0/24
185.244.30.0/23
185.250.41.0/24
185.251.234.0/24
185.255.28.0/24
@@ -416,18 +447,15 @@
192.207.105.0/24
192.240.152.0/21
193.17.223.0/24
193.32.204.0/24
193.32.207.0/24
193.33.176.0/23
193.43.104.0/24
193.70.0.0/17
193.93.254.0/24
193.138.77.0/24
193.149.28.0/22
193.219.99.0/24
193.221.202.0/24
193.243.147.0/24
194.31.164.0/24
194.31.166.0/24
194.59.183.0/24
194.61.44.0/23
194.76.36.0/23
@@ -440,8 +468,7 @@
195.20.146.0/24
195.62.72.0/23
195.66.30.0/23
195.88.71.0/24
195.206.242.0/24
195.226.93.0/24
198.27.64.0/18
198.49.103.0/24
198.50.128.0/17
@@ -450,7 +477,7 @@
198.244.128.0/17
198.245.48.0/20
199.48.178.0/24
199.168.192.0/23
199.168.192.0/22
199.193.138.0/24
199.195.140.0/23
202.2.60.0/22
@@ -464,16 +491,21 @@
206.206.126.0/24
207.166.205.0/24
207.166.206.0/24
207.180.25.0/24
207.180.58.0/24
207.244.209.0/24
209.71.36.0/24
209.101.164.0/24
209.112.80.0/22
209.126.71.0/24
209.151.124.0/24
209.251.24.0/24
212.24.127.0/24
212.38.79.0/24
212.74.60.0/24
212.74.39.0/24
212.100.171.0/24
212.134.90.0/24
212.134.97.0/24
212.135.160.0/24
212.192.253.0/24
213.32.0.0/17
213.130.130.0/24
@@ -489,6 +521,8 @@
216.211.218.0/24
216.247.96.0/24
217.11.174.0/24
217.60.199.0/24
217.60.196.0/24
217.65.73.0/24
217.182.0.0/16
217.216.199.0/24
217.217.26.0/24

View File

@@ -1,9 +1,8 @@
91.108.56.0/22
91.108.4.0/22
91.108.8.0/22
91.108.16.0/22
91.108.12.0/22
149.154.160.0/20
91.105.192.0/23
91.108.20.0/22
91.108.4.0/22
91.108.8.0/21
91.108.16.0/21
91.108.56.0/22
95.161.64.0/20
149.154.160.0/20
185.76.151.0/24

View File

@@ -2,7 +2,7 @@
2620:10d:c090::/44
2a03:2880::/32
2a03:2887:ff00::/48
2a03:2887:ff02::/48
2a03:2887:ff02::/47
2a03:2887:ff04::/46
2a03:2887:ff09::/48
2a03:2887:ff0a::/48
@@ -24,9 +24,7 @@
2a03:2887:ff48::/46
2a03:2887:ff4d::/48
2a03:2887:ff4e::/47
2a03:2887:ff51::/48
2a03:2887:ff52::/47
2a03:2887:ff54::/46
2a03:2887:ff50::/45
2a03:2887:ff58::/47
2a03:2887:ff5a::/48
2a03:2887:ff5f::/48
@@ -36,6 +34,7 @@
2a03:2887:ff68::/47
2a03:2887:ff6a::/48
2a03:2887:ff70::/47
2a03:2887:ff73::/48
2c0f:ef78:3::/48
2c0f:ef78:5::/48
2c0f:ef78:9::/48

View File

@@ -9,6 +9,7 @@
2600:9000:f400::/40
2600:9000:f538::/45
2600:9000:5380::/41
2600:f0f0:5504::/46
2600:9000:1000::/36
2600:9000:2000::/36
2400:7fc0:500::/40
@@ -18,10 +19,12 @@
2404:c2c0:500::/40
2600:9000:5308::/45
2600:9000:f534::/46
2600:f0f0:601::/48
2600:9000:f520::/44
2600:9000:5320::/43
2600:9000:5310::/44
2600:9000:f580::/41
2600:f0f0:602::/47
2600:9000:5340::/42
2600:9000:eee::/48
2600:9000:5200::/40

View File

@@ -4,6 +4,7 @@
2604:a880::/47
2604:a880:2::/48
2604:a880:4::/47
2604:a880:6::/48
2604:a880:400::/48
2604:a880:800::/48
2604:a880:cad::/48

View File

@@ -0,0 +1,3 @@
2001:4860:4864:4:8000::/128
2001:4860:4864:5::/64
2001:4860:4864:6::/64

View File

@@ -2,7 +2,7 @@
2620:10d:c090::/44
2a03:2880::/32
2a03:2887:ff00::/48
2a03:2887:ff02::/48
2a03:2887:ff02::/47
2a03:2887:ff04::/46
2a03:2887:ff09::/48
2a03:2887:ff0a::/48
@@ -24,9 +24,7 @@
2a03:2887:ff48::/46
2a03:2887:ff4d::/48
2a03:2887:ff4e::/47
2a03:2887:ff51::/48
2a03:2887:ff52::/47
2a03:2887:ff54::/46
2a03:2887:ff50::/45
2a03:2887:ff58::/47
2a03:2887:ff5a::/48
2a03:2887:ff5f::/48
@@ -36,6 +34,7 @@
2a03:2887:ff68::/47
2a03:2887:ff6a::/48
2a03:2887:ff70::/47
2a03:2887:ff73::/48
2c0f:ef78:3::/48
2c0f:ef78:5::/48
2c0f:ef78:9::/48

View File

@@ -1,5 +1,4 @@
2001:b28:f23d::/48
2001:b28:f23f::/48
2001:67c:4e8::/48
2001:b28:f23c::/48
2001:b28:f23c::/47
2001:b28:f23f::/48
2a0a:f280::/32

View File

@@ -943,6 +943,7 @@ DOMAIN-SUFFIX,pervomaysklnr.su
DOMAIN-SUFFIX,pflnr.su
DOMAIN-SUFFIX,phoenix-dnr.ru
DOMAIN-SUFFIX,php.ru
DOMAIN-SUFFIX,phpbbguru.net
DOMAIN-SUFFIX,pikabu.ru
DOMAIN-SUFFIX,pikinform.ru
DOMAIN-SUFFIX,pikuco.ru
@@ -1373,7 +1374,6 @@ DOMAIN-SUFFIX,voloshyna.org.ua
DOMAIN-SUFFIX,voltbet.ru
DOMAIN-SUFFIX,voskhodinfo.su
DOMAIN-SUFFIX,vperedlnr.su
DOMAIN-SUFFIX,vpn.zaborona.help
DOMAIN-SUFFIX,vremya.tv
DOMAIN-SUFFIX,vs.krm.sudrf.ru
DOMAIN-SUFFIX,vsednr.ru

View File

@@ -943,6 +943,7 @@ ipset=/pervomaysklnr.su/vpn_domains
ipset=/pflnr.su/vpn_domains
ipset=/phoenix-dnr.ru/vpn_domains
ipset=/php.ru/vpn_domains
ipset=/phpbbguru.net/vpn_domains
ipset=/pikabu.ru/vpn_domains
ipset=/pikinform.ru/vpn_domains
ipset=/pikuco.ru/vpn_domains
@@ -1373,7 +1374,6 @@ ipset=/voloshyna.org.ua/vpn_domains
ipset=/voltbet.ru/vpn_domains
ipset=/voskhodinfo.su/vpn_domains
ipset=/vperedlnr.su/vpn_domains
ipset=/vpn.zaborona.help/vpn_domains
ipset=/vremya.tv/vpn_domains
ipset=/vs.krm.sudrf.ru/vpn_domains
ipset=/vsednr.ru/vpn_domains

View File

@@ -943,6 +943,7 @@ nftset=/pervomaysklnr.su/4#inet#fw4#vpn_domains
nftset=/pflnr.su/4#inet#fw4#vpn_domains
nftset=/phoenix-dnr.ru/4#inet#fw4#vpn_domains
nftset=/php.ru/4#inet#fw4#vpn_domains
nftset=/phpbbguru.net/4#inet#fw4#vpn_domains
nftset=/pikabu.ru/4#inet#fw4#vpn_domains
nftset=/pikinform.ru/4#inet#fw4#vpn_domains
nftset=/pikuco.ru/4#inet#fw4#vpn_domains
@@ -1373,7 +1374,6 @@ nftset=/voloshyna.org.ua/4#inet#fw4#vpn_domains
nftset=/voltbet.ru/4#inet#fw4#vpn_domains
nftset=/voskhodinfo.su/4#inet#fw4#vpn_domains
nftset=/vperedlnr.su/4#inet#fw4#vpn_domains
nftset=/vpn.zaborona.help/4#inet#fw4#vpn_domains
nftset=/vremya.tv/4#inet#fw4#vpn_domains
nftset=/vs.krm.sudrf.ru/4#inet#fw4#vpn_domains
nftset=/vsednr.ru/4#inet#fw4#vpn_domains

View File

@@ -943,6 +943,7 @@ pervomaysklnr.su
pflnr.su
phoenix-dnr.ru
php.ru
phpbbguru.net
pikabu.ru
pikinform.ru
pikuco.ru
@@ -1373,7 +1374,6 @@ voloshyna.org.ua
voltbet.ru
voskhodinfo.su
vperedlnr.su
vpn.zaborona.help
vremya.tv
vs.krm.sudrf.ru
vsednr.ru

View File

@@ -943,6 +943,7 @@
/ip dns static add name=pflnr.su type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=phoenix-dnr.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=php.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=phpbbguru.net type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=pikabu.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=pikinform.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=pikuco.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
@@ -1373,7 +1374,6 @@
/ip dns static add name=voltbet.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=voskhodinfo.su type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=vperedlnr.su type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=vpn.zaborona.help type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=vremya.tv type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=vs.krm.sudrf.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost
/ip dns static add name=vsednr.ru type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost

View File

@@ -943,6 +943,7 @@ pervomaysklnr.su
pflnr.su
phoenix-dnr.ru
php.ru
phpbbguru.net
pikabu.ru
pikinform.ru
pikuco.ru
@@ -1373,7 +1374,6 @@ voloshyna.org.ua
voltbet.ru
voskhodinfo.su
vperedlnr.su
vpn.zaborona.help
vremya.tv
vs.krm.sudrf.ru
vsednr.ru

View File

@@ -6,7 +6,9 @@ import re
from pathlib import Path
import json
import os
import shutil
import subprocess
import sys
rusDomainsInsideOut='Russia/inside'
rusDomainsInsideSrcSingle='src/Russia-domains-inside-single.lst'
@@ -16,70 +18,49 @@ rusDomainsOutsideSrc='src/Russia-domains-outside.lst'
rusDomainsOutsideOut='Russia/outside'
uaDomainsSrc='src/Ukraine-domains-inside.lst'
uaDomainsOut='Ukraine/inside'
DiscordSubnets = 'Subnets/IPv4/discord.lst'
MetaSubnets = 'Subnets/IPv4/meta.lst'
TwitterSubnets = 'Subnets/IPv4/twitter.lst'
TelegramSubnets = 'Subnets/IPv4/telegram.lst'
CloudflareSubnets = 'Subnets/IPv4/cloudflare.lst'
HetznerSubnets = 'Subnets/IPv4/hetzner.lst'
OVHSubnets = 'Subnets/IPv4/ovh.lst'
DigitalOceanSubnets = 'Subnets/IPv4/digitalocean.lst'
CloudfrontSubnets = 'Subnets/IPv4/cloudfront.lst'
RobloxSubnets = 'Subnets/IPv4/roblox.lst'
ExcludeServices = {"telegram.lst", "cloudflare.lst", "google_ai.lst", "google_play.lst", 'hetzner.lst', 'ovh.lst', 'digitalocean.lst', 'cloudfront.lst', 'hodca.lst', 'roblox.lst'}
SUBNET_SERVICES = [
'discord', 'meta', 'twitter', 'telegram',
'cloudflare', 'hetzner', 'ovh', 'digitalocean',
'cloudfront', 'roblox', 'google_meet',
]
ExcludeServices = {"telegram.lst", "cloudflare.lst", "google_ai.lst", "google_play.lst", 'hetzner.lst', 'ovh.lst', 'digitalocean.lst', 'cloudfront.lst', 'hodca.lst', 'roblox.lst', 'google_meet.lst'}
def collect_files(src):
files = []
for dir_path in src:
path = Path(dir_path)
if path.is_dir():
files.extend(f for f in path.glob('*') if f.name not in ExcludeServices)
elif path.is_file() and path.name not in ExcludeServices:
files.append(path)
return files
def collect_domains(src, dot_prefix=True):
domains = set()
for f in collect_files(src):
if not f.is_file():
continue
with open(f) as infile:
for line in infile:
ext = tldextract.extract(line.rstrip())
if not ext.suffix:
continue
if re.search(r'[^а\-]', ext.domain):
domains.add(ext.fqdn)
elif not ext.domain:
prefix = '.' if dot_prefix else ''
domains.add(prefix + ext.suffix)
return domains
def raw(src, out):
domains = set()
files = []
if isinstance(src, list):
for dir_path in src:
path = Path(dir_path)
if path.is_dir():
files.extend(f for f in path.glob('*') if f.name not in ExcludeServices)
elif path.is_file() and path.name not in ExcludeServices:
files.append(path)
for f in files:
if f.is_file():
with open(f) as infile:
for line in infile:
if tldextract.extract(line).suffix:
if re.search(r'[^а\-]', tldextract.extract(line).domain):
domains.add(tldextract.extract(line.rstrip()).fqdn)
if not tldextract.extract(line).domain and tldextract.extract(line).suffix:
domains.add("." + tldextract.extract(line.rstrip()).suffix)
domains = sorted(domains)
domains = sorted(collect_domains(src))
with open(f'{out}-raw.lst', 'w') as file:
for name in domains:
file.write(f'{name}\n')
def dnsmasq(src, out, remove={'google.com'}):
domains = set()
files = []
if isinstance(src, list):
for dir_path in src:
path = Path(dir_path)
if path.is_dir():
files.extend(f for f in path.glob('*') if f.name not in ExcludeServices)
elif path.is_file() and path.name not in ExcludeServices:
files.append(path)
for f in files:
if f.is_file():
with open(f) as infile:
for line in infile:
if tldextract.extract(line).suffix:
if re.search(r'[^а\-]', tldextract.extract(line).domain):
domains.add(tldextract.extract(line.rstrip()).fqdn)
if not tldextract.extract(line).domain and tldextract.extract(line).suffix:
domains.add("." + tldextract.extract(line.rstrip()).suffix)
domains = domains - remove
domains = sorted(domains)
domains = sorted(collect_domains(src) - remove)
with open(f'{out}-dnsmasq-nfset.lst', 'w') as file:
for name in domains:
@@ -90,84 +71,21 @@ def dnsmasq(src, out, remove={'google.com'}):
file.write(f'ipset=/{name}/vpn_domains\n')
def clashx(src, out, remove={'google.com'}):
domains = set()
files = []
if isinstance(src, list):
for dir_path in src:
path = Path(dir_path)
if path.is_dir():
files.extend(f for f in path.glob('*') if f.name not in ExcludeServices)
elif path.is_file() and path.name not in ExcludeServices:
files.append(path)
for f in files:
with open(f) as infile:
for line in infile:
if tldextract.extract(line).suffix:
if re.search(r'[^а\-]', tldextract.extract(line).domain):
domains.add(tldextract.extract(line.rstrip()).fqdn)
if not tldextract.extract(line).domain and tldextract.extract(line).suffix:
domains.add("." + tldextract.extract(line.rstrip()).suffix)
domains = domains - remove
domains = sorted(domains)
domains = sorted(collect_domains(src) - remove)
with open(f'{out}-clashx.lst', 'w') as file:
for name in domains:
file.write(f'DOMAIN-SUFFIX,{name}\n')
def kvas(src, out, remove={'google.com'}):
domains = set()
files = []
if isinstance(src, list):
for dir_path in src:
path = Path(dir_path)
if path.is_dir():
files.extend(f for f in path.glob('*') if f.name not in ExcludeServices)
elif path.is_file() and path.name not in ExcludeServices:
files.append(path)
for f in files:
with open(f) as infile:
for line in infile:
if tldextract.extract(line).suffix:
if re.search(r'[^а\-]', tldextract.extract(line).domain):
domains.add(tldextract.extract(line.rstrip()).fqdn)
if not tldextract.extract(line).domain and tldextract.extract(line).suffix:
domains.add(tldextract.extract(line.rstrip()).suffix)
domains = domains - remove
domains = sorted(domains)
domains = sorted(collect_domains(src, dot_prefix=False) - remove)
with open(f'{out}-kvas.lst', 'w') as file:
for name in domains:
file.write(f'{name}\n')
def mikrotik_fwd(src, out, remove={'google.com'}):
domains = set()
files = []
if isinstance(src, list):
for dir_path in src:
path = Path(dir_path)
if path.is_dir():
files.extend(f for f in path.glob('*') if f.name not in ExcludeServices)
elif path.is_file() and path.name not in ExcludeServices:
files.append(path)
for f in files:
with open(f) as infile:
for line in infile:
if tldextract.extract(line).suffix:
if re.search(r'[^а\-]', tldextract.extract(line).domain):
domains.add(tldextract.extract(line.rstrip()).fqdn)
if not tldextract.extract(line).domain and tldextract.extract(line).suffix:
domains.add("." + tldextract.extract(line.rstrip()).suffix)
domains = domains - remove
domains = sorted(domains)
domains = sorted(collect_domains(src) - remove)
with open(f'{out}-mikrotik-fwd.lst', 'w') as file:
for name in domains:
@@ -176,213 +94,56 @@ def mikrotik_fwd(src, out, remove={'google.com'}):
else:
file.write(f'/ip dns static add name={name} type=FWD address-list=allow-domains match-subdomain=yes forward-to=localhost\n')
def domains_from_file(filepath):
domains = []
try:
with open(filepath, 'r', encoding='utf-8') as file:
for line in file:
domain = line.strip()
if domain:
domains.append(domain)
except FileNotFoundError:
print(f"File not found: {filepath}")
return domains
def lines_from_file(filepath):
if not os.path.exists(filepath):
print(f"Warning: input file not found: {filepath}", file=sys.stderr)
return []
with open(filepath, 'r', encoding='utf-8') as f:
return [line.strip() for line in f if line.strip()]
def generate_srs_domains(domains, output_name):
output_directory = 'JSON'
compiled_output_directory = 'SRS'
def compile_srs(data, name, json_dir='JSON', srs_dir='SRS'):
os.makedirs(json_dir, exist_ok=True)
os.makedirs(srs_dir, exist_ok=True)
os.makedirs(output_directory, exist_ok=True)
os.makedirs(compiled_output_directory, exist_ok=True)
json_path = os.path.join(json_dir, f"{name}.json")
srs_path = os.path.join(srs_dir, f"{name}.srs")
data = {
"version": 3,
"rules": [
{"domain_suffix": domains}
]
}
json_file_path = os.path.join(output_directory, f"{output_name}.json")
srs_file_path = os.path.join(compiled_output_directory, f"{output_name}.srs")
with open(json_path, 'w', encoding='utf-8') as f:
json.dump(data, f, indent=4)
try:
with open(json_file_path, 'w', encoding='utf-8') as json_file:
json.dump(data, json_file, indent=4)
print(f"JSON file generated: {json_file_path}")
subprocess.run(
["sing-box", "rule-set", "compile", json_file_path, "-o", srs_file_path], check=True
["sing-box", "rule-set", "compile", json_path, "-o", srs_path], check=True
)
print(f"Compiled .srs file: {srs_file_path}")
print(f"Compiled: {srs_path}")
except subprocess.CalledProcessError as e:
print(f"Compile error {json_file_path}: {e}")
except Exception as e:
print(f"Error while processing {output_name}: {e}")
print(f"Compile error {json_path}: {e}")
sys.exit(1)
def generate_srs_for_categories(directories, output_json_directory='JSON', compiled_output_directory='SRS'):
os.makedirs(output_json_directory, exist_ok=True)
os.makedirs(compiled_output_directory, exist_ok=True)
def srs_rule(name, rules):
compile_srs({"version": 3, "rules": rules}, name)
exclude = {"meta", "twitter", "discord", "telegram", "hetzner", "ovh", "digitalocean", "cloudfront", "roblox"}
def generate_srs_for_categories(directories):
exclude = {"meta", "twitter", "discord", "telegram", "hetzner", "ovh", "digitalocean", "cloudfront", "roblox", "google_meet"}
for directory in directories:
for filename in os.listdir(directory):
if any(keyword in filename for keyword in exclude):
continue
file_path = os.path.join(directory, filename)
if os.path.isfile(file_path):
domains = []
with open(file_path, 'r', encoding='utf-8') as file:
for line in file:
domain = line.strip()
if domain:
domains.append(domain)
data = {
"version": 3,
"rules": [
{
"domain_suffix": domains
}
]
}
output_file_path = os.path.join(output_json_directory, f"{os.path.splitext(filename)[0]}.json")
with open(output_file_path, 'w', encoding='utf-8') as output_file:
json.dump(data, output_file, indent=4)
print(f"JSON file generated: {output_file_path}")
print("\nCompile JSON files to .srs files...")
for filename in os.listdir(output_json_directory):
if filename.endswith('.json'):
json_file_path = os.path.join(output_json_directory, filename)
srs_file_path = os.path.join(compiled_output_directory, f"{os.path.splitext(filename)[0]}.srs")
try:
subprocess.run(
["sing-box", "rule-set", "compile", json_file_path, "-o", srs_file_path], check=True
)
print(f"Compiled .srs file: {srs_file_path}")
except subprocess.CalledProcessError as e:
print(f"Compile error {json_file_path}: {e}")
def generate_srs_subnets(input_file, output_json_directory='JSON', compiled_output_directory='SRS'):
os.makedirs(output_json_directory, exist_ok=True)
os.makedirs(compiled_output_directory, exist_ok=True)
subnets = []
with open(input_file, 'r', encoding='utf-8') as file:
for line in file:
subnet = line.strip()
if subnet:
subnets.append(subnet)
data = {
"version": 3,
"rules": [
{
"ip_cidr": subnets
}
]
}
filename = os.path.splitext(os.path.basename(input_file))[0]
output_file_path = os.path.join(output_json_directory, f"{filename}.json")
with open(output_file_path, 'w', encoding='utf-8') as output_file:
json.dump(data, output_file, indent=4)
print(f"JSON file generated: {output_file_path}")
srs_file_path = os.path.join(compiled_output_directory, f"{filename}.srs")
try:
subprocess.run(
["sing-box", "rule-set", "compile", output_file_path, "-o", srs_file_path], check=True
)
print(f"Compiled .srs file: {srs_file_path}")
except subprocess.CalledProcessError as e:
print(f"Compile error {output_file_path}: {e}")
def generate_srs_combined(input_subnets_file, input_domains_file, output_json_directory='JSON', compiled_output_directory='SRS'):
os.makedirs(output_json_directory, exist_ok=True)
os.makedirs(compiled_output_directory, exist_ok=True)
domains = []
if os.path.exists(input_domains_file):
with open(input_domains_file, 'r', encoding='utf-8') as file:
domains = [line.strip() for line in file if line.strip()]
subnets = []
if os.path.exists(input_subnets_file):
with open(input_subnets_file, 'r', encoding='utf-8') as file:
subnets = [line.strip() for line in file if line.strip()]
if input_subnets_file == "Subnets/IPv4/discord.lst":
data = {
"version": 3,
"rules": [
{
"domain_suffix": domains
},
{
"network": ["udp"],
"ip_cidr": subnets,
"port_range": ["50000:65535"]
}
]
}
elif input_subnets_file == "Subnets/IPv4/telegram.lst" and input_domains_file == "voice_messengers":
data = {
"version": 3,
"rules": [
{
"network": ["udp"],
"ip_cidr": subnets,
"port": [1400],
"port_range": ["596:599"]
}
]
}
else:
data = {
"version": 3,
"rules": [
{
"domain_suffix": domains,
"ip_cidr": subnets
}
]
}
if input_domains_file == "voice_messengers":
filename = "voice_messengers"
else:
filename = os.path.splitext(os.path.basename(input_subnets_file))[0]
output_file_path = os.path.join(output_json_directory, f"{filename}.json")
with open(output_file_path, 'w', encoding='utf-8') as output_file:
json.dump(data, output_file, indent=4)
print(f"JSON file generated: {output_file_path}")
srs_file_path = os.path.join(compiled_output_directory, f"{filename}.srs")
try:
subprocess.run(
["sing-box", "rule-set", "compile", output_file_path, "-o", srs_file_path], check=True
)
print(f"Compiled .srs file: {srs_file_path}")
except subprocess.CalledProcessError as e:
print(f"Compile error {output_file_path}: {e}")
domains = lines_from_file(file_path)
name = os.path.splitext(filename)[0]
srs_rule(name, [{"domain_suffix": domains}])
def prepare_dat_domains(domains, output_name, dirs=[]):
def prepare_dat_domains(domains, output_name, dirs=None):
output_lists_directory = 'geosite_data'
os.makedirs(output_lists_directory, exist_ok=True)
domain_attrs = {domain: [] for domain in domains}
for directory in dirs:
for directory in (dirs or []):
if not os.path.isdir(directory):
continue
for filename in os.listdir(directory):
@@ -407,8 +168,6 @@ def prepare_dat_domains(domains, output_name, dirs=[]):
out_f.write(f"{line}\n")
def prepare_dat_combined(dirs):
import shutil
output_lists_directory = 'geosite_data'
os.makedirs(output_lists_directory, exist_ok=True)
@@ -426,18 +185,65 @@ def prepare_dat_combined(dirs):
shutil.copyfile(source_path, destination_path)
def parse_geosite_line(line):
from proto import geosite_pb2
parts = line.split()
raw_domain = parts[0]
attrs = [p.lstrip('@') for p in parts[1:] if p.startswith('@')]
if raw_domain.startswith('full:'):
domain_type = geosite_pb2.Domain.Full
value = raw_domain[5:]
elif raw_domain.startswith('regexp:'):
domain_type = geosite_pb2.Domain.Regex
value = raw_domain[7:]
elif raw_domain.startswith('keyword:'):
domain_type = geosite_pb2.Domain.Plain
value = raw_domain[8:]
else:
domain_type = geosite_pb2.Domain.RootDomain
value = raw_domain.lstrip('.')
return domain_type, value, attrs
def generate_dat_domains(data_path='geosite_data', output_name='geosite.dat', output_directory='DAT'):
from proto import geosite_pb2
os.makedirs(output_directory, exist_ok=True)
try:
subprocess.run(
["domain-list-community", f"-datapath={data_path}", f"-outputname={output_name}", f"-outputdir={output_directory}"],
check=True,
stdout=subprocess.DEVNULL
)
print(f"Compiled .dat file: {output_directory}/{output_name}")
except subprocess.CalledProcessError as e:
print(f"Compile error {data_path}: {e}")
geo_site_list = geosite_pb2.GeoSiteList()
for filename in sorted(os.listdir(data_path)):
file_path = os.path.join(data_path, filename)
if not os.path.isfile(file_path):
continue
geo_site = geo_site_list.entry.add()
geo_site.country_code = filename.upper()
with open(file_path, 'r', encoding='utf-8') as f:
for line in f:
line = line.strip()
if not line or line.startswith('#'):
continue
domain_type, value, attrs = parse_geosite_line(line)
domain = geo_site.domain.add()
domain.type = domain_type
domain.value = value
for attr in attrs:
attribute = domain.attribute.add()
attribute.key = attr
attribute.bool_value = True
output_path = os.path.join(output_directory, output_name)
with open(output_path, 'wb') as f:
f.write(geo_site_list.SerializeToString())
print(f"Compiled .dat file: {output_path}")
if __name__ == '__main__':
# Russia inside
@@ -482,31 +288,32 @@ if __name__ == '__main__':
Path(temp_file).unlink()
# Sing-box ruleset main
russia_inside = domains_from_file('Russia/inside-raw.lst')
russia_outside = domains_from_file('Russia/outside-raw.lst')
ukraine_inside = domains_from_file('Ukraine/inside-raw.lst')
generate_srs_domains(russia_inside, 'russia_inside')
generate_srs_domains(russia_outside, 'russia_outside')
generate_srs_domains(ukraine_inside, 'ukraine_inside')
russia_inside = lines_from_file('Russia/inside-raw.lst')
russia_outside = lines_from_file('Russia/outside-raw.lst')
ukraine_inside = lines_from_file('Ukraine/inside-raw.lst')
srs_rule('russia_inside', [{"domain_suffix": russia_inside}])
srs_rule('russia_outside', [{"domain_suffix": russia_outside}])
srs_rule('ukraine_inside', [{"domain_suffix": ukraine_inside}])
# Sing-box categories
directories = ['Categories', 'Services']
generate_srs_for_categories(directories)
# Sing-box subnets + domains
generate_srs_combined(DiscordSubnets, "Services/discord.lst")
generate_srs_combined(TwitterSubnets, "Services/twitter.lst")
generate_srs_combined(MetaSubnets, "Services/meta.lst")
generate_srs_combined(TelegramSubnets, "Services/telegram.lst")
generate_srs_combined(CloudflareSubnets, "Services/cloudflare.lst")
generate_srs_combined(HetznerSubnets, "Services/hetzner.lst")
generate_srs_combined(OVHSubnets, "Services/ovh.lst")
generate_srs_combined(DigitalOceanSubnets, "Services/digitalocean.lst")
generate_srs_combined(CloudfrontSubnets, "Services/cloudfront.lst")
generate_srs_combined(RobloxSubnets, "Services/roblox.lst")
for service in SUBNET_SERVICES:
if service == 'discord':
continue
subnets = lines_from_file(f'Subnets/IPv4/{service}.lst')
domains = lines_from_file(f'Services/{service}.lst')
srs_rule(service, [{"domain_suffix": domains, "ip_cidr": subnets}])
# Sing-box voice for messengers
generate_srs_combined(TelegramSubnets, "voice_messengers")
# Discord (domains + UDP subnets on high ports)
discord_subnets = lines_from_file('Subnets/IPv4/discord.lst')
discord_domains = lines_from_file('Services/discord.lst')
srs_rule('discord', [
{"domain_suffix": discord_domains},
{"network": ["udp"], "ip_cidr": discord_subnets, "port_range": ["50000:65535"]},
])
# Xray domains
prepare_dat_domains(russia_inside, 'russia-inside', directories)

View File

@@ -1,30 +1,28 @@
#!/usr/bin/python3.10
#!/usr/bin/env python3
import ipaddress
import urllib.request
import os
import shutil
import json
import sys
BGP_TOOLS_URL = 'https://bgp.tools/table.txt'
HEADERS = { 'User-Agent': 'itdog.info - hi@itdog.info' }
AS_FILE = 'AS.lst'
RIPE_STAT_URL = 'https://stat.ripe.net/data/announced-prefixes/data.json?resource=AS{}'
USER_AGENT = 'allow-domains/1.0'
IPv4_DIR = 'Subnets/IPv4'
IPv6_DIR = 'Subnets/IPv6'
AS_META = ['32934','63293','54115','149642']
AS_TWITTER = ['13414']
AS_HETZNER = ['24940']
AS_OVH = ['16276']
AS_DIGITALOCEAN = ['14061']
ASN_SERVICES = {
'meta.lst': ['32934', '63293', '54115', '149642'],
'twitter.lst': ['13414'],
'hetzner.lst': ['24940'],
'ovh.lst': ['16276'],
'digitalocean.lst': ['14061'],
}
META = 'meta.lst'
TWITTER = 'twitter.lst'
ASN_TELEGRAM = ['44907', '59930', '62014', '62041', '211157']
TELEGRAM = 'telegram.lst'
CLOUDFLARE = 'cloudflare.lst'
HETZNER = 'hetzner.lst'
OVH = 'ovh.lst'
DIGITALOCEAN = 'digitalocean.lst'
CLOUDFRONT = 'cloudfront.lst'
# From https://iplist.opencck.org/
@@ -38,93 +36,103 @@ TELEGRAM_CIDR_URL = 'https://core.telegram.org/resources/cidr.txt'
CLOUDFLARE_V4='https://www.cloudflare.com/ips-v4'
CLOUDFLARE_V6='https://www.cloudflare.com/ips-v6'
AWS_IP_RANGES_URL='https://ip-ranges.amazonaws.com/ip-ranges.json'
# https://support.google.com/a/answer/1279090
GOOGLE_MEET = 'google_meet.lst'
GOOGLE_MEET_V4 = [
'74.125.247.128/32',
'74.125.250.0/24',
'142.250.82.0/24',
]
GOOGLE_MEET_V6 = [
'2001:4860:4864:4:8000::/128',
'2001:4860:4864:5::/64',
'2001:4860:4864:6::/64',
]
subnet_list = []
AWS_CIDR_URL='https://ip-ranges.amazonaws.com/ip-ranges.json'
def make_request(url):
req = urllib.request.Request(url)
req.add_header('User-Agent', USER_AGENT)
return req
def subnet_summarization(subnet_list):
subnets = [ipaddress.ip_network(subnet) for subnet in subnet_list]
subnets = [ipaddress.ip_network(subnet, strict=False) for subnet in subnet_list]
return list(ipaddress.collapse_addresses(subnets))
def process_subnets(subnet_list, target_as):
def fetch_asn_prefixes(asn_list):
ipv4_subnets = []
ipv6_subnets = []
for subnet_str, as_number in subnet_list:
for asn in asn_list:
url = RIPE_STAT_URL.format(asn)
req = make_request(url)
try:
subnet = ipaddress.ip_network(subnet_str)
if as_number in target_as:
if subnet.version == 4:
ipv4_subnets.append(subnet_str)
elif subnet.version == 6:
ipv6_subnets.append(subnet_str)
except ValueError:
print(f"Invalid subnet: {subnet_str}")
sys.exit(1)
ipv4_merged = subnet_summarization(ipv4_subnets)
ipv6_merged = subnet_summarization(ipv6_subnets)
return ipv4_merged, ipv6_merged
def download_ready_subnets(url_v4, url_v6):
ipv4_subnets = []
ipv6_subnets = []
urls = [(url_v4, 4), (url_v6, 6)]
for url, version in urls:
req = urllib.request.Request(url, headers=HEADERS)
try:
with urllib.request.urlopen(req) as response:
if response.status == 200:
subnets = response.read().decode('utf-8').splitlines()
for subnet_str in subnets:
try:
subnet = ipaddress.ip_network(subnet_str)
if subnet.version == 4:
ipv4_subnets.append(subnet_str)
elif subnet.version == 6:
ipv6_subnets.append(subnet_str)
except ValueError:
print(f"Invalid subnet: {subnet_str}")
sys.exit(1)
with urllib.request.urlopen(req, timeout=30) as response:
data = json.loads(response.read().decode('utf-8'))
for entry in data['data']['prefixes']:
prefix = entry['prefix']
try:
network = ipaddress.ip_network(prefix)
if network.version == 4:
ipv4_subnets.append(prefix)
else:
ipv6_subnets.append(prefix)
except ValueError:
print(f"Invalid subnet: {prefix}")
sys.exit(1)
except Exception as e:
print(f"Query error: {e}")
print(f"Error fetching AS{asn}: {e}")
sys.exit(1)
return ipv4_subnets, ipv6_subnets
def download_ready_split_subnets(url):
req = urllib.request.Request(url)
with urllib.request.urlopen(req) as response:
subnets = response.read().decode('utf-8').splitlines()
def download_subnets(*urls):
ipv4_subnets = []
ipv6_subnets = []
for url in urls:
req = make_request(url)
try:
with urllib.request.urlopen(req, timeout=30) as response:
subnets = response.read().decode('utf-8').splitlines()
for subnet_str in subnets:
try:
network = ipaddress.ip_network(subnet_str, strict=False)
if network.version == 4:
ipv4_subnets.append(subnet_str)
else:
ipv6_subnets.append(subnet_str)
except ValueError:
print(f"Invalid subnet: {subnet_str}")
sys.exit(1)
except Exception as e:
print(f"Query error {url}: {e}")
sys.exit(1)
ipv4_subnets = [cidr for cidr in subnets if isinstance(ipaddress.ip_network(cidr, strict=False), ipaddress.IPv4Network)]
ipv6_subnets = [cidr for cidr in subnets if isinstance(ipaddress.ip_network(cidr, strict=False), ipaddress.IPv6Network)]
return ipv4_subnets, ipv6_subnets
def download_aws_cloudfront_subnets():
ipv4_subnets = []
ipv6_subnets = []
req = urllib.request.Request(AWS_IP_RANGES_URL, headers=HEADERS)
req = make_request(AWS_CIDR_URL)
try:
with urllib.request.urlopen(req) as response:
if response.status == 200:
data = json.loads(response.read().decode('utf-8'))
for prefix in data.get('prefixes', []):
if prefix.get('service') == 'CLOUDFRONT':
ipv4_subnets.append(prefix['ip_prefix'])
for prefix in data.get('ipv6_prefixes', []):
if prefix.get('service') == 'CLOUDFRONT':
ipv6_subnets.append(prefix['ipv6_prefix'])
with urllib.request.urlopen(req, timeout=30) as response:
data = json.loads(response.read().decode('utf-8'))
for prefix in data.get('prefixes', []):
if prefix.get('service') == 'CLOUDFRONT':
ipv4_subnets.append(prefix['ip_prefix'])
for prefix in data.get('ipv6_prefixes', []):
if prefix.get('service') == 'CLOUDFRONT':
ipv6_subnets.append(prefix['ipv6_prefix'])
except Exception as e:
print(f"Error downloading AWS CloudFront ranges: {e}")
sys.exit(1)
return ipv4_subnets, ipv6_subnets
def write_subnets_to_file(subnets, filename):
@@ -138,63 +146,47 @@ def copy_file_legacy(src_filename):
shutil.copy(src_filename, os.path.join(os.path.dirname(src_filename), new_filename))
if __name__ == '__main__':
request = urllib.request.Request(BGP_TOOLS_URL, headers=HEADERS)
with urllib.request.urlopen(request) as response:
for line in response:
decoded_line = line.decode('utf-8').strip()
subnet, as_number = decoded_line.split()
subnet_list.append((subnet, as_number))
# Meta
ipv4_merged_meta, ipv6_merged_meta = process_subnets(subnet_list, AS_META)
write_subnets_to_file(ipv4_merged_meta, f'{IPv4_DIR}/{META}')
write_subnets_to_file(ipv6_merged_meta, f'{IPv6_DIR}/{META}')
# Twitter
ipv4_merged_twitter, ipv6_merged_twitter = process_subnets(subnet_list, AS_TWITTER)
write_subnets_to_file(ipv4_merged_twitter, f'{IPv4_DIR}/{TWITTER}')
write_subnets_to_file(ipv6_merged_twitter, f'{IPv6_DIR}/{TWITTER}')
# Hetzner
ipv4_merged_hetzner, ipv6_merged_hetzner = process_subnets(subnet_list, AS_HETZNER)
write_subnets_to_file(ipv4_merged_hetzner, f'{IPv4_DIR}/{HETZNER}')
write_subnets_to_file(ipv6_merged_hetzner, f'{IPv6_DIR}/{HETZNER}')
# OVH
ipv4_merged_ovh, ipv6_merged_ovh = process_subnets(subnet_list, AS_OVH)
write_subnets_to_file(ipv4_merged_ovh, f'{IPv4_DIR}/{OVH}')
write_subnets_to_file(ipv6_merged_ovh, f'{IPv6_DIR}/{OVH}')
# Digital Ocean
ipv4_merged_digitalocean, ipv6_merged_digitalocean = process_subnets(subnet_list, AS_DIGITALOCEAN)
write_subnets_to_file(ipv4_merged_digitalocean, f'{IPv4_DIR}/{DIGITALOCEAN}')
write_subnets_to_file(ipv6_merged_digitalocean, f'{IPv6_DIR}/{DIGITALOCEAN}')
# Services from ASN (meta, twitter, hetzner, ovh, digitalocean)
for filename, asn_list in ASN_SERVICES.items():
print(f'Fetching {filename}...')
ipv4, ipv6 = fetch_asn_prefixes(asn_list)
write_subnets_to_file(subnet_summarization(ipv4), f'{IPv4_DIR}/{filename}')
write_subnets_to_file(subnet_summarization(ipv6), f'{IPv6_DIR}/{filename}')
# Discord voice
ipv4_discord, ipv6_discord = download_ready_subnets(DISCORD_VOICE_V4, DISCORD_VOICE_V6)
print(f'Fetching {DISCORD}...')
ipv4_discord, ipv6_discord = download_subnets(DISCORD_VOICE_V4, DISCORD_VOICE_V6)
write_subnets_to_file(ipv4_discord, f'{IPv4_DIR}/{DISCORD}')
write_subnets_to_file(ipv6_discord, f'{IPv6_DIR}/{DISCORD}')
# Telegram
ipv4_telegram, ipv6_telegram = download_ready_split_subnets(TELEGRAM_CIDR_URL)
print(f'Fetching {TELEGRAM}...')
ipv4_telegram_file, ipv6_telegram_file = download_subnets(TELEGRAM_CIDR_URL)
ipv4_telegram_asn, ipv6_telegram_asn = fetch_asn_prefixes(ASN_TELEGRAM)
ipv4_telegram = subnet_summarization(ipv4_telegram_file + ipv4_telegram_asn)
ipv6_telegram = subnet_summarization(ipv6_telegram_file + ipv6_telegram_asn)
write_subnets_to_file(ipv4_telegram, f'{IPv4_DIR}/{TELEGRAM}')
write_subnets_to_file(ipv6_telegram, f'{IPv6_DIR}/{TELEGRAM}')
# Cloudflare
ipv4_cloudflare, ipv6_cloudflare = download_ready_subnets(CLOUDFLARE_V4, CLOUDFLARE_V6)
print(f'Fetching {CLOUDFLARE}...')
ipv4_cloudflare, ipv6_cloudflare = download_subnets(CLOUDFLARE_V4, CLOUDFLARE_V6)
write_subnets_to_file(ipv4_cloudflare, f'{IPv4_DIR}/{CLOUDFLARE}')
write_subnets_to_file(ipv6_cloudflare, f'{IPv6_DIR}/{CLOUDFLARE}')
# Google Meet
print(f'Writing {GOOGLE_MEET}...')
write_subnets_to_file(GOOGLE_MEET_V4, f'{IPv4_DIR}/{GOOGLE_MEET}')
write_subnets_to_file(GOOGLE_MEET_V6, f'{IPv6_DIR}/{GOOGLE_MEET}')
# AWS CloudFront
print(f'Fetching {CLOUDFRONT}...')
ipv4_cloudfront, ipv6_cloudfront = download_aws_cloudfront_subnets()
write_subnets_to_file(ipv4_cloudfront, f'{IPv4_DIR}/{CLOUDFRONT}')
write_subnets_to_file(ipv6_cloudfront, f'{IPv6_DIR}/{CLOUDFRONT}')
# Legacy name
copy_file_legacy(f'{IPv4_DIR}/{META}')
copy_file_legacy(f'{IPv6_DIR}/{META}')
copy_file_legacy(f'{IPv4_DIR}/{TWITTER}')
copy_file_legacy(f'{IPv6_DIR}/{TWITTER}')
copy_file_legacy(f'{IPv4_DIR}/{DISCORD}')
copy_file_legacy(f'{IPv6_DIR}/{DISCORD}')
# Legacy copies with capitalized names (e.g. meta.lst -> Meta.lst)
LEGACY_FILES = ['meta.lst', 'twitter.lst', 'discord.lst']
for legacy_file in LEGACY_FILES:
copy_file_legacy(f'{IPv4_DIR}/{legacy_file}')
copy_file_legacy(f'{IPv6_DIR}/{legacy_file}')

0
proto/__init__.py Normal file
View File

37
proto/geosite.proto Normal file
View File

@@ -0,0 +1,37 @@
// Source: github.com/v2fly/v2ray-core/app/router/routercommon/common.proto
syntax = "proto3";
package geosite;
option go_package = "geosite";
message Domain {
enum Type {
Plain = 0;
Regex = 1;
RootDomain = 2;
Full = 3;
}
Type type = 1;
string value = 2;
message Attribute {
string key = 1;
oneof typed_value {
bool bool_value = 2;
int64 int_value = 3;
}
}
repeated Attribute attribute = 3;
}
message GeoSite {
string country_code = 1;
repeated Domain domain = 2;
}
message GeoSiteList {
repeated GeoSite entry = 1;
}

45
proto/geosite_pb2.py Normal file
View File

@@ -0,0 +1,45 @@
# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler. DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: proto/geosite.proto
# Protobuf Python Version: 6.32.1
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
_runtime_version.Domain.PUBLIC,
6,
32,
1,
'',
'proto/geosite.proto'
)
# @@protoc_insertion_point(imports)
_sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x13proto/geosite.proto\x12\x07geosite\"\xf5\x01\n\x06\x44omain\x12\"\n\x04type\x18\x01 \x01(\x0e\x32\x14.geosite.Domain.Type\x12\r\n\x05value\x18\x02 \x01(\t\x12,\n\tattribute\x18\x03 \x03(\x0b\x32\x19.geosite.Domain.Attribute\x1aR\n\tAttribute\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x14\n\nbool_value\x18\x02 \x01(\x08H\x00\x12\x13\n\tint_value\x18\x03 \x01(\x03H\x00\x42\r\n\x0btyped_value\"6\n\x04Type\x12\t\n\x05Plain\x10\x00\x12\t\n\x05Regex\x10\x01\x12\x0e\n\nRootDomain\x10\x02\x12\x08\n\x04\x46ull\x10\x03\"@\n\x07GeoSite\x12\x14\n\x0c\x63ountry_code\x18\x01 \x01(\t\x12\x1f\n\x06\x64omain\x18\x02 \x03(\x0b\x32\x0f.geosite.Domain\".\n\x0bGeoSiteList\x12\x1f\n\x05\x65ntry\x18\x01 \x03(\x0b\x32\x10.geosite.GeoSiteB\tZ\x07geositeb\x06proto3')
_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'proto.geosite_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
_globals['DESCRIPTOR']._loaded_options = None
_globals['DESCRIPTOR']._serialized_options = b'Z\007geosite'
_globals['_DOMAIN']._serialized_start=33
_globals['_DOMAIN']._serialized_end=278
_globals['_DOMAIN_ATTRIBUTE']._serialized_start=140
_globals['_DOMAIN_ATTRIBUTE']._serialized_end=222
_globals['_DOMAIN_TYPE']._serialized_start=224
_globals['_DOMAIN_TYPE']._serialized_end=278
_globals['_GEOSITE']._serialized_start=280
_globals['_GEOSITE']._serialized_end=344
_globals['_GEOSITELIST']._serialized_start=346
_globals['_GEOSITELIST']._serialized_end=392
# @@protoc_insertion_point(module_scope)

View File

@@ -1 +1,2 @@
tldextract
protobuf>=6.32.1

View File

@@ -4,6 +4,7 @@ pkgs.mkShell {
buildInputs = with pkgs; [
python312
python312Packages.tldextract
python312Packages.protobuf
sing-box
];

View File

@@ -8,6 +8,8 @@ dzvr.ru
rzd-bonus.ru
sys.refocus.ru
vshark.ttk.ru
gorzdrav.spb.ru
emex.ru
# www.pochta.ru
pochta.ru