├── .docker └── php │ ├── docker-php-disable-assertions.ini │ ├── docker-php-enable-jit.ini │ └── docker-php.ini ├── .dockerignore ├── .editorconfig ├── .env.example ├── .gitattributes ├── .gitignore ├── .prettierrc ├── Dockerfile ├── LICENSE ├── README.en.md ├── README.md ├── composer.json ├── config ├── anime │ ├── amedia.site.json │ ├── anidub.pro.json │ ├── anilibria.tv.json │ ├── animego.org.json │ ├── bato.to.json │ ├── crunchyroll.com.json │ ├── jut.su.json │ ├── kara.su.json │ ├── kodik.info.json │ ├── mangahub.ru.json │ ├── mangapark.net.json │ ├── nyaa.land.json │ ├── nyaa.si.json │ └── yummyanime.tv.json ├── art │ ├── danbooru.donmai.us.json │ ├── ficbook.net.json │ ├── gelbooru.com.json │ ├── hentaichan.live.json │ ├── infinitenovel.eu.json │ ├── pixiv.net.json │ ├── rulate.ru.json │ ├── vndb.org.json │ └── younettranslate.com.json ├── casino │ ├── 7k.casino.json │ ├── combotech.json │ └── vavada.com.json ├── discord │ ├── discord.com.json │ ├── discord.gg.json │ └── discord.media.json ├── education │ ├── duolingo.com.json │ ├── grammarly.com.json │ ├── mrakopedia.net.json │ ├── refactoring.guru.json │ ├── wikiart.org.json │ └── znanija.com.json ├── games │ └── chess.com.json ├── jetbrains │ ├── jetbrains.com.json │ ├── jetbrains@cdn.json │ └── jetbrains@grazie.ai.json ├── messengers │ ├── messenger.com.json │ ├── signal.org.json │ ├── viber.com.json │ └── whatsapp.com.json ├── music │ ├── soundcloud.com.json │ └── spotify.com.json ├── news │ ├── agents.media.json │ ├── agentura.ru.json │ ├── bbc.com.json │ ├── bellingcat.com.json │ ├── cherta.media.json │ ├── colta.ru.json │ ├── currenttime.tv.json │ ├── dept.one.json │ ├── doxa.team.json │ ├── dw.com.json │ ├── echofm.online.json │ ├── ehorussia.com.json │ ├── ej.ru.json │ ├── euronews.com.json │ ├── exler.ru.json │ ├── golosameriki.com.json │ ├── gordonua.com.json │ ├── gulagu.net.json │ ├── holod.media.json │ ├── hrw.org.json │ ├── istories.media.json │ ├── kasparov.ru.json │ ├── kavkaz-uzel.eu.json │ ├── korrespondent.net.json │ ├── krymr.com.json │ ├── meduza.io.json │ ├── memohrc.org.json │ ├── moscowtimes.ru.json │ ├── navalny.com.json │ ├── newtimes.ru.json │ ├── novayagazeta.ru.json │ ├── ovd.info.json │ ├── paperpaper.ru.json │ ├── polit.ru.json │ ├── proekt.media.json │ ├── prostovpn.org.json │ ├── radiosvoboda.org.json │ ├── semnasem.org.json │ ├── svoboda.org.json │ ├── tayga.info.json │ ├── the-village.ru.json │ ├── theins.ru.json │ ├── thetruestory.news.json │ ├── tvrain.ru.json │ ├── unian.net.json │ ├── verstka.media.json │ ├── vot-tak.tv.json │ └── zona.media.json ├── porn │ ├── beeg.com.json │ ├── hqporner.com.json │ ├── pornhub.com.json │ ├── pornolab.net.json │ ├── reddxxx.com.json │ ├── redgifs.com.json │ ├── redtube.com.json │ ├── rule34.xxx.json │ ├── xhamster.com.json │ ├── xhamsterlive.com.json │ ├── xnxx-ru.com.json │ └── xvideos.com.json ├── shop │ ├── babook.org.json │ └── ralphlauren.eu.json ├── socials │ ├── facebook.com.json │ ├── instagram.com.json │ ├── linkedin.com.json │ ├── patreon.com.json │ ├── quora.com.json │ ├── tiktok.com.json │ └── x.com.json ├── tools │ ├── 10minutemail.com.json │ ├── basecamp.com.json │ ├── bestchange.ru.json │ ├── canva.com.json │ ├── chatgpt.com.json │ ├── claude.ai.json │ ├── connect.garmin.com.json │ ├── copilot.json │ ├── elevenlabs.io.json │ ├── grok.com.json │ ├── linktr.ee.json │ ├── make.com.json │ ├── medium.com.json │ ├── miro.com.json │ ├── naukri.com.json │ ├── notepad-plus-plus.org.json │ ├── notion.so.json │ ├── proton.me.json │ ├── proxyline.net.json │ ├── sentry.io.json │ ├── strava.com.json │ ├── trainingpeaks.com.json │ ├── tuta.com.json │ ├── whoop.com.json │ └── zapier.com.json ├── torrent │ ├── 1337x.to.json │ ├── booktracker.org.json │ ├── filmitorrent.net.json │ ├── kinozal.me.json │ ├── newstudio.tv.json │ ├── nnmclub.to.json │ ├── rustorka.com.json │ ├── rutor.info.json │ ├── rutracker.org.json │ ├── thepiratebay.org.json │ └── torrent.by.json ├── video │ ├── dorama.live.json │ ├── doramy.club.json │ ├── filmix.fm.json │ ├── hdrezka.ag.json │ ├── kino.pub.json │ ├── kinobase.org.json │ ├── kinovod.pro.json │ ├── kinozal.tv.json │ ├── lostfilm.tv.json │ ├── netflix.com.json │ ├── themoviedb.org.json │ └── zeflix.online.json └── youtube │ └── youtube.com.json ├── docker-compose.yml ├── index.php ├── package.json ├── public ├── browserconfig.xml ├── favicon.ico ├── images │ ├── android-icon-144x144.png │ ├── android-icon-192x192.png │ ├── android-icon-36x36.png │ ├── android-icon-48x48.png │ ├── android-icon-72x72.png │ ├── android-icon-96x96.png │ ├── apple-icon-114x114.png │ ├── apple-icon-120x120.png │ ├── apple-icon-144x144.png │ ├── apple-icon-152x152.png │ ├── apple-icon-180x180.png │ ├── apple-icon-57x57.png │ ├── apple-icon-60x60.png │ ├── apple-icon-72x72.png │ ├── apple-icon-76x76.png │ ├── apple-icon-precomposed.png │ ├── apple-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ ├── favicon-96x96.png │ ├── icon-512.png │ ├── ms-icon-144x144.png │ ├── ms-icon-150x150.png │ ├── ms-icon-310x310.png │ └── ms-icon-70x70.png ├── manifest.json └── scripts │ └── homeproxy │ └── update_resources.sh ├── src ├── App │ ├── Controller │ │ ├── AbstractController.php │ │ ├── AbstractIPListController.php │ │ ├── AmneziaController.php │ │ ├── BatController.php │ │ ├── ClashxController.php │ │ ├── CommaController.php │ │ ├── ControllerInterface.php │ │ ├── CustomController.php │ │ ├── IpsetController.php │ │ ├── JsonController.php │ │ ├── KvasController.php │ │ ├── MainController.php │ │ ├── MikrotikController.php │ │ ├── NfsetController.php │ │ ├── PacController.php │ │ ├── SwitchyController.php │ │ └── TextController.php │ ├── Service │ │ └── IPListService.php │ └── Template │ │ └── IndexTemplate.php ├── Domain │ ├── Entity │ │ └── Site.php │ ├── Factory │ │ └── SiteFactory.php │ └── Helper │ │ ├── DNSHelper.php │ │ ├── IP4Helper.php │ │ └── IP6Helper.php ├── Infrastructure │ ├── API │ │ ├── App.php │ │ ├── AppModuleInterface.php │ │ ├── Handler │ │ │ ├── HTTPErrorHandler.php │ │ │ ├── HTTPHandler.php │ │ │ ├── HTTPHandlerInterface.php │ │ │ ├── Handler.php │ │ │ └── HandlerInterface.php │ │ └── Server.php │ ├── Storage │ │ ├── CIDRStorage.php │ │ └── StorageInterface.php │ └── Task │ │ ├── ShellTask.php │ │ └── TaskInterface.php └── functions.php └── storage └── cidr.json /.docker/php/docker-php-disable-assertions.ini: -------------------------------------------------------------------------------- 1 | [Assertion] 2 | zend.assertions = -1 3 | -------------------------------------------------------------------------------- /.docker/php/docker-php-enable-jit.ini: -------------------------------------------------------------------------------- 1 | ; Extended PHP.ini file to enable JIT. 2 | ; ==================================== 3 | ; Place this file under /usr/local/etc/php/conf.d/ 4 | zend_extension=opcache.so 5 | opcache.enable_cli=1 6 | opcache.jit_buffer_size=500000000 7 | opcache.jit=1235 8 | ;opcache.jit_buffer_size=500000000 9 | ;opcache.jit=1225 10 | -------------------------------------------------------------------------------- /.docker/php/docker-php.ini: -------------------------------------------------------------------------------- 1 | [php] 2 | display_errors = On 3 | memory_limit = 2048M 4 | default_socket_timeout = 120 5 | upload_max_filesize = 20M 6 | post_max_size = 20M 7 | 8 | [opcache] 9 | opcache.revalidate_freq = 0 10 | opcache.validate_timestamps = 1 11 | opcache.max_accelerated_files = 100000 12 | opcache.memory_consumption = 512 13 | opcache.interned_strings_buffer = 64 14 | opcache.fast_shutdown = 1 15 | opcache.error_log = "/var/log/php/opcache.log" 16 | -------------------------------------------------------------------------------- /.dockerignore: -------------------------------------------------------------------------------- 1 | .git 2 | .nuxt 3 | .output 4 | node_modules 5 | tmp 6 | package-lock.json -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | [*] 2 | charset=utf-8 3 | end_of_line=lf 4 | insert_final_newline=false 5 | indent_style=space 6 | tab_width=4 7 | 8 | [*.vue] 9 | indent_style=space 10 | indent_size=4 11 | 12 | [*.scss] 13 | indent_style=space 14 | indent_size=4 15 | 16 | [*.json] 17 | indent_style=space 18 | indent_size=4 19 | 20 | [{phpunit.xml.dist,*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] 21 | indent_style=space 22 | indent_size=4 23 | 24 | [*.svg] 25 | indent_style=space 26 | indent_size=4 27 | 28 | [.editorconfig] 29 | indent_style=space 30 | indent_size=4 31 | 32 | [{*.gy,*.groovy,*.gant,*.gdsl}] 33 | indent_style=space 34 | indent_size=4 35 | 36 | [{*.ats,*.ts}] 37 | indent_style=space 38 | indent_size=4 39 | 40 | [{*.yml,*.yaml}] 41 | indent_style=space 42 | indent_size=4 43 | 44 | -------------------------------------------------------------------------------- /.env.example: -------------------------------------------------------------------------------- 1 | COMPOSE_PROJECT_NAME="iplist" 2 | STORAGE_SAVE_INTERVAL="120" 3 | SYS_DNS_RESOLVE_IP4="true" 4 | SYS_DNS_RESOLVE_IP6="true" 5 | SYS_DNS_RESOLVE_CHUNK_SIZE="10" 6 | SYS_DNS_RESOLVE_DELAY="100" 7 | SYS_IP6_SUBNET_PREFIX_CAP="64" 8 | SYS_MEMORY_LIMIT="1024M" 9 | SYS_TIMEZONE="Europe/Moscow" 10 | DEBUG="true" -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Set the default behavior, in case people don't have core.autocrlf set. 2 | * text=auto eol=lf 3 | 4 | # Explicitly declare text files you want to always be normalized and converted 5 | # to native line endings on checkout. 6 | *.c text 7 | *.h text 8 | 9 | # Declare files that will always have LF line endings on checkout. 10 | *.sln text eol=lf 11 | *.php text eol=lf 12 | *.js text eol=lf 13 | *.ts text eol=lf 14 | *.json text eol=lf 15 | *.vue text eol=lf 16 | *.css text eol=lf 17 | *.scss text eol=lf 18 | *.sass text eol=lf 19 | *.less text eol=lf 20 | 21 | # Denote all files that are truly binary and should not be modified. 22 | *.png binary 23 | *.jpg binary 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Dependencies 2 | node_modules 3 | .output 4 | .nitro 5 | jspm_packages 6 | vendor 7 | 8 | # Only keep yarn.lock in the root 9 | package-lock.json 10 | */**/yarn.lock 11 | composer.lock 12 | 13 | # Logs 14 | /logs 15 | *.log* 16 | npm-debug.log* 17 | yarn-debug.log* 18 | yarn-error.log* 19 | 20 | # Cache 21 | .phpunit.result.cache 22 | 23 | # Runtime data 24 | pids 25 | *.pid 26 | *.seed 27 | *.pid.lock 28 | 29 | # Directory for instrumented libs generated by jscoverage/JSCover 30 | lib-cov 31 | 32 | # Coverage directory used by tools like istanbul 33 | coverage 34 | 35 | # nyc test coverage 36 | .nyc_output 37 | 38 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 39 | .grunt 40 | 41 | # Bower dependency directory (https://bower.io/) 42 | bower_components 43 | 44 | # node-waf configuration 45 | .lock-wscript 46 | 47 | # Compiled binary addons (https://nodejs.org/api/addons.html) 48 | build/Release 49 | 50 | # Packages 51 | packages/*/LICENSE 52 | 53 | # VSCode 54 | .vscode 55 | 56 | # Intellij idea 57 | *.iml 58 | .idea 59 | 60 | # Zend \ Eclipse 61 | /.settings/ 62 | /.buildpath 63 | /.project 64 | 65 | # OSX 66 | .DS_Store 67 | .AppleDouble 68 | .LSOverride 69 | 70 | # Files that might appear in the root of a volume 71 | .DocumentRevisions-V100 72 | .fseventsd 73 | .Spotlight-V100 74 | .TemporaryItems 75 | .Trashes 76 | .VolumeIcon.icns 77 | .com.apple.timemachine.donotpresent 78 | 79 | # Directories potentially created on remote AFP share 80 | .AppleDB 81 | .AppleDesktop 82 | Network Trash Folder 83 | Temporary Items 84 | .apdisk 85 | CHANGELOG.md 86 | 87 | TypeScript v1 declaration files 88 | typings/ 89 | 90 | # Optional npm cache directory 91 | .npm 92 | 93 | # Optional eslint cache 94 | .eslintcache 95 | 96 | # Optional REPL history 97 | .node_repl_history 98 | 99 | # Output of 'npm pack' 100 | *.tgz 101 | 102 | # Yarn Integrity file 103 | .yarn-integrity 104 | 105 | # dotenv environment variables file 106 | .env 107 | 108 | # parcel-bundler cache (https://parceljs.org/) 109 | .cache 110 | 111 | # next.js build output 112 | .next 113 | 114 | # nuxt.js build output 115 | .nuxt 116 | 117 | # Nuxt generate 118 | dist 119 | 120 | # vuepress build output 121 | .vuepress/dist 122 | 123 | # Serverless directories 124 | .serverless 125 | 126 | # Vim swap files 127 | *.swp 128 | 129 | # Robots Files 130 | robots.txt 131 | 132 | # Ignore Service Worker 133 | sw.* -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "useTabs": false, 3 | "printWidth": 120, 4 | "tabWidth": 4, 5 | "trailingComma": "es5", 6 | "jsxBracketSameLine": false, 7 | "bracketSpacing": true, 8 | "semi": true, 9 | "singleQuote": true, 10 | "htmlWhitespaceSensitivity": "ignore", 11 | "phpVersion": "7.1", 12 | "braceStyle": "1tbs", 13 | "endOfLine": "lf", 14 | "plugins": ["@prettier/plugin-php"] 15 | } 16 | -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM php:8.2-cli 2 | 3 | RUN apt-get update 4 | 5 | # dependencies 6 | RUN apt-get install -y ntp whois dnsutils ipcalc 7 | 8 | # composer 9 | RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer \ 10 | && chmod 755 /usr/bin/composer 11 | 12 | # pcntl 13 | RUN docker-php-ext-configure pcntl --enable-pcntl \ 14 | && docker-php-ext-install pcntl 15 | 16 | # pecl/ev 17 | RUN pecl install -o -f ev \ 18 | && docker-php-ext-enable ev 19 | 20 | # zip 21 | RUN apt-get install -y libzip-dev zlib1g-dev zip \ 22 | && docker-php-ext-install zip 23 | 24 | RUN rm -rf /var/lib/apt/lists/* 25 | 26 | # php.ini 27 | ADD .docker/php/docker-php.ini /usr/local/etc/php/conf.d/docker-php-enable-jit.ini 28 | ADD .docker/php/docker-php-disable-assertions.ini /usr/local/etc/php/conf.d/docker-php-disable-assertions.ini 29 | ADD .docker/php/docker-php-enable-jit.ini /usr/local/etc/php/conf.d/docker-php-enable-jit.ini 30 | 31 | RUN apt-get clean 32 | 33 | COPY ./src/ /app/src/ 34 | COPY ./config/ /app/config/ 35 | COPY ./storage/ /app/storage/ 36 | COPY ./public/ /app/public/ 37 | COPY ./composer.json /app/ 38 | COPY ./index.php /app/ 39 | 40 | WORKDIR /app 41 | 42 | RUN composer install --no-interaction 43 | 44 | EXPOSE 8080 45 | 46 | CMD [ "php", "./index.php" ] 47 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2015-2024 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "rekryt/iplist", 3 | "authors": [ 4 | { 5 | "name": "Rekryt", 6 | "homepage": "https://github.com/rekryt" 7 | } 8 | ], 9 | "require": { 10 | "opencck/server": "v1.0.0", 11 | "amphp/dns": "^2.2", 12 | "vlucas/phpdotenv": "^5.5" 13 | }, 14 | "autoload": { 15 | "files": [ 16 | "src/functions.php" 17 | ], 18 | "psr-4": { 19 | "OpenCCK\\": [ 20 | "src/" 21 | ] 22 | } 23 | }, 24 | "config": { 25 | "allow-plugins": { 26 | "php-http/discovery": true 27 | } 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /config/anime/amedia.site.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "amedia.site", 4 | "www.amedia.site" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "186.2.163.39" 15 | ], 16 | "ip6": [], 17 | "cidr4": [ 18 | "186.2.163.0/24" 19 | ], 20 | "cidr6": [], 21 | "external": { 22 | "domains": [], 23 | "ip4": [], 24 | "ip6": [], 25 | "cidr4": [], 26 | "cidr6": [] 27 | } 28 | } -------------------------------------------------------------------------------- /config/anime/anidub.pro.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "anidub.com", 4 | "anidub.pro", 5 | "tr.anidub.com", 6 | "www.anidub.com", 7 | "www.anidub.pro" 8 | ], 9 | "dns": [ 10 | "127.0.0.11:53", 11 | "77.88.8.88:53", 12 | "8.8.8.8:53", 13 | "1.1.1.1:53" 14 | ], 15 | "timeout": 3600, 16 | "ip4": [ 17 | "104.21.112.1", 18 | "104.21.16.1", 19 | "104.21.32.1", 20 | "104.21.48.1", 21 | "104.21.52.73", 22 | "104.21.62.203", 23 | "104.21.64.1", 24 | "104.21.80.1", 25 | "104.21.96.1", 26 | "172.67.139.60", 27 | "172.67.196.176", 28 | "188.114.96.1", 29 | "188.114.96.10", 30 | "188.114.96.3", 31 | "188.114.96.7", 32 | "188.114.96.9", 33 | "188.114.97.1", 34 | "188.114.97.10", 35 | "188.114.97.3", 36 | "188.114.97.7", 37 | "188.114.97.9", 38 | "91.195.240.94" 39 | ], 40 | "ip6": [ 41 | "2606:4700:3030::6815:1001", 42 | "2606:4700:3030::6815:2001", 43 | "2606:4700:3030::6815:3001", 44 | "2606:4700:3030::6815:3ecb", 45 | "2606:4700:3030::6815:4001", 46 | "2606:4700:3030::6815:5001", 47 | "2606:4700:3030::6815:6001", 48 | "2606:4700:3030::6815:7001", 49 | "2606:4700:3032::6815:3449", 50 | "2606:4700:3036::ac43:8b3c", 51 | "2606:4700:3036::ac43:c4b0", 52 | "2a06:98c1:3120::1", 53 | "2a06:98c1:3120::3", 54 | "2a06:98c1:3120::7", 55 | "2a06:98c1:3120::a", 56 | "2a06:98c1:3121::1", 57 | "2a06:98c1:3121::3", 58 | "2a06:98c1:3121::7", 59 | "2a06:98c1:3121::a" 60 | ], 61 | "cidr4": [ 62 | "104.16.0.0/12", 63 | "172.64.0.0/13", 64 | "188.114.96.0/22", 65 | "91.195.240.0/23" 66 | ], 67 | "cidr6": [ 68 | "2606:4700::/32", 69 | "2a06:98c1::/32" 70 | ], 71 | "external": { 72 | "domains": [], 73 | "ip4": [], 74 | "ip6": [], 75 | "cidr4": [], 76 | "cidr6": [] 77 | } 78 | } -------------------------------------------------------------------------------- /config/anime/anilibria.tv.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "anilibria.tv", 4 | "tr.libria.fun", 5 | "wstracker.online", 6 | "www.anilibria.tv" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.21.112.1", 17 | "104.21.16.1", 18 | "104.21.20.164", 19 | "104.21.235.97", 20 | "104.21.235.98", 21 | "104.21.32.1", 22 | "104.21.48.1", 23 | "104.21.64.1", 24 | "104.21.80.1", 25 | "104.21.96.1", 26 | "116.203.58.148", 27 | "13.229.114.252", 28 | "172.67.193.53", 29 | "18.141.199.30", 30 | "18.141.222.153", 31 | "54.169.253.230" 32 | ], 33 | "ip6": [ 34 | "2606:4700:3030::6815:1001", 35 | "2606:4700:3030::6815:2001", 36 | "2606:4700:3030::6815:3001", 37 | "2606:4700:3030::6815:4001", 38 | "2606:4700:3030::6815:5001", 39 | "2606:4700:3030::6815:6001", 40 | "2606:4700:3030::6815:7001", 41 | "2606:4700:3035::ac43:c135", 42 | "2606:4700:3037::6815:14a4", 43 | "2606:4700:3038::6815:eb61", 44 | "2606:4700:3038::6815:eb62", 45 | "2a01:4f8:1c1c:88bf::64" 46 | ], 47 | "cidr4": [ 48 | "104.16.0.0/12", 49 | "116.203.48.0/20", 50 | "13.224.0.0/12", 51 | "172.64.0.0/13", 52 | "18.128.0.0/9", 53 | "54.160.0.0/11" 54 | ], 55 | "cidr6": [ 56 | "2606:4700::/32", 57 | "2a01:4f8:1c1c::/48" 58 | ], 59 | "external": { 60 | "domains": [], 61 | "ip4": [], 62 | "ip6": [], 63 | "cidr4": [], 64 | "cidr6": [] 65 | } 66 | } -------------------------------------------------------------------------------- /config/anime/animego.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "animego.org", 4 | "wss.animego.org", 5 | "www.animego.org" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.83.227", 16 | "172.67.182.101", 17 | "185.178.208.138", 18 | "185.178.208.183", 19 | "49.13.90.58" 20 | ], 21 | "ip6": [ 22 | "2606:4700:3031::6815:53e3", 23 | "2606:4700:3036::ac43:b665" 24 | ], 25 | "cidr4": [ 26 | "104.16.0.0/12", 27 | "172.64.0.0/13", 28 | "185.178.208.0/22", 29 | "49.13.80.0/20" 30 | ], 31 | "cidr6": [ 32 | "2606:4700::/32" 33 | ], 34 | "external": { 35 | "domains": [], 36 | "ip4": [], 37 | "ip6": [], 38 | "cidr4": [], 39 | "cidr6": [] 40 | } 41 | } -------------------------------------------------------------------------------- /config/anime/bato.to.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "bato.to", 4 | "www.bato.to" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "185.181.60.49", 15 | "185.181.60.94", 16 | "185.181.61.44", 17 | "193.200.238.20", 18 | "94.102.49.153" 19 | ], 20 | "ip6": [], 21 | "cidr4": [ 22 | "185.181.60.0/22", 23 | "193.200.238.0/25", 24 | "94.102.49.0/24" 25 | ], 26 | "cidr6": [], 27 | "external": { 28 | "domains": [], 29 | "ip4": [], 30 | "ip6": [], 31 | "cidr4": [], 32 | "cidr6": [] 33 | } 34 | } -------------------------------------------------------------------------------- /config/anime/kara.su.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "kara.su", 4 | "www.kara.su" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "5.35.91.158", 15 | "87.236.16.19" 16 | ], 17 | "ip6": [], 18 | "cidr4": [ 19 | "5.35.88.0/21", 20 | "87.236.16.0/24" 21 | ], 22 | "cidr6": [], 23 | "external": { 24 | "domains": [], 25 | "ip4": [], 26 | "ip6": [], 27 | "cidr4": [], 28 | "cidr6": [] 29 | } 30 | } -------------------------------------------------------------------------------- /config/anime/kodik.info.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "_8433._https.wt.kodik.biz", 4 | "_8436._https.wt.kodik.biz", 5 | "cloud.kodik-cdn.com", 6 | "cloud.kodik-storage.com", 7 | "dysprosium.cloud.kodik-storage.com", 8 | "hronos.cloud.kodik-storage.com", 9 | "kodik-add.com", 10 | "kodik.info", 11 | "kodikapi.com", 12 | "kodikdb.com", 13 | "osmium.cloud.kodik-storage.com", 14 | "protactinium.cloud.kodik-storage.com", 15 | "pulse.cloud.kodik-cdn.com", 16 | "red.cloud.kodik-storage.com", 17 | "saturn.cloud.kodik-storage.com", 18 | "scorpius.cloud.kodik-storage.com", 19 | "st-5cva8vttppvjafpc7jvj.kodik.biz", 20 | "venus.cloud.kodik-storage.com", 21 | "wt.kodik.biz" 22 | ], 23 | "dns": [ 24 | "127.0.0.11:53", 25 | "77.88.8.88:53", 26 | "8.8.8.8:53", 27 | "1.1.1.1:53" 28 | ], 29 | "timeout": 3600, 30 | "ip4": [ 31 | "135.181.118.173", 32 | "176.58.38.155", 33 | "176.58.38.51", 34 | "176.58.39.99", 35 | "176.58.41.163", 36 | "176.58.45.195", 37 | "176.58.45.207", 38 | "176.58.47.195", 39 | "176.58.48.48", 40 | "178.132.0.165", 41 | "185.184.195.148", 42 | "185.190.189.239", 43 | "185.80.234.195", 44 | "190.115.16.16", 45 | "212.124.96.15", 46 | "5.45.64.58" 47 | ], 48 | "ip6": [], 49 | "cidr4": [ 50 | "135.181.0.0/16", 51 | "176.58.38.0/23", 52 | "176.58.41.0/24", 53 | "176.58.45.0/24", 54 | "176.58.47.0/24", 55 | "176.58.48.0/23", 56 | "178.132.0.0/24", 57 | "185.184.195.0/24", 58 | "185.190.189.0/24", 59 | "185.80.234.0/24", 60 | "190.115.16.0/24", 61 | "212.124.96.0/24", 62 | "5.45.64.0/21", 63 | "5.45.72.0/22" 64 | ], 65 | "cidr6": [], 66 | "external": { 67 | "domains": [], 68 | "ip4": [], 69 | "ip6": [], 70 | "cidr4": [], 71 | "cidr6": [] 72 | } 73 | } -------------------------------------------------------------------------------- /config/anime/mangahub.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "mangahub.ru", 4 | "www.mangahub.ru" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.9.209", 15 | "172.67.131.9", 16 | "188.114.96.1", 17 | "188.114.96.10", 18 | "188.114.96.12", 19 | "188.114.96.3", 20 | "188.114.96.7", 21 | "188.114.96.8", 22 | "188.114.96.9", 23 | "188.114.97.1", 24 | "188.114.97.10", 25 | "188.114.97.12", 26 | "188.114.97.3", 27 | "188.114.97.7", 28 | "188.114.97.8", 29 | "188.114.97.9" 30 | ], 31 | "ip6": [ 32 | "2606:4700:3030::6815:9d1", 33 | "2606:4700:3032::ac43:8309", 34 | "2a06:98c1:3120::", 35 | "2a06:98c1:3120::1", 36 | "2a06:98c1:3120::3", 37 | "2a06:98c1:3120::7", 38 | "2a06:98c1:3120::8", 39 | "2a06:98c1:3120::9", 40 | "2a06:98c1:3120::a", 41 | "2a06:98c1:3120::c", 42 | "2a06:98c1:3121::", 43 | "2a06:98c1:3121::1", 44 | "2a06:98c1:3121::3", 45 | "2a06:98c1:3121::7", 46 | "2a06:98c1:3121::8", 47 | "2a06:98c1:3121::9", 48 | "2a06:98c1:3121::a", 49 | "2a06:98c1:3121::c" 50 | ], 51 | "cidr4": [ 52 | "104.16.0.0/12", 53 | "172.64.0.0/13", 54 | "188.114.96.0/22" 55 | ], 56 | "cidr6": [ 57 | "2606:4700::/32", 58 | "2a06:98c1::/32" 59 | ], 60 | "external": { 61 | "domains": [], 62 | "ip4": [], 63 | "ip6": [], 64 | "cidr4": [], 65 | "cidr6": [] 66 | } 67 | } -------------------------------------------------------------------------------- /config/anime/mangapark.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "mangapark.net", 4 | "www.mangapark.net" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.95.189", 15 | "172.67.147.24" 16 | ], 17 | "ip6": [ 18 | "2606:4700:3031::ac43:9318", 19 | "2606:4700:3032::6815:5fbd" 20 | ], 21 | "cidr4": [ 22 | "104.16.0.0/12", 23 | "172.64.0.0/13" 24 | ], 25 | "cidr6": [ 26 | "2606:4700::/32" 27 | ], 28 | "external": { 29 | "domains": [], 30 | "ip4": [], 31 | "ip6": [], 32 | "cidr4": [], 33 | "cidr6": [] 34 | } 35 | } -------------------------------------------------------------------------------- /config/anime/nyaa.land.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "nyaa.land", 4 | "www.nyaa.land" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.82.183", 15 | "172.67.161.114", 16 | "188.114.96.1", 17 | "188.114.96.10", 18 | "188.114.96.12", 19 | "188.114.96.3", 20 | "188.114.96.7", 21 | "188.114.96.8", 22 | "188.114.96.9", 23 | "188.114.97.1", 24 | "188.114.97.10", 25 | "188.114.97.12", 26 | "188.114.97.3", 27 | "188.114.97.7", 28 | "188.114.97.8", 29 | "188.114.97.9" 30 | ], 31 | "ip6": [ 32 | "2606:4700:3036::ac43:a172", 33 | "2606:4700:3037::6815:52b7", 34 | "2a06:98c1:3120::", 35 | "2a06:98c1:3120::1", 36 | "2a06:98c1:3120::3", 37 | "2a06:98c1:3120::7", 38 | "2a06:98c1:3120::8", 39 | "2a06:98c1:3120::9", 40 | "2a06:98c1:3120::a", 41 | "2a06:98c1:3120::c", 42 | "2a06:98c1:3121::", 43 | "2a06:98c1:3121::1", 44 | "2a06:98c1:3121::3", 45 | "2a06:98c1:3121::7", 46 | "2a06:98c1:3121::8", 47 | "2a06:98c1:3121::9", 48 | "2a06:98c1:3121::a", 49 | "2a06:98c1:3121::c" 50 | ], 51 | "cidr4": [ 52 | "104.16.0.0/12", 53 | "172.64.0.0/13", 54 | "188.114.96.0/22" 55 | ], 56 | "cidr6": [ 57 | "2606:4700::/32", 58 | "2a06:98c1::/32" 59 | ], 60 | "external": { 61 | "domains": [], 62 | "ip4": [], 63 | "ip6": [], 64 | "cidr4": [], 65 | "cidr6": [] 66 | } 67 | } -------------------------------------------------------------------------------- /config/anime/nyaa.si.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "nyaa.si", 4 | "nyaa.tracker.wf", 5 | "www.nyaa.si" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "186.2.163.20", 16 | "195.16.73.95" 17 | ], 18 | "ip6": [], 19 | "cidr4": [ 20 | "186.2.163.0/24", 21 | "195.16.73.0/24" 22 | ], 23 | "cidr6": [], 24 | "external": { 25 | "domains": [], 26 | "ip4": [], 27 | "ip6": [], 28 | "cidr4": [], 29 | "cidr6": [] 30 | } 31 | } -------------------------------------------------------------------------------- /config/anime/yummyanime.tv.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "555-173-403gv.video-ik-ok-ii.xyz", 4 | "bf3-204-206gv.video-ik-ok-ii.xyz", 5 | "ce1-048-404gv.video-ik-ok-ii.xyz", 6 | "ec3-9e8-200gv.video-ik-ok-ii.xyz", 7 | "www.yummyanime.tv", 8 | "yummyanime.tv" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "104.26.10.24", 19 | "104.26.11.24", 20 | "172.67.69.155", 21 | "188.114.98.229", 22 | "188.114.99.229", 23 | "45.95.201.229", 24 | "45.95.201.230", 25 | "50.7.236.154", 26 | "67.159.10.2" 27 | ], 28 | "ip6": [ 29 | "2606:4700:20::681a:a18", 30 | "2606:4700:20::681a:b18", 31 | "2606:4700:20::ac43:459b", 32 | "2a06:98c1:3122:e000::5", 33 | "2a06:98c1:3123:e000::5" 34 | ], 35 | "cidr4": [ 36 | "104.16.0.0/12", 37 | "172.64.0.0/13", 38 | "188.114.96.0/22", 39 | "45.95.201.0/24", 40 | "50.7.0.0/16", 41 | "67.159.0.0/18" 42 | ], 43 | "cidr6": [ 44 | "2606:4700::/32", 45 | "2a06:98c1::/32" 46 | ], 47 | "external": { 48 | "domains": [], 49 | "ip4": [], 50 | "ip6": [], 51 | "cidr4": [], 52 | "cidr6": [] 53 | } 54 | } -------------------------------------------------------------------------------- /config/art/danbooru.donmai.us.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "danbooru.donmai.us", 4 | "www.danbooru.donmai.us" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.26.10.39", 15 | "104.26.11.39", 16 | "172.67.70.99", 17 | "188.114.98.224", 18 | "188.114.98.228", 19 | "188.114.98.229", 20 | "188.114.98.233", 21 | "188.114.99.224", 22 | "188.114.99.228", 23 | "188.114.99.229", 24 | "188.114.99.233" 25 | ], 26 | "ip6": [ 27 | "2606:4700:20::681a:a27", 28 | "2606:4700:20::681a:b27", 29 | "2606:4700:20::ac43:4663", 30 | "2a06:98c1:3122:e000::", 31 | "2a06:98c1:3122:e000::4", 32 | "2a06:98c1:3122:e000::5", 33 | "2a06:98c1:3122:e000::9", 34 | "2a06:98c1:3123:e000::", 35 | "2a06:98c1:3123:e000::4", 36 | "2a06:98c1:3123:e000::5", 37 | "2a06:98c1:3123:e000::9" 38 | ], 39 | "cidr4": [ 40 | "104.16.0.0/12", 41 | "172.64.0.0/13", 42 | "188.114.96.0/22" 43 | ], 44 | "cidr6": [ 45 | "2606:4700::/32", 46 | "2a06:98c1::/32" 47 | ], 48 | "external": { 49 | "domains": [], 50 | "ip4": [], 51 | "ip6": [], 52 | "cidr4": [], 53 | "cidr6": [] 54 | } 55 | } -------------------------------------------------------------------------------- /config/art/ficbook.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "ficbook.net", 4 | "www.ficbook.net" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.20.38.242", 15 | "104.20.39.242", 16 | "172.67.17.216", 17 | "185.206.165.102" 18 | ], 19 | "ip6": [], 20 | "cidr4": [ 21 | "104.16.0.0/12", 22 | "172.64.0.0/13", 23 | "185.206.164.0/22" 24 | ], 25 | "cidr6": [], 26 | "external": { 27 | "domains": [], 28 | "ip4": [], 29 | "ip6": [], 30 | "cidr4": [], 31 | "cidr6": [] 32 | } 33 | } -------------------------------------------------------------------------------- /config/art/gelbooru.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "gelbooru.com", 4 | "www.gelbooru.com" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.234.102", 15 | "104.21.234.103", 16 | "104.21.40.249", 17 | "104.26.6.195", 18 | "104.26.7.195", 19 | "172.67.158.144", 20 | "172.67.73.83", 21 | "188.114.96.10", 22 | "188.114.96.7", 23 | "188.114.96.8", 24 | "188.114.97.10", 25 | "188.114.97.7", 26 | "188.114.97.8", 27 | "188.114.98.224", 28 | "188.114.98.228", 29 | "188.114.99.224", 30 | "188.114.99.228" 31 | ], 32 | "ip6": [ 33 | "2606:4700:20::681a:6c3", 34 | "2606:4700:20::681a:7c3", 35 | "2606:4700:20::ac43:4953", 36 | "2606:4700:3036::6815:28f9", 37 | "2606:4700:3036::ac43:9e90", 38 | "2606:4700:3038::6815:ea66", 39 | "2606:4700:3038::6815:ea67", 40 | "2a06:98c1:3120::7", 41 | "2a06:98c1:3120::8", 42 | "2a06:98c1:3120::a", 43 | "2a06:98c1:3121::7", 44 | "2a06:98c1:3121::8", 45 | "2a06:98c1:3121::a", 46 | "2a06:98c1:3122:e000::", 47 | "2a06:98c1:3122:e000::4", 48 | "2a06:98c1:3123:e000::", 49 | "2a06:98c1:3123:e000::4" 50 | ], 51 | "cidr4": [ 52 | "104.16.0.0/12", 53 | "172.64.0.0/13", 54 | "188.114.96.0/22" 55 | ], 56 | "cidr6": [ 57 | "2606:4700::/32", 58 | "2a06:98c1::/32" 59 | ], 60 | "external": { 61 | "domains": [], 62 | "ip4": [], 63 | "ip6": [], 64 | "cidr4": [], 65 | "cidr6": [] 66 | } 67 | } -------------------------------------------------------------------------------- /config/art/infinitenovel.eu.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "infinitenovel.eu", 4 | "www.infinitenovel.eu" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "89.221.220.219" 15 | ], 16 | "ip6": [ 17 | "2a02:2b88:1:4::16" 18 | ], 19 | "cidr4": [ 20 | "89.221.208.0/20" 21 | ], 22 | "cidr6": [ 23 | "2a02:2b88:1::/48" 24 | ], 25 | "external": { 26 | "domains": [], 27 | "ip4": [], 28 | "ip6": [], 29 | "cidr4": [], 30 | "cidr6": [] 31 | } 32 | } -------------------------------------------------------------------------------- /config/art/rulate.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "rulate.ru", 4 | "tl.rulate.ru", 5 | "www.rulate.ru" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.33.28", 16 | "172.67.140.187", 17 | "185.178.208.176", 18 | "188.114.96.10", 19 | "188.114.96.3", 20 | "188.114.96.7", 21 | "188.114.96.9", 22 | "188.114.97.10", 23 | "188.114.97.3", 24 | "188.114.97.7", 25 | "188.114.97.9", 26 | "190.115.31.90", 27 | "84.201.182.120" 28 | ], 29 | "ip6": [ 30 | "2606:4700:3030::ac43:8cbb", 31 | "2606:4700:3032::6815:211c", 32 | "2a06:98c1:3120::", 33 | "2a06:98c1:3120::3", 34 | "2a06:98c1:3120::7", 35 | "2a06:98c1:3120::9", 36 | "2a06:98c1:3120::a", 37 | "2a06:98c1:3121::", 38 | "2a06:98c1:3121::3", 39 | "2a06:98c1:3121::7", 40 | "2a06:98c1:3121::9", 41 | "2a06:98c1:3121::a" 42 | ], 43 | "cidr4": [ 44 | "104.16.0.0/12", 45 | "172.64.0.0/13", 46 | "185.178.208.0/22", 47 | "188.114.96.0/22", 48 | "190.115.31.0/24", 49 | "84.201.128.0/18" 50 | ], 51 | "cidr6": [ 52 | "2606:4700::/32", 53 | "2a06:98c1::/32" 54 | ], 55 | "external": { 56 | "domains": [], 57 | "ip4": [], 58 | "ip6": [], 59 | "cidr4": [], 60 | "cidr6": [] 61 | } 62 | } -------------------------------------------------------------------------------- /config/art/vndb.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "vndb.org", 4 | "www.vndb.org" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "185.189.181.140", 15 | "94.23.61.170" 16 | ], 17 | "ip6": [ 18 | "2001:41d0:2:3eaa::1", 19 | "2a0b:f380:3e8::28c" 20 | ], 21 | "cidr4": [ 22 | "185.189.181.0/24", 23 | "94.23.0.0/16" 24 | ], 25 | "cidr6": [ 26 | "2001:41d0::/44", 27 | "2a0b:f380:3e8::/48" 28 | ], 29 | "external": { 30 | "domains": [], 31 | "ip4": [], 32 | "ip6": [], 33 | "cidr4": [], 34 | "cidr6": [] 35 | } 36 | } -------------------------------------------------------------------------------- /config/art/younettranslate.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "www.younettranslate.com", 4 | "younettranslate.com" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "100.29.24.1", 15 | "3.222.75.253", 16 | "35.173.156.155", 17 | "44.193.132.243", 18 | "44.194.53.121", 19 | "44.210.0.117", 20 | "44.216.116.224", 21 | "52.86.0.87", 22 | "69.16.230.165", 23 | "75.2.37.224", 24 | "91.228.152.66" 25 | ], 26 | "ip6": [], 27 | "cidr4": [ 28 | "100.24.0.0/13", 29 | "3.128.0.0/9", 30 | "35.160.0.0/12", 31 | "44.192.0.0/10", 32 | "52.84.0.0/14", 33 | "69.16.192.0/18", 34 | "75.2.0.0/17", 35 | "91.228.152.0/22" 36 | ], 37 | "cidr6": [], 38 | "external": { 39 | "domains": [], 40 | "ip4": [], 41 | "ip6": [], 42 | "cidr4": [], 43 | "cidr6": [] 44 | } 45 | } -------------------------------------------------------------------------------- /config/casino/7k.casino.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "7k.casino", 4 | "www.7k.casino" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "14.102.228.26" 15 | ], 16 | "ip6": [ 17 | "2a07:180::26" 18 | ], 19 | "cidr4": [ 20 | "14.102.228.0/23" 21 | ], 22 | "cidr6": [ 23 | "2a07:180::/32" 24 | ], 25 | "external": { 26 | "domains": [], 27 | "ip4": [], 28 | "ip6": [], 29 | "cidr4": [], 30 | "cidr6": [] 31 | } 32 | } -------------------------------------------------------------------------------- /config/casino/combotech.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "aufcasino.com", 4 | "casinohype.com", 5 | "cryptobosscasino.com", 6 | "static-live.hacksawgaming.com", 7 | "unlimcasino.com", 8 | "www.aufcasino.com", 9 | "www.casinohype.com", 10 | "www.cryptobosscasino.com", 11 | "www.unlimcasino.com" 12 | ], 13 | "dns": [ 14 | "127.0.0.11:53", 15 | "77.88.8.88:53", 16 | "8.8.8.8:53", 17 | "1.1.1.1:53" 18 | ], 19 | "timeout": 3600, 20 | "ip4": [ 21 | "104.18.42.52", 22 | "104.18.43.186", 23 | "104.22.26.197", 24 | "104.22.27.197", 25 | "104.22.30.217", 26 | "104.22.31.217", 27 | "104.22.72.202", 28 | "104.22.73.202", 29 | "172.64.144.70", 30 | "172.64.145.204", 31 | "172.66.40.138", 32 | "172.66.40.229", 33 | "172.66.41.27", 34 | "172.66.42.229", 35 | "172.66.43.118", 36 | "172.66.43.27", 37 | "172.67.24.96", 38 | "172.67.43.125", 39 | "172.67.5.53", 40 | "188.114.98.224", 41 | "188.114.98.228", 42 | "188.114.98.229", 43 | "188.114.98.232", 44 | "188.114.98.236", 45 | "188.114.99.224", 46 | "188.114.99.228", 47 | "188.114.99.229", 48 | "188.114.99.232", 49 | "188.114.99.236" 50 | ], 51 | "ip6": [ 52 | "2606:4700:10::6816:1ac5", 53 | "2606:4700:10::6816:1bc5", 54 | "2606:4700:10::6816:1ed9", 55 | "2606:4700:10::6816:1fd9", 56 | "2606:4700:10::6816:48ca", 57 | "2606:4700:10::6816:49ca", 58 | "2606:4700:10::ac43:1860", 59 | "2606:4700:10::ac43:2b7d", 60 | "2606:4700:10::ac43:535", 61 | "2606:4700:3108::ac42:288a", 62 | "2606:4700:3108::ac42:28e5", 63 | "2606:4700:3108::ac42:291b", 64 | "2606:4700:3108::ac42:2ae5", 65 | "2606:4700:3108::ac42:2b1b", 66 | "2606:4700:3108::ac42:2b76", 67 | "2606:4700:4400::6812:2a34", 68 | "2606:4700:4400::ac40:91cc", 69 | "2a06:98c1:3122:e000::", 70 | "2a06:98c1:3122:e000::4", 71 | "2a06:98c1:3122:e000::5", 72 | "2a06:98c1:3122:e000::8", 73 | "2a06:98c1:3122:e000::c", 74 | "2a06:98c1:3123:e000::", 75 | "2a06:98c1:3123:e000::4", 76 | "2a06:98c1:3123:e000::5", 77 | "2a06:98c1:3123:e000::8", 78 | "2a06:98c1:3123:e000::c" 79 | ], 80 | "cidr4": [ 81 | "104.16.0.0/12", 82 | "172.64.0.0/13", 83 | "188.114.96.0/22" 84 | ], 85 | "cidr6": [ 86 | "2606:4700::/32", 87 | "2a06:98c1::/32" 88 | ], 89 | "external": { 90 | "domains": [], 91 | "ip4": [], 92 | "ip6": [], 93 | "cidr4": [], 94 | "cidr6": [] 95 | } 96 | } -------------------------------------------------------------------------------- /config/casino/vavada.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "static.vavada.net", 4 | "vavada-cdn.net", 5 | "vavada.com", 6 | "www.vavada.com" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.21.8.240", 17 | "109.61.41.62", 18 | "151.248.104.91", 19 | "172.67.158.32", 20 | "185.104.211.35", 21 | "185.188.144.62", 22 | "185.249.133.4", 23 | "185.76.48.122", 24 | "193.169.251.62", 25 | "202.78.162.61", 26 | "31.184.207.62", 27 | "37.239.145.14", 28 | "41.226.6.202", 29 | "45.82.100.62", 30 | "45.82.101.62", 31 | "5.101.217.4", 32 | "5.101.219.14", 33 | "5.188.94.5", 34 | "89.223.90.5", 35 | "92.223.124.62", 36 | "92.223.50.33", 37 | "92.223.55.62", 38 | "92.223.84.79", 39 | "92.223.84.84", 40 | "92.223.97.97", 41 | "92.38.145.145", 42 | "93.123.11.62", 43 | "93.123.17.254", 44 | "95.85.69.62" 45 | ], 46 | "ip6": [ 47 | "2606:4700:3030::ac43:9e20", 48 | "2606:4700:3034::6815:8f0", 49 | "2a03:90c0:11:2801::254", 50 | "2a03:90c0:231:2801::61", 51 | "2a03:90c0:2f1:2801::4", 52 | "2a03:90c0:371:2801::14", 53 | "2a03:90c0:41:2801::62", 54 | "2a03:90c0:451:2801::62", 55 | "2a03:90c0:460:2801::62", 56 | "2a03:90c0:470:2801::62", 57 | "2a03:90c0:9994::9994", 58 | "2a03:90c0:9996::9996", 59 | "2a03:90c0:9997::9997" 60 | ], 61 | "cidr4": [ 62 | "104.16.0.0/12", 63 | "109.61.41.0/24", 64 | "151.0.0.0/8", 65 | "172.64.0.0/13", 66 | "185.104.210.0/23", 67 | "185.188.144.0/24", 68 | "185.249.133.0/24", 69 | "185.76.48.0/22", 70 | "193.169.251.0/24", 71 | "202.78.160.0/20", 72 | "31.184.207.0/24", 73 | "37.239.0.0/16", 74 | "41.0.0.0/8", 75 | "45.82.100.0/24", 76 | "45.82.101.0/24", 77 | "5.101.217.0/24", 78 | "5.101.219.0/24", 79 | "5.188.94.0/24", 80 | "89.223.90.0/24", 81 | "92.223.124.0/24", 82 | "92.223.50.0/23", 83 | "92.223.55.0/24", 84 | "92.223.84.0/24", 85 | "92.223.96.0/22", 86 | "92.38.145.0/24", 87 | "93.123.11.0/24", 88 | "93.123.17.0/24", 89 | "95.85.69.0/24" 90 | ], 91 | "cidr6": [ 92 | "2606:4700::/32", 93 | "2a03:90c0:10::/44", 94 | "2a03:90c0:40::/44", 95 | "2a03:90c0:9997::/48", 96 | "2a03:90c0::/32" 97 | ], 98 | "external": { 99 | "domains": [], 100 | "ip4": [], 101 | "ip6": [], 102 | "cidr4": [], 103 | "cidr6": [] 104 | } 105 | } -------------------------------------------------------------------------------- /config/education/mrakopedia.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "mrakopedia.net", 4 | "www.mrakopedia.net" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.7.55", 15 | "172.67.135.200", 16 | "188.114.96.10", 17 | "188.114.96.12", 18 | "188.114.96.3", 19 | "188.114.96.7", 20 | "188.114.96.8", 21 | "188.114.97.10", 22 | "188.114.97.12", 23 | "188.114.97.3", 24 | "188.114.97.7", 25 | "188.114.97.8" 26 | ], 27 | "ip6": [ 28 | "2606:4700:3030::ac43:87c8", 29 | "2606:4700:3035::6815:737", 30 | "2a06:98c1:3120::", 31 | "2a06:98c1:3120::3", 32 | "2a06:98c1:3120::7", 33 | "2a06:98c1:3120::8", 34 | "2a06:98c1:3120::9", 35 | "2a06:98c1:3120::a", 36 | "2a06:98c1:3120::c", 37 | "2a06:98c1:3121::", 38 | "2a06:98c1:3121::3", 39 | "2a06:98c1:3121::7", 40 | "2a06:98c1:3121::8", 41 | "2a06:98c1:3121::9", 42 | "2a06:98c1:3121::a", 43 | "2a06:98c1:3121::c" 44 | ], 45 | "cidr4": [ 46 | "104.16.0.0/12", 47 | "172.64.0.0/13", 48 | "188.114.96.0/22" 49 | ], 50 | "cidr6": [ 51 | "2606:4700::/32", 52 | "2a06:98c1::/32" 53 | ], 54 | "external": { 55 | "domains": [], 56 | "ip4": [], 57 | "ip6": [], 58 | "cidr4": [], 59 | "cidr6": [] 60 | } 61 | } -------------------------------------------------------------------------------- /config/education/refactoring.guru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "feedback.refactoring.guru", 4 | "refactoring.guru", 5 | "www.refactoring.guru" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.25.25", 16 | "104.21.65.143", 17 | "172.67.163.232", 18 | "172.67.222.11" 19 | ], 20 | "ip6": [ 21 | "2606:4700:3031::6815:1919", 22 | "2606:4700:3032::6815:418f", 23 | "2606:4700:3032::ac43:a3e8", 24 | "2606:4700:3037::ac43:de0b" 25 | ], 26 | "cidr4": [ 27 | "104.16.0.0/12", 28 | "172.64.0.0/13" 29 | ], 30 | "cidr6": [ 31 | "2606:4700::/32" 32 | ], 33 | "external": { 34 | "domains": [], 35 | "ip4": [], 36 | "ip6": [], 37 | "cidr4": [], 38 | "cidr6": [] 39 | } 40 | } -------------------------------------------------------------------------------- /config/education/wikiart.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "uploads.wikiart.org", 4 | "uploads1.wikiart.org", 5 | "uploads2.wikiart.org", 6 | "uploads3.wikiart.org", 7 | "uploads4.wikiart.org", 8 | "uploads5.wikiart.org", 9 | "uploads6.wikiart.org", 10 | "uploads7.wikiart.org", 11 | "uploads8.wikiart.org", 12 | "wikiart.org", 13 | "www.wikiart.org" 14 | ], 15 | "dns": [ 16 | "127.0.0.11:53", 17 | "77.88.8.88:53", 18 | "8.8.8.8:53", 19 | "1.1.1.1:53" 20 | ], 21 | "timeout": 3600, 22 | "ip4": [ 23 | "104.21.31.237", 24 | "172.67.180.202", 25 | "188.114.96.1", 26 | "188.114.96.10", 27 | "188.114.96.11", 28 | "188.114.96.12", 29 | "188.114.96.3", 30 | "188.114.96.7", 31 | "188.114.96.8", 32 | "188.114.96.9", 33 | "188.114.97.1", 34 | "188.114.97.10", 35 | "188.114.97.11", 36 | "188.114.97.12", 37 | "188.114.97.3", 38 | "188.114.97.7", 39 | "188.114.97.8", 40 | "188.114.97.9" 41 | ], 42 | "ip6": [ 43 | "2606:4700:3032::ac43:b4ca", 44 | "2606:4700:3033::6815:1fed", 45 | "2a06:98c1:3120::", 46 | "2a06:98c1:3120::1", 47 | "2a06:98c1:3120::3", 48 | "2a06:98c1:3120::7", 49 | "2a06:98c1:3120::8", 50 | "2a06:98c1:3120::9", 51 | "2a06:98c1:3120::a", 52 | "2a06:98c1:3120::b", 53 | "2a06:98c1:3120::c", 54 | "2a06:98c1:3121::", 55 | "2a06:98c1:3121::1", 56 | "2a06:98c1:3121::3", 57 | "2a06:98c1:3121::7", 58 | "2a06:98c1:3121::8", 59 | "2a06:98c1:3121::9", 60 | "2a06:98c1:3121::a", 61 | "2a06:98c1:3121::b", 62 | "2a06:98c1:3121::c" 63 | ], 64 | "cidr4": [ 65 | "104.16.0.0/12", 66 | "172.64.0.0/13", 67 | "188.114.96.0/22" 68 | ], 69 | "cidr6": [ 70 | "2606:4700::/32", 71 | "2a06:98c1::/32" 72 | ], 73 | "external": { 74 | "domains": [], 75 | "ip4": [], 76 | "ip6": [], 77 | "cidr4": [], 78 | "cidr6": [] 79 | } 80 | } -------------------------------------------------------------------------------- /config/education/znanija.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "www.znanija.com", 4 | "znanija.com" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.17.192.8", 15 | "104.17.193.8" 16 | ], 17 | "ip6": [], 18 | "cidr4": [ 19 | "104.16.0.0/12" 20 | ], 21 | "cidr6": [], 22 | "external": { 23 | "domains": [], 24 | "ip4": [], 25 | "ip6": [], 26 | "cidr4": [], 27 | "cidr6": [] 28 | } 29 | } -------------------------------------------------------------------------------- /config/games/chess.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "assets-themes.chess.com", 4 | "chess.com", 5 | "images.chesscomfiles.com", 6 | "www.chess.com" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.17.126.52", 17 | "104.17.165.82", 18 | "104.18.137.67", 19 | "104.18.138.67", 20 | "104.18.139.67", 21 | "104.18.140.67", 22 | "104.18.141.67", 23 | "34.117.44.137" 24 | ], 25 | "ip6": [], 26 | "cidr4": [ 27 | "104.16.0.0/12", 28 | "34.64.0.0/10" 29 | ], 30 | "cidr6": [], 31 | "external": { 32 | "domains": [], 33 | "ip4": [], 34 | "ip6": [], 35 | "cidr4": [], 36 | "cidr6": [] 37 | } 38 | } -------------------------------------------------------------------------------- /config/jetbrains/jetbrains@cdn.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "178.238.223.35.bc.googleusercontent.com", 4 | "arn11s04-in-f3.1e100.net", 5 | "arn11s11-in-f14.1e100.net", 6 | "c2-13-53-167-35.eu-north-1.compute.amazonaws.com", 7 | "cdn-185-199-109-133.github.com", 8 | "cdn-185-199-111-133.github.com", 9 | "ec2-108-128-226-255.eu-west-1.compute.amazonaws.com", 10 | "ec2-13-48-240-20.eu-north-1.compute.amazonaws.com", 11 | "ec2-13-53-167-35.eu-north-1.compute.amazonaws.com", 12 | "lb-140-82-121-3-fra.github.com", 13 | "lb-140-82-121-4-fra.github.com", 14 | "server-108-156-22-18.hel51.r.cloudfront.net", 15 | "server-108-156-22-30.hel51.r.cloudfront.net", 16 | "server-108-156-22-60.hel51.r.cloudfront.net", 17 | "server-108-156-22-76.hel51.r.cloudfront.net", 18 | "server-52-85-49-108.hel50.r.cloudfront.net", 19 | "server-52-85-49-113.hel50.r.cloudfront.net", 20 | "server-52-85-49-118.hel50.r.cloudfront.net", 21 | "server-52-85-49-126.hel50.r.cloudfront.net", 22 | "server-52-85-49-30.hel50.r.cloudfront.net", 23 | "server-52-85-49-42.hel50.r.cloudfront.net", 24 | "server-52-85-49-85.hel50.r.cloudfront.net", 25 | "vps-16ca9f61.vps.ovh.net", 26 | "vps-d9971686.vps.ovh.net" 27 | ], 28 | "dns": [ 29 | "127.0.0.11:53", 30 | "77.88.8.88:53", 31 | "8.8.8.8:53", 32 | "1.1.1.1:53" 33 | ], 34 | "timeout": 3600, 35 | "ip4": [ 36 | "104.16.2.35", 37 | "104.16.25.34", 38 | "104.16.3.35", 39 | "104.16.30.34", 40 | "104.21.12.181", 41 | "108.128.226.255", 42 | "108.156.22.18", 43 | "108.156.22.30", 44 | "108.156.22.60", 45 | "108.156.22.76", 46 | "13.48.240.20", 47 | "13.53.167.35", 48 | "140.82.121.3", 49 | "140.82.121.4", 50 | "142.250.74.142", 51 | "146.59.12.218", 52 | "185.166.143.4", 53 | "185.166.143.48", 54 | "185.166.143.5", 55 | "185.166.143.50", 56 | "185.199.109.133", 57 | "185.199.111.133", 58 | "20.42.128.105", 59 | "216.58.207.195", 60 | "35.223.238.178", 61 | "5.196.224.108", 62 | "52.85.49.108", 63 | "52.85.49.113", 64 | "52.85.49.118", 65 | "52.85.49.126", 66 | "52.85.49.30", 67 | "52.85.49.42", 68 | "52.85.49.85" 69 | ], 70 | "ip6": [ 71 | "2001:41d0:52:600::8cf", 72 | "2001:41d0:601:1100::4b27", 73 | "2a00:1450:400f:804::e", 74 | "2a00:1450:400f:80b::3" 75 | ], 76 | "cidr4": [ 77 | "104.16.0.0/12", 78 | "108.128.0.0/13", 79 | "108.156.0.0/14", 80 | "13.48.0.0/13", 81 | "140.82.112.0/20", 82 | "142.250.0.0/15", 83 | "146.59.0.0/16", 84 | "185.166.143.0/24", 85 | "185.199.108.0/22", 86 | "20.40.0.0/13", 87 | "216.58.192.0/19", 88 | "35.208.0.0/12", 89 | "5.196.0.0/16", 90 | "52.84.0.0/14" 91 | ], 92 | "cidr6": [ 93 | "2001:41d0:50::/44", 94 | "2001:41d0:50::/64", 95 | "2001:41d0:601:1100::/64", 96 | "2a00:1450:4000::/37", 97 | "2a00:1450:4000::/64" 98 | ], 99 | "external": { 100 | "domains": [], 101 | "ip4": [], 102 | "ip6": [], 103 | "cidr4": [], 104 | "cidr6": [] 105 | } 106 | } -------------------------------------------------------------------------------- /config/messengers/messenger.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "messenger.com", 4 | "scontent.whatsapp.net", 5 | "static.whatsapp.net" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "157.240.0.13", 16 | "157.240.0.60", 17 | "157.240.17.17", 18 | "157.240.17.60", 19 | "157.240.195.17", 20 | "157.240.195.56", 21 | "157.240.196.17", 22 | "157.240.196.60", 23 | "157.240.201.17", 24 | "157.240.201.60", 25 | "157.240.203.60", 26 | "157.240.205.1", 27 | "157.240.205.60", 28 | "157.240.224.12", 29 | "157.240.224.60", 30 | "157.240.231.60", 31 | "157.240.234.15", 32 | "157.240.234.60", 33 | "157.240.238.14", 34 | "157.240.238.60", 35 | "157.240.247.13", 36 | "157.240.247.60", 37 | "157.240.251.6", 38 | "157.240.251.60", 39 | "157.240.252.10", 40 | "157.240.252.60", 41 | "157.240.253.13", 42 | "157.240.253.60", 43 | "157.240.30.18", 44 | "157.240.30.54", 45 | "157.240.9.18", 46 | "157.240.9.53", 47 | "185.60.218.19", 48 | "185.60.218.53", 49 | "31.13.69.60", 50 | "31.13.72.52", 51 | "31.13.72.8", 52 | "31.13.84.51", 53 | "31.13.84.8", 54 | "57.144.120.141", 55 | "57.144.121.32" 56 | ], 57 | "ip6": [ 58 | "2a03:2880:f007:1:face:b00c:0:1", 59 | "2a03:2880:f00a:8:face:b00c:0:2", 60 | "2a03:2880:f013:0:face:b00c:0:2", 61 | "2a03:2880:f023:12:face:b00c:0:2", 62 | "2a03:2880:f028:110:face:b00c:0:2", 63 | "2a03:2880:f028:11:face:b00c:0:2", 64 | "2a03:2880:f042:112:face:b00c:0:2", 65 | "2a03:2880:f042:12:face:b00c:0:2", 66 | "2a03:2880:f045:12:face:b00c:0:2", 67 | "2a03:2880:f05b:12:face:b00c:0:2", 68 | "2a03:2880:f068:d:face:b00c:0:2", 69 | "2a03:2880:f06f:10:face:b00c:0:2", 70 | "2a03:2880:f077:f:face:b00c:0:2", 71 | "2a03:2880:f080:e:face:b00c:0:2", 72 | "2a03:2880:f083:10e:face:b00c:0:2", 73 | "2a03:2880:f083:6:face:b00c:0:2", 74 | "2a03:2880:f084:10d:face:b00c:0:2", 75 | "2a03:2880:f084:a:face:b00c:0:2", 76 | "2a03:2880:f207:c5:face:b00c:0:167", 77 | "2a03:2880:f20a:c5:face:b00c:0:167", 78 | "2a03:2880:f213:c3:face:b00c:0:167", 79 | "2a03:2880:f223:c5:face:b00c:0:167", 80 | "2a03:2880:f228:1c1:face:b00c:0:167", 81 | "2a03:2880:f228:c5:face:b00c:0:167", 82 | "2a03:2880:f23d:c7:face:b00c:0:167", 83 | "2a03:2880:f242:1c2:face:b00c:0:167", 84 | "2a03:2880:f242:c8:face:b00c:0:167", 85 | "2a03:2880:f245:c7:face:b00c:0:167", 86 | "2a03:2880:f25b:c6:face:b00c:0:167", 87 | "2a03:2880:f260:d1:face:b00c:0:167", 88 | "2a03:2880:f265:c7:face:b00c:0:167", 89 | "2a03:2880:f26d:c2:face:b00c:0:167", 90 | "2a03:2880:f26f:c1:face:b00c:0:167", 91 | "2a03:2880:f273:c8:face:b00c:0:167", 92 | "2a03:2880:f276:1c2:face:b00c:0:167", 93 | "2a03:2880:f276:cd:face:b00c:0:167", 94 | "2a03:2880:f277:1cd:face:b00c:0:167", 95 | "2a03:2880:f277:cc:face:b00c:0:167", 96 | "2a03:2880:f33c:120:face:b00c:0:167", 97 | "2a03:2880:f33c:8d:face:b00c:0:2" 98 | ], 99 | "cidr4": [ 100 | "157.240.0.0/16", 101 | "185.60.216.0/22", 102 | "31.13.64.0/18", 103 | "57.0.0.0/8" 104 | ], 105 | "cidr6": [ 106 | "2a03:2880::/29" 107 | ], 108 | "external": { 109 | "domains": [], 110 | "ip4": [], 111 | "ip6": [], 112 | "cidr4": [], 113 | "cidr6": [] 114 | } 115 | } -------------------------------------------------------------------------------- /config/messengers/whatsapp.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "g.whatsapp.net", 4 | "graph.whatsapp.com", 5 | "media.fbkk29-1.fna.whatsapp.net", 6 | "media.fbkk29-2.fna.whatsapp.net", 7 | "media.fbkk29-3.fna.whatsapp.net", 8 | "media.fbkk29-4.fna.whatsapp.net", 9 | "media.fbkk29-5.fna.whatsapp.net", 10 | "media.fbkk29-6.fna.whatsapp.net", 11 | "media.fbkk29-7.fna.whatsapp.net", 12 | "media.fbkk29-8.fna.whatsapp.net", 13 | "media.fbkk29-9.fna.whatsapp.net", 14 | "web.whatsapp.com", 15 | "whatsapp-cdn-shv-01-amt2.fbcdn.net", 16 | "whatsapp-cdn-shv-01-any2.fbcdn.net", 17 | "whatsapp-cdn-shv-01-arn2.fbcdn.net", 18 | "whatsapp-cdn-shv-01-bru2.fbcdn.net", 19 | "whatsapp-cdn-shv-01-hel3.fbcdn.net", 20 | "whatsapp.com", 21 | "whatsapp.net", 22 | "www.whatsapp.com", 23 | "www.whatsapp.net" 24 | ], 25 | "dns": ["127.0.0.11:53", "77.88.8.88:53", "8.8.8.8:53", "1.1.1.1:53"], 26 | "timeout": 0, 27 | "ip4": [], 28 | "ip6": [], 29 | "cidr4": [], 30 | "cidr6": [], 31 | "external": { 32 | "domains": [], 33 | "ip4": [], 34 | "ip6": [], 35 | "cidr4": [], 36 | "cidr6": [] 37 | } 38 | } -------------------------------------------------------------------------------- /config/news/agents.media.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "agents.media", 4 | "www.agents.media" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "51.15.27.51", 15 | "51.15.27.55", 16 | "65.109.52.31" 17 | ], 18 | "ip6": [], 19 | "cidr4": [ 20 | "51.15.0.0/18", 21 | "65.108.0.0/15" 22 | ], 23 | "cidr6": [], 24 | "external": { 25 | "domains": [], 26 | "ip4": [], 27 | "ip6": [], 28 | "cidr4": [], 29 | "cidr6": [] 30 | } 31 | } -------------------------------------------------------------------------------- /config/news/agentura.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "agentura.ru", 4 | "archive.agentura.ru", 5 | "www.agentura.ru" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "145.14.151.194", 16 | "213.239.219.172" 17 | ], 18 | "ip6": [], 19 | "cidr4": [ 20 | "145.14.148.0/22", 21 | "213.239.216.0/22" 22 | ], 23 | "cidr6": [], 24 | "external": { 25 | "domains": [], 26 | "ip4": [], 27 | "ip6": [], 28 | "cidr4": [], 29 | "cidr6": [] 30 | } 31 | } -------------------------------------------------------------------------------- /config/news/cherta.media.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "cherta.media", 4 | "www.cherta.media" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "51.15.27.51", 15 | "51.15.27.55", 16 | "65.109.52.31" 17 | ], 18 | "ip6": [], 19 | "cidr4": [ 20 | "51.15.0.0/18", 21 | "65.108.0.0/15" 22 | ], 23 | "cidr6": [], 24 | "external": { 25 | "domains": [], 26 | "ip4": [], 27 | "ip6": [], 28 | "cidr4": [], 29 | "cidr6": [] 30 | } 31 | } -------------------------------------------------------------------------------- /config/news/colta.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "colta.ru", 4 | "os.colta.ru", 5 | "www.colta.ru" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.65.143", 16 | "172.67.163.232" 17 | ], 18 | "ip6": [ 19 | "2606:4700:3032::6815:418f", 20 | "2606:4700:3032::ac43:a3e8" 21 | ], 22 | "cidr4": [ 23 | "104.16.0.0/12", 24 | "172.64.0.0/13" 25 | ], 26 | "cidr6": [ 27 | "2606:4700::/32" 28 | ], 29 | "external": { 30 | "domains": [], 31 | "ip4": [], 32 | "ip6": [], 33 | "cidr4": [], 34 | "cidr6": [] 35 | } 36 | } -------------------------------------------------------------------------------- /config/news/dept.one.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "agent.dept.one", 4 | "ctf.dept.one", 5 | "dept.one", 6 | "mta-sts.dept.one", 7 | "www.agent.dept.one", 8 | "www.dept.one" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "104.21.112.1", 19 | "104.21.16.1", 20 | "104.21.32.1", 21 | "104.21.48.1", 22 | "104.21.64.1", 23 | "104.21.80.1", 24 | "104.21.96.1", 25 | "138.197.58.222", 26 | "45.55.122.20" 27 | ], 28 | "ip6": [ 29 | "2606:4700:3030::6815:1001", 30 | "2606:4700:3030::6815:2001", 31 | "2606:4700:3030::6815:3001", 32 | "2606:4700:3030::6815:4001", 33 | "2606:4700:3030::6815:5001", 34 | "2606:4700:3030::6815:6001", 35 | "2606:4700:3030::6815:7001" 36 | ], 37 | "cidr4": [ 38 | "104.16.0.0/12", 39 | "138.197.0.0/16", 40 | "45.55.0.0/16" 41 | ], 42 | "cidr6": [ 43 | "2606:4700::/32" 44 | ], 45 | "external": { 46 | "domains": [], 47 | "ip4": [], 48 | "ip6": [], 49 | "cidr4": [], 50 | "cidr6": [] 51 | } 52 | } -------------------------------------------------------------------------------- /config/news/doxa.team.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "doxa.team", 4 | "www.doxa.team" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.22.50.93", 15 | "104.22.51.93", 16 | "172.67.14.139", 17 | "188.114.98.224", 18 | "188.114.98.228", 19 | "188.114.98.229", 20 | "188.114.98.232", 21 | "188.114.98.236", 22 | "188.114.99.224", 23 | "188.114.99.228", 24 | "188.114.99.229", 25 | "188.114.99.232", 26 | "188.114.99.236" 27 | ], 28 | "ip6": [ 29 | "2606:4700:10::6816:325d", 30 | "2606:4700:10::6816:335d", 31 | "2606:4700:10::ac43:e8b", 32 | "2a06:98c1:3122:e000::", 33 | "2a06:98c1:3122:e000::4", 34 | "2a06:98c1:3122:e000::5", 35 | "2a06:98c1:3122:e000::8", 36 | "2a06:98c1:3122:e000::b", 37 | "2a06:98c1:3122:e000::c", 38 | "2a06:98c1:3123:e000::", 39 | "2a06:98c1:3123:e000::4", 40 | "2a06:98c1:3123:e000::5", 41 | "2a06:98c1:3123:e000::8", 42 | "2a06:98c1:3123:e000::b", 43 | "2a06:98c1:3123:e000::c" 44 | ], 45 | "cidr4": [ 46 | "104.16.0.0/12", 47 | "172.64.0.0/13", 48 | "188.114.96.0/22" 49 | ], 50 | "cidr6": [ 51 | "2606:4700::/32", 52 | "2a06:98c1::/32" 53 | ], 54 | "external": { 55 | "domains": [], 56 | "ip4": [], 57 | "ip6": [], 58 | "cidr4": [], 59 | "cidr6": [] 60 | } 61 | } -------------------------------------------------------------------------------- /config/news/echofm.online.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "echofm.online", 4 | "www.echofm.online" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.81.17", 15 | "172.67.137.125", 16 | "94.130.217.223" 17 | ], 18 | "ip6": [ 19 | "2606:4700:3030::ac43:897d", 20 | "2606:4700:3035::6815:5111" 21 | ], 22 | "cidr4": [ 23 | "104.16.0.0/12", 24 | "172.64.0.0/13", 25 | "94.130.217.192/26" 26 | ], 27 | "cidr6": [ 28 | "2606:4700::/32" 29 | ], 30 | "external": { 31 | "domains": [], 32 | "ip4": [], 33 | "ip6": [], 34 | "cidr4": [], 35 | "cidr6": [] 36 | } 37 | } -------------------------------------------------------------------------------- /config/news/ehorussia.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "ehorussia.com", 4 | "www.ehorussia.com" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "64.227.45.125" 15 | ], 16 | "ip6": [ 17 | "2a03:b0c0:1:d0::ada:1" 18 | ], 19 | "cidr4": [ 20 | "64.227.0.0/17" 21 | ], 22 | "cidr6": [ 23 | "2a03:b0c0:1::/48" 24 | ], 25 | "external": { 26 | "domains": [], 27 | "ip4": [], 28 | "ip6": [], 29 | "cidr4": [], 30 | "cidr6": [] 31 | } 32 | } -------------------------------------------------------------------------------- /config/news/ej.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "ej.ru", 4 | "www.ej.ru" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "213.166.70.101" 15 | ], 16 | "ip6": [], 17 | "cidr4": [ 18 | "213.166.70.0/25" 19 | ], 20 | "cidr6": [], 21 | "external": { 22 | "domains": [], 23 | "ip4": [], 24 | "ip6": [], 25 | "cidr4": [], 26 | "cidr6": [] 27 | } 28 | } -------------------------------------------------------------------------------- /config/news/exler.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "exler.ru", 4 | "www.exler.ru" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "5.9.141.28" 15 | ], 16 | "ip6": [], 17 | "cidr4": [ 18 | "5.9.141.0/27" 19 | ], 20 | "cidr6": [], 21 | "external": { 22 | "domains": [], 23 | "ip4": [], 24 | "ip6": [], 25 | "cidr4": [], 26 | "cidr6": [] 27 | } 28 | } -------------------------------------------------------------------------------- /config/news/gordonua.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "gordonua.com", 4 | "www.gordonua.com" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.22.4.247", 15 | "104.22.5.247", 16 | "172.67.13.104", 17 | "188.114.98.224", 18 | "188.114.98.228", 19 | "188.114.98.229", 20 | "188.114.99.224", 21 | "188.114.99.228", 22 | "188.114.99.229" 23 | ], 24 | "ip6": [ 25 | "2606:4700:10::6816:4f7", 26 | "2606:4700:10::6816:5f7", 27 | "2606:4700:10::ac43:d68", 28 | "2a06:98c1:3122:e000::", 29 | "2a06:98c1:3122:e000::4", 30 | "2a06:98c1:3122:e000::5", 31 | "2a06:98c1:3123:e000::", 32 | "2a06:98c1:3123:e000::4", 33 | "2a06:98c1:3123:e000::5" 34 | ], 35 | "cidr4": [ 36 | "104.16.0.0/12", 37 | "172.64.0.0/13", 38 | "188.114.96.0/22" 39 | ], 40 | "cidr6": [ 41 | "2606:4700::/32", 42 | "2a06:98c1::/32" 43 | ], 44 | "external": { 45 | "domains": [], 46 | "ip4": [], 47 | "ip6": [], 48 | "cidr4": [], 49 | "cidr6": [] 50 | } 51 | } -------------------------------------------------------------------------------- /config/news/gulagu.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "gulagu.net", 4 | "www.gulagu.net" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "161.35.220.135" 15 | ], 16 | "ip6": [], 17 | "cidr4": [ 18 | "161.35.0.0/16" 19 | ], 20 | "cidr6": [], 21 | "external": { 22 | "domains": [], 23 | "ip4": [], 24 | "ip6": [], 25 | "cidr4": [], 26 | "cidr6": [] 27 | } 28 | } -------------------------------------------------------------------------------- /config/news/holod.media.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "holod.global.ssl.fastly.net", 4 | "holod.media", 5 | "www.holod.media" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.112.1", 16 | "104.21.16.1", 17 | "104.21.32.1", 18 | "104.21.48.1", 19 | "104.21.5.248", 20 | "104.21.64.1", 21 | "104.21.80.1", 22 | "104.21.96.1", 23 | "146.75.117.194", 24 | "146.75.121.194", 25 | "146.75.29.194", 26 | "146.75.53.194", 27 | "146.75.61.194", 28 | "151.101.1.194", 29 | "151.101.129.194", 30 | "151.101.193.194", 31 | "151.101.205.194", 32 | "151.101.245.194", 33 | "151.101.37.194", 34 | "151.101.65.194", 35 | "151.101.85.194", 36 | "151.101.9.194", 37 | "165.22.91.194", 38 | "172.67.134.19", 39 | "188.114.96.10", 40 | "188.114.96.3", 41 | "188.114.96.7", 42 | "188.114.96.9", 43 | "188.114.97.10", 44 | "188.114.97.3", 45 | "188.114.97.7", 46 | "188.114.97.9", 47 | "199.232.81.194", 48 | "51.15.27.51", 49 | "51.15.27.55", 50 | "65.109.52.31" 51 | ], 52 | "ip6": [ 53 | "2606:4700:3030::6815:1001", 54 | "2606:4700:3030::6815:2001", 55 | "2606:4700:3030::6815:3001", 56 | "2606:4700:3030::6815:4001", 57 | "2606:4700:3030::6815:5001", 58 | "2606:4700:3030::6815:6001", 59 | "2606:4700:3030::6815:7001", 60 | "2606:4700:3031::6815:5f8", 61 | "2606:4700:3037::ac43:8613", 62 | "2a06:98c1:3120::3", 63 | "2a06:98c1:3120::7", 64 | "2a06:98c1:3120::9", 65 | "2a06:98c1:3120::a", 66 | "2a06:98c1:3121::3", 67 | "2a06:98c1:3121::7", 68 | "2a06:98c1:3121::9", 69 | "2a06:98c1:3121::a" 70 | ], 71 | "cidr4": [ 72 | "104.16.0.0/12", 73 | "146.75.0.0/16", 74 | "151.101.0.0/16", 75 | "165.22.0.0/16", 76 | "172.64.0.0/13", 77 | "188.114.96.0/22", 78 | "199.232.0.0/16", 79 | "51.15.0.0/18", 80 | "65.108.0.0/15" 81 | ], 82 | "cidr6": [ 83 | "2606:4700::/32", 84 | "2a06:98c1::/32" 85 | ], 86 | "external": { 87 | "domains": [], 88 | "ip4": [], 89 | "ip6": [], 90 | "cidr4": [], 91 | "cidr6": [] 92 | } 93 | } -------------------------------------------------------------------------------- /config/news/hrw.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "hrw.org", 4 | "www.hrw.org" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "23.185.0.2" 15 | ], 16 | "ip6": [ 17 | "2620:12a:8000::2", 18 | "2620:12a:8001::2" 19 | ], 20 | "cidr4": [ 21 | "23.185.0.0/24" 22 | ], 23 | "cidr6": [ 24 | "2620:12a:8000::/44" 25 | ], 26 | "external": { 27 | "domains": [], 28 | "ip4": [], 29 | "ip6": [], 30 | "cidr4": [], 31 | "cidr6": [] 32 | } 33 | } -------------------------------------------------------------------------------- /config/news/istories.media.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "important-stories.com", 4 | "istories.media", 5 | "static.istories.media", 6 | "www.important-stories.com", 7 | "www.istories.media" 8 | ], 9 | "dns": [ 10 | "127.0.0.11:53", 11 | "77.88.8.88:53", 12 | "8.8.8.8:53", 13 | "1.1.1.1:53" 14 | ], 15 | "timeout": 3600, 16 | "ip4": [ 17 | "185.152.212.205", 18 | "185.152.214.187", 19 | "34.107.133.84" 20 | ], 21 | "ip6": [], 22 | "cidr4": [ 23 | "185.152.212.0/24", 24 | "185.152.214.0/24", 25 | "34.64.0.0/10" 26 | ], 27 | "cidr6": [], 28 | "external": { 29 | "domains": [], 30 | "ip4": [], 31 | "ip6": [], 32 | "cidr4": [], 33 | "cidr6": [] 34 | } 35 | } -------------------------------------------------------------------------------- /config/news/kavkaz-uzel.eu.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "kavkaz-uzel.eu", 4 | "www.kavkaz-uzel.eu" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "51.15.27.51", 15 | "51.15.27.55", 16 | "65.109.52.31" 17 | ], 18 | "ip6": [], 19 | "cidr4": [ 20 | "51.15.0.0/18", 21 | "65.108.0.0/15" 22 | ], 23 | "cidr6": [], 24 | "external": { 25 | "domains": [], 26 | "ip4": [], 27 | "ip6": [], 28 | "cidr4": [], 29 | "cidr6": [] 30 | } 31 | } -------------------------------------------------------------------------------- /config/news/korrespondent.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "csskor.ill.in.ua", 4 | "id.korrespondent.net", 5 | "korrespondent.net", 6 | "ru.korrespondent.net", 7 | "skor.ill.in.ua", 8 | "ua.korrespondent.net", 9 | "www.korrespondent.net" 10 | ], 11 | "dns": [ 12 | "127.0.0.11:53", 13 | "77.88.8.88:53", 14 | "8.8.8.8:53", 15 | "1.1.1.1:53" 16 | ], 17 | "timeout": 3600, 18 | "ip4": [ 19 | "104.18.30.182", 20 | "104.18.31.182", 21 | "188.114.98.224", 22 | "188.114.98.228", 23 | "188.114.98.229", 24 | "188.114.99.224", 25 | "188.114.99.228", 26 | "188.114.99.229", 27 | "193.29.200.151" 28 | ], 29 | "ip6": [ 30 | "2606:4700::6812:1eb6", 31 | "2606:4700::6812:1fb6", 32 | "2a06:98c1:3122:e000::", 33 | "2a06:98c1:3122:e000::4", 34 | "2a06:98c1:3122:e000::5", 35 | "2a06:98c1:3122:e000::a", 36 | "2a06:98c1:3123:e000::", 37 | "2a06:98c1:3123:e000::4", 38 | "2a06:98c1:3123:e000::5", 39 | "2a06:98c1:3123:e000::a" 40 | ], 41 | "cidr4": [ 42 | "104.16.0.0/12", 43 | "188.114.96.0/22", 44 | "193.29.200.0/24" 45 | ], 46 | "cidr6": [ 47 | "2606:4700::/32", 48 | "2a06:98c1::/32" 49 | ], 50 | "external": { 51 | "domains": [], 52 | "ip4": [], 53 | "ip6": [], 54 | "cidr4": [], 55 | "cidr6": [] 56 | } 57 | } -------------------------------------------------------------------------------- /config/news/meduza.io.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "mdza.io", 4 | "meduza.io", 5 | "www.mdza.io", 6 | "www.meduza.io" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.18.0.79", 17 | "104.18.1.79", 18 | "104.21.6.211", 19 | "151.115.45.47", 20 | "151.115.46.250", 21 | "151.115.47.200", 22 | "151.115.57.108", 23 | "163.172.67.135", 24 | "163.172.74.46", 25 | "172.67.135.72", 26 | "188.114.98.224", 27 | "188.114.98.228", 28 | "188.114.98.229", 29 | "188.114.98.233", 30 | "188.114.99.224", 31 | "188.114.99.228", 32 | "188.114.99.229", 33 | "188.114.99.233" 34 | ], 35 | "ip6": [ 36 | "2606:4700:3033::6815:6d3", 37 | "2606:4700:3037::ac43:8748", 38 | "2606:4700::6812:14f", 39 | "2606:4700::6812:4f", 40 | "2a06:98c1:3122:e000::", 41 | "2a06:98c1:3122:e000::4", 42 | "2a06:98c1:3122:e000::5", 43 | "2a06:98c1:3122:e000::9", 44 | "2a06:98c1:3123:e000::", 45 | "2a06:98c1:3123:e000::4", 46 | "2a06:98c1:3123:e000::5", 47 | "2a06:98c1:3123:e000::9" 48 | ], 49 | "cidr4": [ 50 | "104.16.0.0/12", 51 | "151.0.0.0/8", 52 | "163.172.0.0/16", 53 | "172.64.0.0/13", 54 | "188.114.96.0/22" 55 | ], 56 | "cidr6": [ 57 | "2606:4700::/32", 58 | "2a06:98c1::/32" 59 | ], 60 | "external": { 61 | "domains": [], 62 | "ip4": [], 63 | "ip6": [], 64 | "cidr4": [], 65 | "cidr6": [] 66 | } 67 | } -------------------------------------------------------------------------------- /config/news/memohrc.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "memohrc.org", 4 | "memopzk.org", 5 | "memorialcenter.org", 6 | "www.memohrc.org", 7 | "www.memopzk.org", 8 | "www.memorialcenter.org" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "104.21.112.1", 19 | "104.21.16.1", 20 | "104.21.16.199", 21 | "104.21.32.1", 22 | "104.21.43.9", 23 | "104.21.48.1", 24 | "104.21.64.1", 25 | "104.21.80.1", 26 | "104.21.91.72", 27 | "104.21.96.1", 28 | "172.67.211.97", 29 | "172.67.215.151", 30 | "172.67.215.173", 31 | "188.114.96.1", 32 | "188.114.96.10", 33 | "188.114.96.11", 34 | "188.114.96.12", 35 | "188.114.96.3", 36 | "188.114.96.7", 37 | "188.114.96.9", 38 | "188.114.97.1", 39 | "188.114.97.10", 40 | "188.114.97.11", 41 | "188.114.97.12", 42 | "188.114.97.3", 43 | "188.114.97.7", 44 | "188.114.97.9", 45 | "95.216.137.177" 46 | ], 47 | "ip6": [ 48 | "2606:4700:3030::6815:1001", 49 | "2606:4700:3030::6815:2001", 50 | "2606:4700:3030::6815:3001", 51 | "2606:4700:3030::6815:4001", 52 | "2606:4700:3030::6815:5001", 53 | "2606:4700:3030::6815:6001", 54 | "2606:4700:3030::6815:7001", 55 | "2606:4700:3031::6815:5b48", 56 | "2606:4700:3031::ac43:d361", 57 | "2606:4700:3034::ac43:d7ad", 58 | "2606:4700:3035::ac43:d797", 59 | "2606:4700:3037::6815:10c7", 60 | "2606:4700:3037::6815:2b09", 61 | "2a06:98c1:3120::", 62 | "2a06:98c1:3120::1", 63 | "2a06:98c1:3120::3", 64 | "2a06:98c1:3120::7", 65 | "2a06:98c1:3120::9", 66 | "2a06:98c1:3120::a", 67 | "2a06:98c1:3120::b", 68 | "2a06:98c1:3120::c", 69 | "2a06:98c1:3121::", 70 | "2a06:98c1:3121::1", 71 | "2a06:98c1:3121::3", 72 | "2a06:98c1:3121::7", 73 | "2a06:98c1:3121::9", 74 | "2a06:98c1:3121::a", 75 | "2a06:98c1:3121::b", 76 | "2a06:98c1:3121::c" 77 | ], 78 | "cidr4": [ 79 | "104.16.0.0/12", 80 | "172.64.0.0/13", 81 | "188.114.96.0/22", 82 | "95.216.136.0/21" 83 | ], 84 | "cidr6": [ 85 | "2606:4700::/32", 86 | "2a06:98c1::/32" 87 | ], 88 | "external": { 89 | "domains": [], 90 | "ip4": [], 91 | "ip6": [], 92 | "cidr4": [], 93 | "cidr6": [] 94 | } 95 | } -------------------------------------------------------------------------------- /config/news/moscowtimes.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "moscowtimes.ru", 4 | "static.moscowtimes.ru", 5 | "www.moscowtimes.ru" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.47.180", 16 | "104.22.4.123", 17 | "104.22.5.123", 18 | "172.67.171.202", 19 | "172.67.41.148", 20 | "188.114.98.224", 21 | "188.114.98.228", 22 | "188.114.98.229", 23 | "188.114.99.224", 24 | "188.114.99.228", 25 | "188.114.99.229", 26 | "95.215.189.11", 27 | "95.215.189.12" 28 | ], 29 | "ip6": [ 30 | "2606:4700:10::6816:47b", 31 | "2606:4700:10::6816:57b", 32 | "2606:4700:10::ac43:2994", 33 | "2606:4700:3030::ac43:abca", 34 | "2606:4700:3035::6815:2fb4", 35 | "2a06:98c1:3122:e000::", 36 | "2a06:98c1:3122:e000::4", 37 | "2a06:98c1:3122:e000::5", 38 | "2a06:98c1:3122:e000::8", 39 | "2a06:98c1:3123:e000::", 40 | "2a06:98c1:3123:e000::4", 41 | "2a06:98c1:3123:e000::5", 42 | "2a06:98c1:3123:e000::8" 43 | ], 44 | "cidr4": [ 45 | "104.16.0.0/12", 46 | "172.64.0.0/13", 47 | "188.114.96.0/22", 48 | "95.215.184.0/21" 49 | ], 50 | "cidr6": [ 51 | "2606:4700::/32", 52 | "2a06:98c1::/32" 53 | ], 54 | "external": { 55 | "domains": [], 56 | "ip4": [], 57 | "ip6": [], 58 | "cidr4": [], 59 | "cidr6": [] 60 | } 61 | } -------------------------------------------------------------------------------- /config/news/navalny.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "navalny.com", 4 | "st.navalny.com", 5 | "www.navalny.com" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.26.12.158", 16 | "104.26.13.158", 17 | "172.67.72.93", 18 | "188.114.98.224", 19 | "188.114.98.228", 20 | "188.114.98.229", 21 | "188.114.99.224", 22 | "188.114.99.228", 23 | "188.114.99.229" 24 | ], 25 | "ip6": [ 26 | "2606:4700:20::681a:c9e", 27 | "2606:4700:20::681a:d9e", 28 | "2606:4700:20::ac43:485d", 29 | "2a06:98c1:3122:e000::", 30 | "2a06:98c1:3122:e000::4", 31 | "2a06:98c1:3122:e000::5", 32 | "2a06:98c1:3123:e000::", 33 | "2a06:98c1:3123:e000::4", 34 | "2a06:98c1:3123:e000::5" 35 | ], 36 | "cidr4": [ 37 | "104.16.0.0/12", 38 | "172.64.0.0/13", 39 | "188.114.96.0/22" 40 | ], 41 | "cidr6": [ 42 | "2606:4700::/32", 43 | "2a06:98c1::/32" 44 | ], 45 | "external": { 46 | "domains": [], 47 | "ip4": [], 48 | "ip6": [], 49 | "cidr4": [], 50 | "cidr6": [] 51 | } 52 | } -------------------------------------------------------------------------------- /config/news/newtimes.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "news.newtimes.ru", 4 | "newtimes.ru", 5 | "www.newtimes.ru" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.72.246", 16 | "172.67.136.177", 17 | "188.186.146.207", 18 | "188.186.154.79", 19 | "49.13.52.126", 20 | "51.195.103.39" 21 | ], 22 | "ip6": [ 23 | "2606:4700:3030::6815:48f6", 24 | "2606:4700:3037::ac43:88b1" 25 | ], 26 | "cidr4": [ 27 | "104.16.0.0/12", 28 | "172.64.0.0/13", 29 | "188.186.144.0/22", 30 | "188.186.152.0/22", 31 | "49.13.48.0/20", 32 | "51.195.100.0/22" 33 | ], 34 | "cidr6": [ 35 | "2606:4700::/32" 36 | ], 37 | "external": { 38 | "domains": [], 39 | "ip4": [], 40 | "ip6": [], 41 | "cidr4": [], 42 | "cidr6": [] 43 | } 44 | } -------------------------------------------------------------------------------- /config/news/novayagazeta.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "novayagazeta.eu", 4 | "novayagazeta.ru", 5 | "www.novayagazeta.eu", 6 | "www.novayagazeta.ru" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.22.14.2", 17 | "104.22.15.2", 18 | "104.22.28.188", 19 | "104.22.29.188", 20 | "172.67.15.167", 21 | "172.67.43.67", 22 | "188.114.98.224", 23 | "188.114.98.228", 24 | "188.114.98.229", 25 | "188.114.98.233", 26 | "188.114.98.236", 27 | "188.114.99.224", 28 | "188.114.99.228", 29 | "188.114.99.229", 30 | "188.114.99.233", 31 | "188.114.99.236" 32 | ], 33 | "ip6": [ 34 | "2606:4700:10::6816:1cbc", 35 | "2606:4700:10::6816:1dbc", 36 | "2606:4700:10::6816:e02", 37 | "2606:4700:10::6816:f02", 38 | "2606:4700:10::ac43:2b43", 39 | "2606:4700:10::ac43:fa7", 40 | "2a06:98c1:3122:e000::", 41 | "2a06:98c1:3122:e000::4", 42 | "2a06:98c1:3122:e000::5", 43 | "2a06:98c1:3122:e000::8", 44 | "2a06:98c1:3122:e000::c", 45 | "2a06:98c1:3123:e000::", 46 | "2a06:98c1:3123:e000::4", 47 | "2a06:98c1:3123:e000::5", 48 | "2a06:98c1:3123:e000::8", 49 | "2a06:98c1:3123:e000::c" 50 | ], 51 | "cidr4": [ 52 | "104.16.0.0/12", 53 | "172.64.0.0/13", 54 | "188.114.96.0/22" 55 | ], 56 | "cidr6": [ 57 | "2606:4700::/32", 58 | "2a06:98c1::/32" 59 | ], 60 | "external": { 61 | "domains": [], 62 | "ip4": [], 63 | "ip6": [], 64 | "cidr4": [], 65 | "cidr6": [] 66 | } 67 | } -------------------------------------------------------------------------------- /config/news/ovd.info.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "donate.ovdinfo.legal", 4 | "ovd.info", 5 | "ovdinfo.legal", 6 | "ovdinfo.org", 7 | "www.ovd.info", 8 | "www.ovdinfo.legal", 9 | "www.ovdinfo.org" 10 | ], 11 | "dns": [ 12 | "127.0.0.11:53", 13 | "77.88.8.88:53", 14 | "8.8.8.8:53", 15 | "1.1.1.1:53" 16 | ], 17 | "timeout": 3600, 18 | "ip4": [ 19 | "104.21.48.189", 20 | "104.21.79.236", 21 | "104.22.20.207", 22 | "104.22.21.207", 23 | "172.67.150.9", 24 | "172.67.156.12", 25 | "172.67.4.208", 26 | "188.114.96.10", 27 | "188.114.96.12", 28 | "188.114.96.3", 29 | "188.114.96.7", 30 | "188.114.96.8", 31 | "188.114.96.9", 32 | "188.114.97.10", 33 | "188.114.97.12", 34 | "188.114.97.3", 35 | "188.114.97.7", 36 | "188.114.97.8", 37 | "188.114.97.9", 38 | "188.114.98.224", 39 | "188.114.98.228", 40 | "188.114.98.229", 41 | "188.114.98.231", 42 | "188.114.98.232", 43 | "188.114.98.233", 44 | "188.114.99.224", 45 | "188.114.99.228", 46 | "188.114.99.229", 47 | "188.114.99.231", 48 | "188.114.99.232", 49 | "188.114.99.233" 50 | ], 51 | "ip6": [ 52 | "2606:4700:10::6816:14cf", 53 | "2606:4700:10::6816:15cf", 54 | "2606:4700:10::ac43:4d0", 55 | "2606:4700:3031::ac43:9609", 56 | "2606:4700:3035::6815:30bd", 57 | "2606:4700:3036::6815:4fec", 58 | "2606:4700:3037::ac43:9c0c", 59 | "2a06:98c1:3120::", 60 | "2a06:98c1:3120::3", 61 | "2a06:98c1:3120::7", 62 | "2a06:98c1:3120::8", 63 | "2a06:98c1:3120::9", 64 | "2a06:98c1:3120::a", 65 | "2a06:98c1:3120::c", 66 | "2a06:98c1:3121::", 67 | "2a06:98c1:3121::3", 68 | "2a06:98c1:3121::7", 69 | "2a06:98c1:3121::8", 70 | "2a06:98c1:3121::9", 71 | "2a06:98c1:3121::a", 72 | "2a06:98c1:3121::c", 73 | "2a06:98c1:3122:e000::", 74 | "2a06:98c1:3122:e000::4", 75 | "2a06:98c1:3122:e000::5", 76 | "2a06:98c1:3122:e000::7", 77 | "2a06:98c1:3122:e000::8", 78 | "2a06:98c1:3122:e000::9", 79 | "2a06:98c1:3123:e000::", 80 | "2a06:98c1:3123:e000::4", 81 | "2a06:98c1:3123:e000::5", 82 | "2a06:98c1:3123:e000::7", 83 | "2a06:98c1:3123:e000::8", 84 | "2a06:98c1:3123:e000::9" 85 | ], 86 | "cidr4": [ 87 | "104.16.0.0/12", 88 | "172.64.0.0/13", 89 | "188.114.96.0/22" 90 | ], 91 | "cidr6": [ 92 | "2606:4700::/32", 93 | "2a06:98c1::/32" 94 | ], 95 | "external": { 96 | "domains": [], 97 | "ip4": [], 98 | "ip6": [], 99 | "cidr4": [], 100 | "cidr6": [] 101 | } 102 | } -------------------------------------------------------------------------------- /config/news/paperpaper.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "paperagency.team", 4 | "paperpaper.ru", 5 | "papersupport.ru", 6 | "www.paperagency.team", 7 | "www.paperpaper.ru", 8 | "www.papersupport.ru" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "185.215.4.19", 19 | "194.67.71.107", 20 | "194.67.71.108", 21 | "194.67.71.152", 22 | "194.67.71.173", 23 | "194.67.71.179", 24 | "194.67.71.188", 25 | "194.67.71.29", 26 | "194.67.71.35", 27 | "194.67.71.40", 28 | "194.67.71.42", 29 | "194.67.71.45", 30 | "194.67.71.48", 31 | "194.67.71.51", 32 | "194.67.71.7", 33 | "194.67.71.84", 34 | "194.67.71.89", 35 | "194.67.71.97", 36 | "35.190.45.78" 37 | ], 38 | "ip6": [ 39 | "2a00:f940:4::10" 40 | ], 41 | "cidr4": [ 42 | "185.215.4.0/24", 43 | "194.67.71.0/24", 44 | "35.184.0.0/13" 45 | ], 46 | "cidr6": [ 47 | "2a00:f940:4::/48" 48 | ], 49 | "external": { 50 | "domains": [], 51 | "ip4": [], 52 | "ip6": [], 53 | "cidr4": [], 54 | "cidr6": [] 55 | } 56 | } -------------------------------------------------------------------------------- /config/news/polit.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "polit.ru", 4 | "www.polit.ru" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "84.246.85.45" 15 | ], 16 | "ip6": [], 17 | "cidr4": [ 18 | "84.246.85.0/25" 19 | ], 20 | "cidr6": [], 21 | "external": { 22 | "domains": [], 23 | "ip4": [], 24 | "ip6": [], 25 | "cidr4": [], 26 | "cidr6": [] 27 | } 28 | } -------------------------------------------------------------------------------- /config/news/proekt.media.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "proekt.media", 4 | "www.proekt.media" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.22.26.162", 15 | "104.22.27.162", 16 | "172.67.31.24", 17 | "188.114.98.224", 18 | "188.114.98.228", 19 | "188.114.98.229", 20 | "188.114.99.224", 21 | "188.114.99.228", 22 | "188.114.99.229" 23 | ], 24 | "ip6": [ 25 | "2606:4700:10::6816:1aa2", 26 | "2606:4700:10::6816:1ba2", 27 | "2606:4700:10::ac43:1f18", 28 | "2a06:98c1:3122:e000::", 29 | "2a06:98c1:3122:e000::4", 30 | "2a06:98c1:3122:e000::5", 31 | "2a06:98c1:3123:e000::", 32 | "2a06:98c1:3123:e000::4", 33 | "2a06:98c1:3123:e000::5" 34 | ], 35 | "cidr4": [ 36 | "104.16.0.0/12", 37 | "172.64.0.0/13", 38 | "188.114.96.0/22" 39 | ], 40 | "cidr6": [ 41 | "2606:4700::/32", 42 | "2a06:98c1::/32" 43 | ], 44 | "external": { 45 | "domains": [], 46 | "ip4": [], 47 | "ip6": [], 48 | "cidr4": [], 49 | "cidr6": [] 50 | } 51 | } -------------------------------------------------------------------------------- /config/news/prostovpn.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "antizapret.prostovpn.org", 4 | "prostovpn.org", 5 | "www.prostovpn.org" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "130.255.78.91", 16 | "195.123.208.131" 17 | ], 18 | "ip6": [ 19 | "2a02:e00:ffec:864::1" 20 | ], 21 | "cidr4": [ 22 | "130.255.0.0/16", 23 | "195.123.208.0/21" 24 | ], 25 | "cidr6": [ 26 | "2a02:e00::/32" 27 | ], 28 | "external": { 29 | "domains": [], 30 | "ip4": [], 31 | "ip6": [], 32 | "cidr4": [], 33 | "cidr6": [] 34 | } 35 | } -------------------------------------------------------------------------------- /config/news/semnasem.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "semnasem.org", 4 | "www.semnasem.org" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.45.64", 15 | "172.67.210.188" 16 | ], 17 | "ip6": [ 18 | "2606:4700:3033::6815:2d40", 19 | "2606:4700:3035::ac43:d2bc" 20 | ], 21 | "cidr4": [ 22 | "104.16.0.0/12", 23 | "172.64.0.0/13" 24 | ], 25 | "cidr6": [ 26 | "2606:4700::/32" 27 | ], 28 | "external": { 29 | "domains": [], 30 | "ip4": [], 31 | "ip6": [], 32 | "cidr4": [], 33 | "cidr6": [] 34 | } 35 | } -------------------------------------------------------------------------------- /config/news/tayga.info.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "tayga.info", 4 | "www.tayga.info" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.47.221", 15 | "172.67.173.116", 16 | "188.114.96.10", 17 | "188.114.96.12", 18 | "188.114.96.3", 19 | "188.114.96.7", 20 | "188.114.96.8", 21 | "188.114.96.9", 22 | "188.114.97.10", 23 | "188.114.97.12", 24 | "188.114.97.3", 25 | "188.114.97.7", 26 | "188.114.97.8", 27 | "188.114.97.9" 28 | ], 29 | "ip6": [ 30 | "2606:4700:3033::6815:2fdd", 31 | "2606:4700:3036::ac43:ad74", 32 | "2a06:98c1:3120::", 33 | "2a06:98c1:3120::3", 34 | "2a06:98c1:3120::7", 35 | "2a06:98c1:3120::8", 36 | "2a06:98c1:3120::9", 37 | "2a06:98c1:3120::a", 38 | "2a06:98c1:3120::c", 39 | "2a06:98c1:3121::", 40 | "2a06:98c1:3121::3", 41 | "2a06:98c1:3121::7", 42 | "2a06:98c1:3121::8", 43 | "2a06:98c1:3121::9", 44 | "2a06:98c1:3121::a", 45 | "2a06:98c1:3121::c" 46 | ], 47 | "cidr4": [ 48 | "104.16.0.0/12", 49 | "172.64.0.0/13", 50 | "188.114.96.0/22" 51 | ], 52 | "cidr6": [ 53 | "2606:4700::/32", 54 | "2a06:98c1::/32" 55 | ], 56 | "external": { 57 | "domains": [], 58 | "ip4": [], 59 | "ip6": [], 60 | "cidr4": [], 61 | "cidr6": [] 62 | } 63 | } -------------------------------------------------------------------------------- /config/news/the-village.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "img.the-village.ru", 4 | "the-village.ru", 5 | "www.the-village.ru" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "135.181.66.25", 16 | "135.181.66.28" 17 | ], 18 | "ip6": [], 19 | "cidr4": [ 20 | "135.181.0.0/16" 21 | ], 22 | "cidr6": [], 23 | "external": { 24 | "domains": [], 25 | "ip4": [], 26 | "ip6": [], 27 | "cidr4": [], 28 | "cidr6": [] 29 | } 30 | } -------------------------------------------------------------------------------- /config/news/theins.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "fakesperts.theins.ru", 4 | "theins.press", 5 | "theins.ru", 6 | "www.theins.press", 7 | "www.theins.ru" 8 | ], 9 | "dns": [ 10 | "127.0.0.11:53", 11 | "77.88.8.88:53", 12 | "8.8.8.8:53", 13 | "1.1.1.1:53" 14 | ], 15 | "timeout": 3600, 16 | "ip4": [ 17 | "104.21.112.1", 18 | "104.21.16.1", 19 | "104.21.32.1", 20 | "104.21.48.1", 21 | "104.21.64.1", 22 | "104.21.80.1", 23 | "104.21.84.230", 24 | "104.21.96.1", 25 | "104.22.46.104", 26 | "104.22.47.104", 27 | "172.67.198.94", 28 | "172.67.21.173", 29 | "188.114.96.10", 30 | "188.114.96.3", 31 | "188.114.96.7", 32 | "188.114.97.10", 33 | "188.114.97.3", 34 | "188.114.97.7", 35 | "188.114.98.224", 36 | "188.114.98.228", 37 | "188.114.98.229", 38 | "188.114.99.224", 39 | "188.114.99.228", 40 | "188.114.99.229" 41 | ], 42 | "ip6": [ 43 | "2606:4700:10::6816:2e68", 44 | "2606:4700:10::6816:2f68", 45 | "2606:4700:10::ac43:15ad", 46 | "2606:4700:3030::6815:1001", 47 | "2606:4700:3030::6815:2001", 48 | "2606:4700:3030::6815:3001", 49 | "2606:4700:3030::6815:4001", 50 | "2606:4700:3030::6815:5001", 51 | "2606:4700:3030::6815:6001", 52 | "2606:4700:3030::6815:7001", 53 | "2606:4700:3033::ac43:c65e", 54 | "2606:4700:3034::6815:54e6", 55 | "2a06:98c1:3120::", 56 | "2a06:98c1:3120::3", 57 | "2a06:98c1:3120::7", 58 | "2a06:98c1:3120::a", 59 | "2a06:98c1:3121::", 60 | "2a06:98c1:3121::3", 61 | "2a06:98c1:3121::7", 62 | "2a06:98c1:3121::a", 63 | "2a06:98c1:3122:e000::", 64 | "2a06:98c1:3122:e000::4", 65 | "2a06:98c1:3122:e000::5", 66 | "2a06:98c1:3123:e000::", 67 | "2a06:98c1:3123:e000::4", 68 | "2a06:98c1:3123:e000::5" 69 | ], 70 | "cidr4": [ 71 | "104.16.0.0/12", 72 | "172.64.0.0/13", 73 | "188.114.96.0/22" 74 | ], 75 | "cidr6": [ 76 | "2606:4700::/32", 77 | "2a06:98c1::/32" 78 | ], 79 | "external": { 80 | "domains": [], 81 | "ip4": [], 82 | "ip6": [], 83 | "cidr4": [], 84 | "cidr6": [] 85 | } 86 | } -------------------------------------------------------------------------------- /config/news/unian.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "counter.unian.net", 4 | "covid.unian.net", 5 | "health.unian.net", 6 | "images.unian.net", 7 | "pogoda.unian.net", 8 | "sport.unian.net", 9 | "unian.net", 10 | "www.unian.net" 11 | ], 12 | "dns": [ 13 | "127.0.0.11:53", 14 | "77.88.8.88:53", 15 | "8.8.8.8:53", 16 | "1.1.1.1:53" 17 | ], 18 | "timeout": 3600, 19 | "ip4": [ 20 | "104.22.60.153", 21 | "104.22.61.153", 22 | "172.67.38.10", 23 | "188.114.98.224", 24 | "188.114.98.228", 25 | "188.114.98.229", 26 | "188.114.98.233", 27 | "188.114.98.236", 28 | "188.114.99.224", 29 | "188.114.99.228", 30 | "188.114.99.229", 31 | "188.114.99.233", 32 | "188.114.99.236", 33 | "195.137.240.103", 34 | "195.137.240.24", 35 | "195.137.240.83" 36 | ], 37 | "ip6": [], 38 | "cidr4": [ 39 | "104.16.0.0/12", 40 | "172.64.0.0/13", 41 | "188.114.96.0/22", 42 | "195.137.240.0/23" 43 | ], 44 | "cidr6": [], 45 | "external": { 46 | "domains": [], 47 | "ip4": [], 48 | "ip6": [], 49 | "cidr4": [], 50 | "cidr6": [] 51 | } 52 | } -------------------------------------------------------------------------------- /config/news/verstka.media.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "verstka.media", 4 | "www.verstka.media" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.22.16.167", 15 | "104.22.17.167", 16 | "172.67.43.127", 17 | "188.114.98.224", 18 | "188.114.98.228", 19 | "188.114.98.229", 20 | "188.114.99.224", 21 | "188.114.99.228", 22 | "188.114.99.229" 23 | ], 24 | "ip6": [ 25 | "2606:4700:10::6816:10a7", 26 | "2606:4700:10::6816:11a7", 27 | "2606:4700:10::ac43:2b7f", 28 | "2a06:98c1:3122:e000::", 29 | "2a06:98c1:3122:e000::4", 30 | "2a06:98c1:3122:e000::5", 31 | "2a06:98c1:3123:e000::", 32 | "2a06:98c1:3123:e000::4", 33 | "2a06:98c1:3123:e000::5" 34 | ], 35 | "cidr4": [ 36 | "104.16.0.0/12", 37 | "172.64.0.0/13", 38 | "188.114.96.0/22" 39 | ], 40 | "cidr6": [ 41 | "2606:4700::/32", 42 | "2a06:98c1::/32" 43 | ], 44 | "external": { 45 | "domains": [], 46 | "ip4": [], 47 | "ip6": [], 48 | "cidr4": [], 49 | "cidr6": [] 50 | } 51 | } -------------------------------------------------------------------------------- /config/news/vot-tak.tv.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "vot-tak.tv", 4 | "www.vot-tak.tv" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "195.245.213.251", 15 | "195.245.213.252" 16 | ], 17 | "ip6": [], 18 | "cidr4": [ 19 | "195.245.213.0/24" 20 | ], 21 | "cidr6": [], 22 | "external": { 23 | "domains": [], 24 | "ip4": [], 25 | "ip6": [], 26 | "cidr4": [], 27 | "cidr6": [] 28 | } 29 | } -------------------------------------------------------------------------------- /config/news/zona.media.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "mediazona.ca", 4 | "rsm.mediazona.ca", 5 | "rsm.zona.media", 6 | "s3.mediazona.ca", 7 | "s3.zona.media", 8 | "sentry.zona.media", 9 | "www.mediazona.ca", 10 | "www.zona.media", 11 | "zona.media" 12 | ], 13 | "dns": [ 14 | "127.0.0.11:53", 15 | "77.88.8.88:53", 16 | "8.8.8.8:53", 17 | "1.1.1.1:53" 18 | ], 19 | "timeout": 3600, 20 | "ip4": [ 21 | "104.21.64.6", 22 | "104.22.10.208", 23 | "104.22.11.208", 24 | "172.67.173.185", 25 | "172.67.6.82", 26 | "188.114.98.224", 27 | "188.114.98.228", 28 | "188.114.98.229", 29 | "188.114.98.233", 30 | "188.114.99.224", 31 | "188.114.99.228", 32 | "188.114.99.229", 33 | "188.114.99.233" 34 | ], 35 | "ip6": [ 36 | "2606:4700:10::6816:ad0", 37 | "2606:4700:10::6816:bd0", 38 | "2606:4700:10::ac43:652", 39 | "2606:4700:3030::6815:4006", 40 | "2606:4700:3035::ac43:adb9", 41 | "2a06:98c1:3122:e000::", 42 | "2a06:98c1:3122:e000::4", 43 | "2a06:98c1:3122:e000::5", 44 | "2a06:98c1:3122:e000::9", 45 | "2a06:98c1:3123:e000::", 46 | "2a06:98c1:3123:e000::4", 47 | "2a06:98c1:3123:e000::5", 48 | "2a06:98c1:3123:e000::9" 49 | ], 50 | "cidr4": [ 51 | "104.16.0.0/12", 52 | "172.64.0.0/13", 53 | "188.114.96.0/22" 54 | ], 55 | "cidr6": [ 56 | "2606:4700::/32", 57 | "2a06:98c1::/32" 58 | ], 59 | "external": { 60 | "domains": [], 61 | "ip4": [], 62 | "ip6": [], 63 | "cidr4": [], 64 | "cidr6": [] 65 | } 66 | } -------------------------------------------------------------------------------- /config/porn/beeg.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "auth.beeg.com", 4 | "beeg.com", 5 | "go.stripchat.beeg.com", 6 | "previews.externulls.com", 7 | "search.externulls.com", 8 | "stats.externulls.com", 9 | "store.externulls.com", 10 | "thumbs.externulls.com", 11 | "video.externulls.com", 12 | "vp.externulls.com", 13 | "www.beeg.com" 14 | ], 15 | "dns": [ 16 | "127.0.0.11:53", 17 | "77.88.8.88:53", 18 | "8.8.8.8:53", 19 | "1.1.1.1:53" 20 | ], 21 | "timeout": 3600, 22 | "ip4": [ 23 | "104.17.117.12", 24 | "104.17.118.12", 25 | "104.21.112.1", 26 | "104.21.16.1", 27 | "104.21.32.1", 28 | "104.21.48.1", 29 | "104.21.56.86", 30 | "104.21.64.1", 31 | "104.21.79.118", 32 | "104.21.80.1", 33 | "104.21.96.1", 34 | "172.67.170.134", 35 | "172.67.181.179", 36 | "185.185.15.5", 37 | "188.114.96.10", 38 | "188.114.96.12", 39 | "188.114.96.3", 40 | "188.114.96.7", 41 | "188.114.96.9", 42 | "188.114.97.10", 43 | "188.114.97.12", 44 | "188.114.97.3", 45 | "188.114.97.7", 46 | "188.114.97.9", 47 | "45.133.44.26", 48 | "45.133.44.27" 49 | ], 50 | "ip6": [ 51 | "2606:4700:3030::6815:1001", 52 | "2606:4700:3030::6815:2001", 53 | "2606:4700:3030::6815:3001", 54 | "2606:4700:3030::6815:4001", 55 | "2606:4700:3030::6815:5001", 56 | "2606:4700:3030::6815:6001", 57 | "2606:4700:3030::6815:7001", 58 | "2606:4700:3034::ac43:b5b3", 59 | "2606:4700:3036::6815:4f76", 60 | "2606:4700:3036::ac43:aa86", 61 | "2606:4700:3037::6815:3856", 62 | "2606:4700::6811:750c", 63 | "2606:4700::6811:760c", 64 | "2a02:b48:8300::26", 65 | "2a02:b48:8301::26", 66 | "2a06:98c1:3120::", 67 | "2a06:98c1:3120::3", 68 | "2a06:98c1:3120::7", 69 | "2a06:98c1:3120::9", 70 | "2a06:98c1:3120::a", 71 | "2a06:98c1:3120::c", 72 | "2a06:98c1:3121::", 73 | "2a06:98c1:3121::3", 74 | "2a06:98c1:3121::7", 75 | "2a06:98c1:3121::9", 76 | "2a06:98c1:3121::a", 77 | "2a06:98c1:3121::c" 78 | ], 79 | "cidr4": [ 80 | "104.16.0.0/12", 81 | "172.64.0.0/13", 82 | "185.185.12.0/22", 83 | "188.114.96.0/22", 84 | "45.133.44.0/22" 85 | ], 86 | "cidr6": [ 87 | "2606:4700::/32", 88 | "2a02:b48::/29", 89 | "2a06:98c1::/32" 90 | ], 91 | "external": { 92 | "domains": [], 93 | "ip4": [], 94 | "ip6": [], 95 | "cidr4": [], 96 | "cidr6": [] 97 | } 98 | } -------------------------------------------------------------------------------- /config/porn/hqporner.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "fastporndelivery.hqporner.com", 4 | "hqporner.com", 5 | "www.hqporner.com" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "45.133.44.3", 16 | "45.133.44.4", 17 | "88.208.35.41" 18 | ], 19 | "ip6": [], 20 | "cidr4": [ 21 | "45.133.44.0/22", 22 | "88.208.35.0/24" 23 | ], 24 | "cidr6": [], 25 | "external": { 26 | "domains": [], 27 | "ip4": [], 28 | "ip6": [], 29 | "cidr4": [], 30 | "cidr6": [] 31 | } 32 | } -------------------------------------------------------------------------------- /config/porn/pornolab.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "plab.site", 4 | "pornolab.net", 5 | "static.pornolab.net", 6 | "wstracker.online", 7 | "www.pornolab.net" 8 | ], 9 | "dns": [ 10 | "127.0.0.11:53", 11 | "77.88.8.88:53", 12 | "8.8.8.8:53", 13 | "1.1.1.1:53" 14 | ], 15 | "timeout": 3600, 16 | "ip4": [ 17 | "13.229.114.252", 18 | "18.141.199.30", 19 | "18.141.222.153", 20 | "185.110.92.40", 21 | "185.110.92.41", 22 | "185.61.148.21", 23 | "54.169.253.230", 24 | "94.140.112.80", 25 | "95.215.46.63" 26 | ], 27 | "ip6": [], 28 | "cidr4": [ 29 | "13.224.0.0/12", 30 | "18.128.0.0/9", 31 | "185.110.92.0/24", 32 | "185.61.148.0/23", 33 | "54.160.0.0/11", 34 | "94.140.96.0/19", 35 | "95.215.46.0/23" 36 | ], 37 | "cidr6": [], 38 | "external": { 39 | "domains": [], 40 | "ip4": [], 41 | "ip6": [], 42 | "cidr4": [], 43 | "cidr6": [] 44 | } 45 | } -------------------------------------------------------------------------------- /config/porn/reddxxx.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "cdn.reddxxx.com", 4 | "cdn1.reddxxx.com", 5 | "cdn2.reddxxx.com", 6 | "cdn3.reddxxx.com", 7 | "cdn4.reddxxx.com", 8 | "cdn5.reddxxx.com", 9 | "cdn6.reddxxx.com", 10 | "cdn7.reddxxx.com", 11 | "reddxxx.com", 12 | "www.reddxxx.com" 13 | ], 14 | "dns": [ 15 | "127.0.0.11:53", 16 | "77.88.8.88:53", 17 | "8.8.8.8:53", 18 | "1.1.1.1:53" 19 | ], 20 | "timeout": 3600, 21 | "ip4": [ 22 | "104.26.12.144", 23 | "104.26.13.144", 24 | "172.67.68.97", 25 | "188.114.98.224", 26 | "188.114.98.228", 27 | "188.114.98.229", 28 | "188.114.98.232", 29 | "188.114.98.233", 30 | "188.114.98.235", 31 | "188.114.98.236", 32 | "188.114.99.224", 33 | "188.114.99.228", 34 | "188.114.99.229", 35 | "188.114.99.232", 36 | "188.114.99.233", 37 | "188.114.99.235", 38 | "188.114.99.236" 39 | ], 40 | "ip6": [ 41 | "2606:4700:20::681a:c90", 42 | "2606:4700:20::681a:d90", 43 | "2606:4700:20::ac43:4461", 44 | "2a06:98c1:3122:e000::", 45 | "2a06:98c1:3122:e000::4", 46 | "2a06:98c1:3122:e000::5", 47 | "2a06:98c1:3122:e000::9", 48 | "2a06:98c1:3122:e000::c", 49 | "2a06:98c1:3123:e000::", 50 | "2a06:98c1:3123:e000::4", 51 | "2a06:98c1:3123:e000::5", 52 | "2a06:98c1:3123:e000::9", 53 | "2a06:98c1:3123:e000::c" 54 | ], 55 | "cidr4": [ 56 | "104.16.0.0/12", 57 | "172.64.0.0/13", 58 | "188.114.96.0/22" 59 | ], 60 | "cidr6": [ 61 | "2606:4700::/32", 62 | "2a06:98c1::/32" 63 | ], 64 | "external": { 65 | "domains": [], 66 | "ip4": [], 67 | "ip6": [], 68 | "cidr4": [], 69 | "cidr6": [] 70 | } 71 | } -------------------------------------------------------------------------------- /config/porn/redgifs.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "redgifs.com", 4 | "www.redgifs.com" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.18.36.123", 15 | "156.146.61.130", 16 | "156.146.61.131", 17 | "172.64.151.133", 18 | "185.76.9.11", 19 | "185.76.9.12", 20 | "185.76.9.27", 21 | "188.114.98.224", 22 | "188.114.98.228", 23 | "188.114.98.229", 24 | "188.114.98.232", 25 | "188.114.98.233", 26 | "188.114.98.236", 27 | "188.114.99.224", 28 | "188.114.99.228", 29 | "188.114.99.229", 30 | "188.114.99.232", 31 | "188.114.99.233", 32 | "188.114.99.236", 33 | "195.181.172.2", 34 | "195.181.172.3", 35 | "195.181.172.5", 36 | "195.181.172.6", 37 | "37.19.202.35", 38 | "37.19.202.36", 39 | "37.19.202.38", 40 | "37.19.202.39", 41 | "37.19.202.44", 42 | "37.19.202.45", 43 | "37.19.203.48", 44 | "37.19.203.49" 45 | ], 46 | "ip6": [ 47 | "2606:4700:4400::6812:247b", 48 | "2606:4700:4400::ac40:9785", 49 | "2a02:6ea0:c000::23", 50 | "2a02:6ea0:c000::24", 51 | "2a02:6ea0:c500::5", 52 | "2a02:6ea0:c500::6", 53 | "2a02:6ea0:c700::101", 54 | "2a02:6ea0:c700::107", 55 | "2a02:6ea0:c700::11", 56 | "2a02:6ea0:c700::112", 57 | "2a02:6ea0:c700::18", 58 | "2a02:6ea0:c700::19", 59 | "2a02:6ea0:c700::21", 60 | "2a02:6ea0:cb00::5", 61 | "2a02:6ea0:dd00::4", 62 | "2a02:6ea0:dd00::5", 63 | "2a02:6ea0:dd00::7", 64 | "2a02:6ea0:e700::7", 65 | "2a06:98c1:3122:e000::", 66 | "2a06:98c1:3122:e000::4", 67 | "2a06:98c1:3122:e000::5", 68 | "2a06:98c1:3122:e000::9", 69 | "2a06:98c1:3122:e000::c", 70 | "2a06:98c1:3123:e000::", 71 | "2a06:98c1:3123:e000::4", 72 | "2a06:98c1:3123:e000::5", 73 | "2a06:98c1:3123:e000::9", 74 | "2a06:98c1:3123:e000::c" 75 | ], 76 | "cidr4": [ 77 | "104.16.0.0/12", 78 | "156.146.32.0/19", 79 | "172.64.0.0/13", 80 | "185.76.9.0/24", 81 | "188.114.96.0/22", 82 | "195.181.172.0/23", 83 | "37.19.202.0/24", 84 | "37.19.203.0/24" 85 | ], 86 | "cidr6": [ 87 | "2606:4700::/32", 88 | "2a02:6ea0:c000::/40", 89 | "2a02:6ea0:c500::/40", 90 | "2a02:6ea0:c700::/40", 91 | "2a02:6ea0:cb00::/40", 92 | "2a02:6ea0:dd00::/40", 93 | "2a02:6ea0:e700::/40", 94 | "2a06:98c1::/32" 95 | ], 96 | "external": { 97 | "domains": [], 98 | "ip4": [], 99 | "ip6": [], 100 | "cidr4": [], 101 | "cidr6": [] 102 | } 103 | } -------------------------------------------------------------------------------- /config/porn/rule34.xxx.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "cali.rule34.xxx", 4 | "hk.rule34.xxx", 5 | "img.rule34.xxx", 6 | "miami.rule34.xxx", 7 | "ny.rule34.xxx", 8 | "rule34.xxx", 9 | "us.rule34.xxx", 10 | "wimg.rule34.xxx", 11 | "www.rule34.xxx" 12 | ], 13 | "dns": [ 14 | "127.0.0.11:53", 15 | "77.88.8.88:53", 16 | "8.8.8.8:53", 17 | "1.1.1.1:53" 18 | ], 19 | "timeout": 3600, 20 | "ip4": [ 21 | "104.22.18.113", 22 | "104.22.19.113", 23 | "172.67.4.152", 24 | "188.114.98.224", 25 | "188.114.98.228", 26 | "188.114.98.229", 27 | "188.114.99.224", 28 | "188.114.99.228", 29 | "188.114.99.229" 30 | ], 31 | "ip6": [ 32 | "2606:4700:10::6816:1271", 33 | "2606:4700:10::6816:1371", 34 | "2606:4700:10::ac43:498", 35 | "2a06:98c1:3122:e000::", 36 | "2a06:98c1:3122:e000::4", 37 | "2a06:98c1:3122:e000::5", 38 | "2a06:98c1:3122:e000::c", 39 | "2a06:98c1:3123:e000::", 40 | "2a06:98c1:3123:e000::4", 41 | "2a06:98c1:3123:e000::5", 42 | "2a06:98c1:3123:e000::c" 43 | ], 44 | "cidr4": [ 45 | "104.16.0.0/12", 46 | "172.64.0.0/13", 47 | "188.114.96.0/22" 48 | ], 49 | "cidr6": [ 50 | "2606:4700::/32", 51 | "2a06:98c1::/32" 52 | ], 53 | "external": { 54 | "domains": [], 55 | "ip4": [], 56 | "ip6": [], 57 | "cidr4": [], 58 | "cidr6": [] 59 | } 60 | } -------------------------------------------------------------------------------- /config/porn/xhamsterlive.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "assets.strpst.com", 4 | "img.strpst.com", 5 | "ru.xhamsterlive.com", 6 | "www.xhamsterlive.com", 7 | "xhamsterlive.com" 8 | ], 9 | "dns": [ 10 | "127.0.0.11:53", 11 | "77.88.8.88:53", 12 | "8.8.8.8:53", 13 | "1.1.1.1:53" 14 | ], 15 | "timeout": 3600, 16 | "ip4": [ 17 | "104.17.10.106", 18 | "104.17.11.106", 19 | "104.17.111.106", 20 | "104.17.112.106" 21 | ], 22 | "ip6": [ 23 | "2606:4700::6811:6f6a", 24 | "2606:4700::6811:706a", 25 | "2606:4700::6811:a6a", 26 | "2606:4700::6811:b6a" 27 | ], 28 | "cidr4": [ 29 | "104.16.0.0/12" 30 | ], 31 | "cidr6": [ 32 | "2606:4700::/32" 33 | ], 34 | "external": { 35 | "domains": [], 36 | "ip4": [], 37 | "ip6": [], 38 | "cidr4": [], 39 | "cidr6": [] 40 | } 41 | } -------------------------------------------------------------------------------- /config/shop/babook.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "babook.org", 4 | "www.babook.org" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.88.29", 15 | "172.67.171.254" 16 | ], 17 | "ip6": [ 18 | "2606:4700:3031::ac43:abfe", 19 | "2606:4700:3032::6815:581d" 20 | ], 21 | "cidr4": [ 22 | "104.16.0.0/12", 23 | "172.64.0.0/13" 24 | ], 25 | "cidr6": [ 26 | "2606:4700::/32" 27 | ], 28 | "external": { 29 | "domains": [], 30 | "ip4": [], 31 | "ip6": [], 32 | "cidr4": [], 33 | "cidr6": [] 34 | } 35 | } -------------------------------------------------------------------------------- /config/tools/10minutemail.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "10minutemail.com", 4 | "live.demand.supply", 5 | "www.10minutemail.com" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.17.38.115", 16 | "104.17.39.115", 17 | "172.66.41.26", 18 | "172.66.42.230", 19 | "188.114.98.224", 20 | "188.114.98.228", 21 | "188.114.98.229", 22 | "188.114.98.233", 23 | "188.114.99.224", 24 | "188.114.99.228", 25 | "188.114.99.229", 26 | "188.114.99.233" 27 | ], 28 | "ip6": [ 29 | "2606:4700:3108::ac42:291a", 30 | "2606:4700:3108::ac42:2ae6", 31 | "2606:4700::6811:2673", 32 | "2606:4700::6811:2773", 33 | "2a06:98c1:3122:e000::", 34 | "2a06:98c1:3122:e000::4", 35 | "2a06:98c1:3122:e000::5", 36 | "2a06:98c1:3122:e000::9", 37 | "2a06:98c1:3123:e000::", 38 | "2a06:98c1:3123:e000::4", 39 | "2a06:98c1:3123:e000::5", 40 | "2a06:98c1:3123:e000::9" 41 | ], 42 | "cidr4": [ 43 | "104.16.0.0/12", 44 | "172.64.0.0/13", 45 | "188.114.96.0/22" 46 | ], 47 | "cidr6": [ 48 | "2606:4700::/32", 49 | "2a06:98c1::/32" 50 | ], 51 | "external": { 52 | "domains": [], 53 | "ip4": [], 54 | "ip6": [], 55 | "cidr4": [], 56 | "cidr6": [] 57 | } 58 | } -------------------------------------------------------------------------------- /config/tools/basecamp.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "3.basecampapi.com", 4 | "37signals.com", 5 | "basecamp.com", 6 | "launchpad.37signals.com", 7 | "www.37signals.com", 8 | "www.basecamp.com" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "104.18.0.135", 19 | "104.18.1.135", 20 | "104.18.14.58", 21 | "104.18.15.58", 22 | "104.18.22.60", 23 | "104.18.23.60", 24 | "104.18.26.46", 25 | "104.18.27.46", 26 | "188.114.98.224", 27 | "188.114.98.228", 28 | "188.114.98.229", 29 | "188.114.98.236", 30 | "188.114.99.224", 31 | "188.114.99.228", 32 | "188.114.99.229", 33 | "188.114.99.236" 34 | ], 35 | "ip6": [], 36 | "cidr4": [ 37 | "104.16.0.0/12", 38 | "188.114.96.0/22" 39 | ], 40 | "cidr6": [], 41 | "external": { 42 | "domains": [], 43 | "ip4": [], 44 | "ip6": [], 45 | "cidr4": [], 46 | "cidr6": [] 47 | } 48 | } -------------------------------------------------------------------------------- /config/tools/bestchange.ru.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "api.bestchange.net", 4 | "api.bestchange.ru", 5 | "bestchange.net", 6 | "bestchange.ru", 7 | "www.bestchange.net", 8 | "www.bestchange.ru" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "162.19.86.111", 19 | "186.2.165.47", 20 | "188.124.37.146", 21 | "188.165.25.6", 22 | "54.37.161.241", 23 | "94.23.153.55", 24 | "95.129.232.114" 25 | ], 26 | "ip6": [], 27 | "cidr4": [ 28 | "162.19.0.0/16", 29 | "186.2.165.0/24", 30 | "188.124.37.0/24", 31 | "188.165.24.0/21", 32 | "54.36.0.0/15", 33 | "94.23.152.0/21", 34 | "95.129.232.0/24" 35 | ], 36 | "cidr6": [], 37 | "external": { 38 | "domains": [], 39 | "ip4": [], 40 | "ip6": [], 41 | "cidr4": [], 42 | "cidr6": [] 43 | } 44 | } -------------------------------------------------------------------------------- /config/tools/canva.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "apps.canva-apps.com", 4 | "canva.com", 5 | "chunk-composing.canva.com", 6 | "ct.canva.com", 7 | "document-export.canva.com", 8 | "font-public.canva.com", 9 | "media-public.canva.com", 10 | "media.canva.com", 11 | "static.canva.com", 12 | "telemetry.canva.com", 13 | "template.canva.com", 14 | "thirdparty-public-apps-media.canva-apps.com", 15 | "www.canva.com" 16 | ], 17 | "dns": [ 18 | "127.0.0.11:53", 19 | "77.88.8.88:53", 20 | "8.8.8.8:53", 21 | "1.1.1.1:53" 22 | ], 23 | "timeout": 3600, 24 | "ip4": [ 25 | "104.16.102.112", 26 | "104.16.103.112", 27 | "104.18.37.68", 28 | "172.64.150.188", 29 | "188.114.98.224", 30 | "188.114.98.228", 31 | "188.114.98.229", 32 | "188.114.99.224", 33 | "188.114.99.228", 34 | "188.114.99.229", 35 | "216.239.32.21", 36 | "216.239.34.21", 37 | "216.239.36.21", 38 | "216.239.38.21" 39 | ], 40 | "ip6": [ 41 | "2001:4860:4802:32::15", 42 | "2001:4860:4802:34::15", 43 | "2001:4860:4802:36::15", 44 | "2001:4860:4802:38::15", 45 | "2606:4700:4400::6812:2544", 46 | "2606:4700:4400::ac40:96bc", 47 | "2606:4700::6810:6670", 48 | "2606:4700::6810:6770", 49 | "2a06:98c1:3122:e000::", 50 | "2a06:98c1:3122:e000::4", 51 | "2a06:98c1:3122:e000::5", 52 | "2a06:98c1:3123:e000::", 53 | "2a06:98c1:3123:e000::4", 54 | "2a06:98c1:3123:e000::5" 55 | ], 56 | "cidr4": [ 57 | "104.16.0.0/12", 58 | "172.64.0.0/13", 59 | "188.114.96.0/22", 60 | "216.239.32.0/19" 61 | ], 62 | "cidr6": [ 63 | "2001:4860::/32", 64 | "2606:4700::/32", 65 | "2a06:98c1::/32" 66 | ], 67 | "external": { 68 | "domains": [], 69 | "ip4": [], 70 | "ip6": [], 71 | "cidr4": [], 72 | "cidr6": [] 73 | } 74 | } -------------------------------------------------------------------------------- /config/tools/connect.garmin.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "api.gcs.garmin.com", 4 | "connect.garmin.com", 5 | "connectapi.garmin.com", 6 | "ghs.connect.garmin.com", 7 | "kc3.connect.garmin.com", 8 | "omt.garmin.com" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "104.16.8.45", 19 | "104.16.9.45", 20 | "104.17.150.222", 21 | "104.17.151.222", 22 | "104.17.152.222", 23 | "104.17.153.222", 24 | "104.17.154.222", 25 | "104.17.167.14", 26 | "104.17.168.14", 27 | "104.17.70.10", 28 | "104.17.71.10", 29 | "104.18.39.104", 30 | "172.64.148.152", 31 | "188.114.98.224", 32 | "188.114.98.228", 33 | "188.114.98.229", 34 | "188.114.99.224", 35 | "188.114.99.228", 36 | "188.114.99.229" 37 | ], 38 | "ip6": [ 39 | "2606:4700:4400::6812:2768", 40 | "2606:4700:4400::ac40:9498", 41 | "2606:4700::6811:96de", 42 | "2606:4700::6811:97de", 43 | "2606:4700::6811:98de", 44 | "2606:4700::6811:99de", 45 | "2606:4700::6811:9ade", 46 | "2a06:98c1:3122:e000::", 47 | "2a06:98c1:3122:e000::4", 48 | "2a06:98c1:3122:e000::5", 49 | "2a06:98c1:3123:e000::", 50 | "2a06:98c1:3123:e000::4", 51 | "2a06:98c1:3123:e000::5" 52 | ], 53 | "cidr4": [ 54 | "104.16.0.0/12", 55 | "172.64.0.0/13", 56 | "188.114.96.0/22" 57 | ], 58 | "cidr6": [ 59 | "2606:4700::/32", 60 | "2a06:98c1::/32" 61 | ], 62 | "external": { 63 | "domains": [], 64 | "ip4": [], 65 | "ip6": [], 66 | "cidr4": [], 67 | "cidr6": [] 68 | } 69 | } -------------------------------------------------------------------------------- /config/tools/elevenlabs.io.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "api.elevenlabs.io", 4 | "eleven-public-cdn.elevenlabs.io", 5 | "elevenlabs.io", 6 | "help.elevenlabs.io", 7 | "payload.elevenlabs.io", 8 | "try.elevenlabs.io", 9 | "www.elevenlabs.io" 10 | ], 11 | "dns": [ 12 | "127.0.0.11:53", 13 | "77.88.8.88:53", 14 | "8.8.8.8:53", 15 | "1.1.1.1:53" 16 | ], 17 | "timeout": 3600, 18 | "ip4": [ 19 | "104.18.30.133", 20 | "104.18.31.133", 21 | "188.114.98.224", 22 | "188.114.98.228", 23 | "188.114.98.229", 24 | "188.114.99.224", 25 | "188.114.99.228", 26 | "188.114.99.229", 27 | "216.198.51.3", 28 | "216.198.52.3", 29 | "216.198.53.1", 30 | "216.198.53.6", 31 | "216.198.54.1", 32 | "216.198.54.6", 33 | "34.160.99.201", 34 | "34.54.252.193", 35 | "34.8.184.191", 36 | "34.98.93.216" 37 | ], 38 | "ip6": [ 39 | "2606:4700::6812:1e85", 40 | "2606:4700::6812:1f85", 41 | "2a06:98c1:3122:e000::", 42 | "2a06:98c1:3122:e000::4", 43 | "2a06:98c1:3122:e000::5", 44 | "2a06:98c1:3122:e000::8", 45 | "2a06:98c1:3122:e000::c", 46 | "2a06:98c1:3123:e000::", 47 | "2a06:98c1:3123:e000::4", 48 | "2a06:98c1:3123:e000::5", 49 | "2a06:98c1:3123:e000::8", 50 | "2a06:98c1:3123:e000::c" 51 | ], 52 | "cidr4": [ 53 | "104.16.0.0/12", 54 | "188.114.96.0/22", 55 | "216.198.0.0/18", 56 | "34.128.0.0/10", 57 | "34.32.0.0/11", 58 | "34.64.0.0/10", 59 | "34.8.0.0/13" 60 | ], 61 | "cidr6": [ 62 | "2606:4700::/32", 63 | "2a06:98c1::/32" 64 | ], 65 | "external": { 66 | "domains": [], 67 | "ip4": [], 68 | "ip6": [], 69 | "cidr4": [], 70 | "cidr6": [] 71 | } 72 | } -------------------------------------------------------------------------------- /config/tools/grok.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "api.x.ai", 4 | "asia-south1-livekit.grok.com", 5 | "assets.grok.com", 6 | "assets.x.ai", 7 | "console.x.ai", 8 | "data.x.ai", 9 | "deferred-chat.x.ai", 10 | "docs.x.ai", 11 | "eu-west-1.api.x.ai", 12 | "grok.com", 13 | "grok.x.ai", 14 | "imgen.x.ai", 15 | "jf.x.ai", 16 | "livekit.grok.com", 17 | "login.x.ai", 18 | "ssff.grok.com", 19 | "status.x.ai", 20 | "transcription.grok-v2.x.ai", 21 | "trust.x.ai", 22 | "typeahead.grok.com", 23 | "us-east-1.api.x.ai", 24 | "us-east-4-raw.api.x.ai", 25 | "us-south-1-pltr.api.x.ai", 26 | "us-west-1-raw.api.x.ai", 27 | "us-west-1.api.x.ai", 28 | "www.grok.com", 29 | "www.x.ai" 30 | ], 31 | "dns": [ 32 | "127.0.0.11:53", 33 | "77.88.8.88:53", 34 | "8.8.8.8:53", 35 | "1.1.1.1:53" 36 | ], 37 | "timeout": 3600, 38 | "ip4": [ 39 | "104.18.18.80", 40 | "104.18.19.80", 41 | "104.18.26.175", 42 | "104.18.27.175", 43 | "104.18.28.234", 44 | "104.18.29.234", 45 | "13.248.245.245", 46 | "13.56.24.14", 47 | "184.169.222.235", 48 | "188.114.98.228", 49 | "188.114.99.228", 50 | "199.16.156.218", 51 | "199.16.156.221", 52 | "34.13.75.26", 53 | "34.48.4.24", 54 | "35.227.192.44", 55 | "52.52.192.17", 56 | "76.223.112.12" 57 | ], 58 | "ip6": [ 59 | "2606:4700::6812:1250", 60 | "2606:4700::6812:1350", 61 | "2606:4700::6812:1aaf", 62 | "2606:4700::6812:1baf", 63 | "2606:4700::6812:1cea", 64 | "2606:4700::6812:1dea", 65 | "2a06:98c1:3122:e000::4", 66 | "2a06:98c1:3123:e000::4" 67 | ], 68 | "cidr4": [ 69 | "104.16.0.0/12", 70 | "13.248.0.0/14", 71 | "13.56.0.0/14", 72 | "184.169.128.0/17", 73 | "188.114.96.0/22", 74 | "199.16.156.0/22", 75 | "34.32.0.0/11", 76 | "34.8.0.0/13", 77 | "35.224.0.0/12", 78 | "52.0.0.0/10", 79 | "76.223.0.0/17" 80 | ], 81 | "cidr6": [ 82 | "2606:4700::/32", 83 | "2a06:98c1::/32" 84 | ], 85 | "external": { 86 | "domains": [], 87 | "ip4": [], 88 | "ip6": [], 89 | "cidr4": [], 90 | "cidr6": [] 91 | } 92 | } -------------------------------------------------------------------------------- /config/tools/medium.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "cdn-client.medium.com", 4 | "glyph.medium.com", 5 | "medium.com", 6 | "miro.medium.com", 7 | "nevanga.medium.com", 8 | "www.medium.com" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "162.159.152.4", 19 | "162.159.153.4" 20 | ], 21 | "ip6": [ 22 | "2606:4700:7::a29f:9804", 23 | "2606:4700:7::a29f:9904" 24 | ], 25 | "cidr4": [ 26 | "162.158.0.0/15" 27 | ], 28 | "cidr6": [ 29 | "2606:4700::/32" 30 | ], 31 | "external": { 32 | "domains": [], 33 | "ip4": [], 34 | "ip6": [], 35 | "cidr4": [], 36 | "cidr6": [] 37 | } 38 | } -------------------------------------------------------------------------------- /config/tools/proxyline.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "bot.proxyline.net", 4 | "dev.proxyline.net", 5 | "logserver.proxyline.net", 6 | "panel.proxyline.net", 7 | "panel2.proxyline.net", 8 | "proxydb.proxyline.net", 9 | "proxydbtest.proxyline.net", 10 | "proxyline.net", 11 | "services.proxyline.net", 12 | "static.proxyline.net", 13 | "www.bot.proxyline.net", 14 | "www.dev.proxyline.net", 15 | "www.proxyline.net" 16 | ], 17 | "dns": [ 18 | "127.0.0.11:53", 19 | "77.88.8.88:53", 20 | "8.8.8.8:53", 21 | "1.1.1.1:53" 22 | ], 23 | "timeout": 3600, 24 | "ip4": [ 25 | "134.209.203.230", 26 | "164.90.195.46", 27 | "165.22.192.113", 28 | "167.172.171.13", 29 | "192.124.249.153", 30 | "192.124.249.61", 31 | "5.2.79.208", 32 | "92.205.135.16" 33 | ], 34 | "ip6": [], 35 | "cidr4": [ 36 | "134.209.0.0/16", 37 | "164.90.128.0/17", 38 | "165.22.0.0/16", 39 | "167.172.0.0/16", 40 | "192.124.249.0/24", 41 | "5.2.79.0/24", 42 | "92.205.128.0/20" 43 | ], 44 | "cidr6": [], 45 | "external": { 46 | "domains": [], 47 | "ip4": [], 48 | "ip6": [], 49 | "cidr4": [], 50 | "cidr6": [] 51 | } 52 | } -------------------------------------------------------------------------------- /config/tools/tuta.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "app.test.tuta.com", 4 | "app.tuta.com", 5 | "mta-sts.test.tuta.com", 6 | "mta-sts.tuta.com", 7 | "pay.test.tuta.com", 8 | "pay.tuta.com", 9 | "status.tuta.com", 10 | "test.tuta.com", 11 | "tuta.com", 12 | "tutanota.com", 13 | "w1.api.test.tuta.com", 14 | "w10.api.tuta.com", 15 | "w11.api.tuta.com", 16 | "w12.api.tuta.com", 17 | "w13.api.tuta.com", 18 | "w14.api.tuta.com", 19 | "w15.api.tuta.com", 20 | "w16.api.tuta.com", 21 | "w2.api.test.tuta.com", 22 | "w3.api.test.tuta.com", 23 | "w4.api.test.tuta.com", 24 | "w5.api.test.tuta.com", 25 | "w6.api.test.tuta.com", 26 | "w7.api.test.tuta.com", 27 | "w8.api.test.tuta.com", 28 | "w9.api.tuta.com", 29 | "www.tuta.com" 30 | ], 31 | "dns": [ 32 | "127.0.0.11:53", 33 | "77.88.8.88:53", 34 | "8.8.8.8:53", 35 | "1.1.1.1:53" 36 | ], 37 | "timeout": 3600, 38 | "ip4": [ 39 | "185.205.69.10", 40 | "185.205.69.11", 41 | "185.205.69.12", 42 | "185.205.69.13", 43 | "185.205.69.14", 44 | "185.205.69.15", 45 | "185.205.69.16", 46 | "185.205.69.235", 47 | "185.205.69.236", 48 | "185.205.69.237", 49 | "185.205.69.238", 50 | "185.205.69.9", 51 | "188.40.133.51", 52 | "188.40.133.52", 53 | "188.40.133.53", 54 | "188.40.133.54", 55 | "51.79.77.52" 56 | ], 57 | "ip6": [ 58 | "2a01:4f8:221:1d48::100:51", 59 | "2a01:4f8:221:1d48::100:52", 60 | "2a01:4f8:221:1d48::100:53", 61 | "2a01:4f8:221:1d48::100:54", 62 | "2a10:e000:1::10", 63 | "2a10:e000:1::11", 64 | "2a10:e000:1::12", 65 | "2a10:e000:1::13", 66 | "2a10:e000:1::14", 67 | "2a10:e000:1::15", 68 | "2a10:e000:1::16", 69 | "2a10:e000:1::7:0:5", 70 | "2a10:e000:1::7:0:6", 71 | "2a10:e000:1::7:0:7", 72 | "2a10:e000:1::7:0:8", 73 | "2a10:e000:1::9" 74 | ], 75 | "cidr4": [ 76 | "185.205.69.0/24", 77 | "188.40.133.0/26", 78 | "51.79.0.0/16" 79 | ], 80 | "cidr6": [ 81 | "2a01:4f8:221:1d48::/64", 82 | "2a10:e000:1::/48" 83 | ], 84 | "external": { 85 | "domains": [], 86 | "ip4": [], 87 | "ip6": [], 88 | "cidr4": [], 89 | "cidr6": [] 90 | } 91 | } -------------------------------------------------------------------------------- /config/torrent/1337x.to.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "1337x.to", 4 | "www.1337x.to" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.40.193", 15 | "104.31.16.11", 16 | "104.31.16.118", 17 | "172.67.188.67" 18 | ], 19 | "ip6": [ 20 | "2606:4700:3032::ac43:bc43", 21 | "2606:4700:3035::6815:28c1" 22 | ], 23 | "cidr4": [ 24 | "104.16.0.0/12", 25 | "172.64.0.0/13" 26 | ], 27 | "cidr6": [ 28 | "2606:4700::/32" 29 | ], 30 | "external": { 31 | "domains": [], 32 | "ip4": [], 33 | "ip6": [], 34 | "cidr4": [], 35 | "cidr6": [] 36 | } 37 | } -------------------------------------------------------------------------------- /config/torrent/booktracker.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "booktracker.org", 4 | "bt.booktracker.work", 5 | "www.booktracker.org" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "45.137.66.127" 16 | ], 17 | "ip6": [], 18 | "cidr4": [ 19 | "45.137.66.0/25" 20 | ], 21 | "cidr6": [], 22 | "external": { 23 | "domains": [], 24 | "ip4": [], 25 | "ip6": [], 26 | "cidr4": [], 27 | "cidr6": [] 28 | } 29 | } -------------------------------------------------------------------------------- /config/torrent/filmitorrent.net.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "filmitorrent.net", 4 | "www.filmitorrent.net" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.56.133", 15 | "172.67.152.25", 16 | "5.61.56.31" 17 | ], 18 | "ip6": [ 19 | "2606:4700:3032::6815:3885", 20 | "2606:4700:3037::ac43:9819" 21 | ], 22 | "cidr4": [ 23 | "104.16.0.0/12", 24 | "172.64.0.0/13", 25 | "5.61.56.0/22" 26 | ], 27 | "cidr6": [ 28 | "2606:4700::/32" 29 | ], 30 | "external": { 31 | "domains": [], 32 | "ip4": [], 33 | "ip6": [], 34 | "cidr4": [], 35 | "cidr6": [] 36 | } 37 | } -------------------------------------------------------------------------------- /config/torrent/kinozal.me.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "kinozal.me", 4 | "wstracker.online", 5 | "www.kinozal.me" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "104.21.87.84", 16 | "13.229.114.252", 17 | "172.67.142.133", 18 | "18.141.199.30", 19 | "18.141.222.153", 20 | "54.169.253.230" 21 | ], 22 | "ip6": [ 23 | "2606:4700:3031::ac43:8e85", 24 | "2606:4700:3033::6815:5754" 25 | ], 26 | "cidr4": [ 27 | "104.16.0.0/12", 28 | "13.224.0.0/12", 29 | "172.64.0.0/13", 30 | "18.128.0.0/9", 31 | "54.160.0.0/11" 32 | ], 33 | "cidr6": [ 34 | "2606:4700::/32" 35 | ], 36 | "external": { 37 | "domains": [], 38 | "ip4": [], 39 | "ip6": [], 40 | "cidr4": [], 41 | "cidr6": [] 42 | } 43 | } -------------------------------------------------------------------------------- /config/torrent/newstudio.tv.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "newstudio.tv", 4 | "www.newstudio.tv" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "193.33.171.87" 15 | ], 16 | "ip6": [], 17 | "cidr4": [ 18 | "193.33.170.0/23" 19 | ], 20 | "cidr6": [], 21 | "external": { 22 | "domains": [], 23 | "ip4": [], 24 | "ip6": [], 25 | "cidr4": [], 26 | "cidr6": [] 27 | } 28 | } -------------------------------------------------------------------------------- /config/torrent/nnmclub.to.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "nnmclub.to", 4 | "nnmstatic.win", 5 | "www.nnmclub.to", 6 | "www.nnmstatic.win" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.21.112.1", 17 | "104.21.16.1", 18 | "104.21.17.86", 19 | "104.21.32.1", 20 | "104.21.48.1", 21 | "104.21.64.1", 22 | "104.21.80.1", 23 | "104.21.95.93", 24 | "104.21.96.1", 25 | "172.67.144.20", 26 | "172.67.175.99", 27 | "188.114.96.1", 28 | "188.114.96.10", 29 | "188.114.96.3", 30 | "188.114.96.7", 31 | "188.114.97.1", 32 | "188.114.97.10", 33 | "188.114.97.3", 34 | "188.114.97.7" 35 | ], 36 | "ip6": [ 37 | "2606:4700:3030::6815:1001", 38 | "2606:4700:3030::6815:2001", 39 | "2606:4700:3030::6815:3001", 40 | "2606:4700:3030::6815:4001", 41 | "2606:4700:3030::6815:5001", 42 | "2606:4700:3030::6815:6001", 43 | "2606:4700:3030::6815:7001", 44 | "2606:4700:3035::6815:5f5d", 45 | "2606:4700:3035::ac43:af63", 46 | "2606:4700:3036::6815:1156", 47 | "2606:4700:3037::ac43:9014", 48 | "2a06:98c1:3120::", 49 | "2a06:98c1:3120::1", 50 | "2a06:98c1:3120::3", 51 | "2a06:98c1:3120::7", 52 | "2a06:98c1:3120::9", 53 | "2a06:98c1:3120::a", 54 | "2a06:98c1:3120::b", 55 | "2a06:98c1:3121::", 56 | "2a06:98c1:3121::1", 57 | "2a06:98c1:3121::3", 58 | "2a06:98c1:3121::7", 59 | "2a06:98c1:3121::9", 60 | "2a06:98c1:3121::a", 61 | "2a06:98c1:3121::b" 62 | ], 63 | "cidr4": [ 64 | "104.16.0.0/12", 65 | "172.64.0.0/13", 66 | "188.114.96.0/22" 67 | ], 68 | "cidr6": [ 69 | "2606:4700::/32", 70 | "2a06:98c1::/32" 71 | ], 72 | "external": { 73 | "domains": [], 74 | "ip4": [], 75 | "ip6": [], 76 | "cidr4": [], 77 | "cidr6": [] 78 | } 79 | } -------------------------------------------------------------------------------- /config/torrent/rustorka.com.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "open.stealth.si", 4 | "rustorka.com", 5 | "tr.ysagin.top", 6 | "tr3.ysagin.top", 7 | "tracker.torrent.eu.org", 8 | "wstracker.online", 9 | "www.rustorka.com" 10 | ], 11 | "dns": [ 12 | "127.0.0.11:53", 13 | "77.88.8.88:53", 14 | "8.8.8.8:53", 15 | "1.1.1.1:53" 16 | ], 17 | "timeout": 3600, 18 | "ip4": [ 19 | "104.21.52.252", 20 | "13.229.114.252", 21 | "151.80.20.63", 22 | "172.67.206.19", 23 | "18.141.199.30", 24 | "18.141.222.153", 25 | "185.209.20.242", 26 | "185.243.218.213", 27 | "185.81.128.161", 28 | "54.169.253.230", 29 | "89.234.156.205", 30 | "91.216.110.52", 31 | "91.216.110.53", 32 | "94.23.220.147" 33 | ], 34 | "ip6": [ 35 | "2001:41d0:2:5f93::1", 36 | "2606:4700:3034::6815:34fc", 37 | "2606:4700:3034::ac43:ce13", 38 | "2a03:7220:8083:cd00::1", 39 | "2a03:94e0:ffff:185:243:218:0:213" 40 | ], 41 | "cidr4": [ 42 | "104.16.0.0/12", 43 | "13.224.0.0/12", 44 | "151.80.16.0/20", 45 | "172.64.0.0/13", 46 | "18.128.0.0/9", 47 | "185.209.20.128/25", 48 | "185.243.218.0/24", 49 | "185.81.128.0/23", 50 | "54.160.0.0/11", 51 | "89.234.156.0/24", 52 | "91.216.110.0/24", 53 | "94.23.192.0/18" 54 | ], 55 | "cidr6": [ 56 | "2001:41d0::/44", 57 | "2606:4700::/32", 58 | "2a03:7220:8083::/48", 59 | "2a03:94e0::/32" 60 | ], 61 | "external": { 62 | "domains": [], 63 | "ip4": [], 64 | "ip6": [], 65 | "cidr4": [], 66 | "cidr6": [] 67 | } 68 | } -------------------------------------------------------------------------------- /config/torrent/rutor.info.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "rutor.info", 4 | "rutor.is", 5 | "rutor.org", 6 | "www.rutor.info", 7 | "www.rutor.is", 8 | "www.rutor.org" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "104.21.112.1", 19 | "104.21.12.243", 20 | "104.21.16.1", 21 | "104.21.32.1", 22 | "104.21.48.1", 23 | "104.21.64.1", 24 | "104.21.80.1", 25 | "104.21.96.1", 26 | "172.67.153.242", 27 | "188.114.96.1", 28 | "188.114.96.10", 29 | "188.114.96.11", 30 | "188.114.96.12", 31 | "188.114.96.3", 32 | "188.114.96.7", 33 | "188.114.96.9", 34 | "188.114.97.1", 35 | "188.114.97.10", 36 | "188.114.97.11", 37 | "188.114.97.12", 38 | "188.114.97.3", 39 | "188.114.97.7", 40 | "188.114.97.9", 41 | "193.46.255.26", 42 | "193.46.255.29" 43 | ], 44 | "ip6": [ 45 | "2606:4700:3030::6815:1001", 46 | "2606:4700:3030::6815:2001", 47 | "2606:4700:3030::6815:3001", 48 | "2606:4700:3030::6815:4001", 49 | "2606:4700:3030::6815:5001", 50 | "2606:4700:3030::6815:6001", 51 | "2606:4700:3030::6815:7001", 52 | "2606:4700:3032::6815:cf3", 53 | "2606:4700:3036::ac43:99f2", 54 | "2a06:98c1:3120::", 55 | "2a06:98c1:3120::1", 56 | "2a06:98c1:3120::3", 57 | "2a06:98c1:3120::7", 58 | "2a06:98c1:3120::9", 59 | "2a06:98c1:3120::a", 60 | "2a06:98c1:3120::b", 61 | "2a06:98c1:3120::c", 62 | "2a06:98c1:3121::", 63 | "2a06:98c1:3121::1", 64 | "2a06:98c1:3121::3", 65 | "2a06:98c1:3121::7", 66 | "2a06:98c1:3121::9", 67 | "2a06:98c1:3121::a", 68 | "2a06:98c1:3121::b", 69 | "2a06:98c1:3121::c" 70 | ], 71 | "cidr4": [ 72 | "104.16.0.0/12", 73 | "172.64.0.0/13", 74 | "188.114.96.0/22", 75 | "193.46.255.0/24" 76 | ], 77 | "cidr6": [ 78 | "2606:4700::/32", 79 | "2a06:98c1::/32" 80 | ], 81 | "external": { 82 | "domains": [], 83 | "ip4": [], 84 | "ip6": [], 85 | "cidr4": [], 86 | "cidr6": [] 87 | } 88 | } -------------------------------------------------------------------------------- /config/torrent/rutracker.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "bt.t-ru.org", 4 | "bt2.t-ru.org", 5 | "bt3.t-ru.org", 6 | "bt4.t-ru.org", 7 | "rutracker.net", 8 | "rutracker.org", 9 | "rutracker.ru", 10 | "rutracker.wiki", 11 | "rutrk.org", 12 | "static.rutracker.cc", 13 | "t-ru.org", 14 | "www.rutracker.org", 15 | "www.rutracker.ru", 16 | "www.rutracker.wiki", 17 | "www.rutrk.org", 18 | "www.t-ru.org" 19 | ], 20 | "dns": [ 21 | "127.0.0.11:53", 22 | "77.88.8.88:53", 23 | "8.8.8.8:53", 24 | "1.1.1.1:53" 25 | ], 26 | "timeout": 3600, 27 | "ip4": [ 28 | "104.21.0.111", 29 | "104.21.1.151", 30 | "104.21.112.1", 31 | "104.21.16.1", 32 | "104.21.32.1", 33 | "104.21.32.127", 34 | "104.21.32.39", 35 | "104.21.48.1", 36 | "104.21.50.150", 37 | "104.21.64.1", 38 | "104.21.7.164", 39 | "104.21.80.1", 40 | "104.21.96.1", 41 | "162.159.140.104", 42 | "162.159.140.160", 43 | "172.66.0.102", 44 | "172.66.0.158", 45 | "172.67.128.13", 46 | "172.67.136.246", 47 | "172.67.151.249", 48 | "172.67.163.237", 49 | "172.67.182.196", 50 | "172.67.185.253", 51 | "185.81.128.108", 52 | "188.114.96.1", 53 | "188.114.96.10", 54 | "188.114.96.11", 55 | "188.114.96.12", 56 | "188.114.96.3", 57 | "188.114.96.7", 58 | "188.114.96.8", 59 | "188.114.96.9", 60 | "188.114.97.1", 61 | "188.114.97.10", 62 | "188.114.97.11", 63 | "188.114.97.12", 64 | "188.114.97.3", 65 | "188.114.97.7", 66 | "188.114.97.8", 67 | "188.114.97.9" 68 | ], 69 | "ip6": [ 70 | "2606:4700:3030::6815:1001", 71 | "2606:4700:3030::6815:2001", 72 | "2606:4700:3030::6815:3001", 73 | "2606:4700:3030::6815:4001", 74 | "2606:4700:3030::6815:5001", 75 | "2606:4700:3030::6815:6001", 76 | "2606:4700:3030::6815:7001", 77 | "2606:4700:3030::ac43:97f9", 78 | "2606:4700:3030::ac43:a3ed", 79 | "2606:4700:3031::6815:2027", 80 | "2606:4700:3032::6815:7a4", 81 | "2606:4700:3034::ac43:b6c4", 82 | "2606:4700:3035::6815:207f", 83 | "2606:4700:3035::6815:3296", 84 | "2606:4700:3035::ac43:800d", 85 | "2606:4700:3037::6815:197", 86 | "2606:4700:3037::ac43:88f6", 87 | "2606:4700:7::66", 88 | "2606:4700:7::9e", 89 | "2a06:98c1:3120::", 90 | "2a06:98c1:3120::1", 91 | "2a06:98c1:3120::3", 92 | "2a06:98c1:3120::7", 93 | "2a06:98c1:3120::8", 94 | "2a06:98c1:3120::a", 95 | "2a06:98c1:3120::b", 96 | "2a06:98c1:3120::c", 97 | "2a06:98c1:3121::", 98 | "2a06:98c1:3121::1", 99 | "2a06:98c1:3121::3", 100 | "2a06:98c1:3121::7", 101 | "2a06:98c1:3121::8", 102 | "2a06:98c1:3121::a", 103 | "2a06:98c1:3121::b", 104 | "2a06:98c1:3121::c", 105 | "2a06:98c1:58::66", 106 | "2a06:98c1:58::9e" 107 | ], 108 | "cidr4": [ 109 | "104.16.0.0/12", 110 | "162.158.0.0/15", 111 | "172.64.0.0/13", 112 | "185.81.128.0/23", 113 | "188.114.96.0/22" 114 | ], 115 | "cidr6": [ 116 | "2606:4700::/32", 117 | "2a06:98c1::/32" 118 | ], 119 | "external": { 120 | "domains": [], 121 | "ip4": [], 122 | "ip6": [], 123 | "cidr4": [], 124 | "cidr6": [] 125 | } 126 | } -------------------------------------------------------------------------------- /config/torrent/thepiratebay.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "thepiratebay.org", 4 | "torrindex.net", 5 | "www.thepiratebay.org", 6 | "www.torrindex.net" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.21.70.143", 17 | "162.159.136.6", 18 | "162.159.137.6", 19 | "172.67.136.186" 20 | ], 21 | "ip6": [ 22 | "2606:4700:3034::6815:468f", 23 | "2606:4700:3036::ac43:88ba", 24 | "2606:4700:7::a29f:8806", 25 | "2606:4700:7::a29f:8906" 26 | ], 27 | "cidr4": [ 28 | "104.16.0.0/12", 29 | "162.158.0.0/15", 30 | "172.64.0.0/13" 31 | ], 32 | "cidr6": [ 33 | "2606:4700::/32" 34 | ], 35 | "external": { 36 | "domains": [], 37 | "ip4": [], 38 | "ip6": [], 39 | "cidr4": [], 40 | "cidr6": [] 41 | } 42 | } -------------------------------------------------------------------------------- /config/torrent/torrent.by.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "torrent.by", 4 | "www.torrent.by" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "185.43.220.240" 15 | ], 16 | "ip6": [], 17 | "cidr4": [ 18 | "185.43.220.0/24" 19 | ], 20 | "cidr6": [], 21 | "external": { 22 | "domains": [], 23 | "ip4": [], 24 | "ip6": [], 25 | "cidr4": [], 26 | "cidr6": [] 27 | } 28 | } -------------------------------------------------------------------------------- /config/video/dorama.live.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "dorama.live", 4 | "doramalive.ru", 5 | "www.dorama.live", 6 | "www.doramalive.ru" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.21.36.145", 17 | "104.21.76.10", 18 | "104.26.2.189", 19 | "104.26.3.189", 20 | "172.67.184.205", 21 | "172.67.195.27", 22 | "172.67.68.145", 23 | "188.114.96.1", 24 | "188.114.96.10", 25 | "188.114.96.12", 26 | "188.114.96.3", 27 | "188.114.96.7", 28 | "188.114.96.8", 29 | "188.114.96.9", 30 | "188.114.97.1", 31 | "188.114.97.10", 32 | "188.114.97.12", 33 | "188.114.97.3", 34 | "188.114.97.7", 35 | "188.114.97.8", 36 | "188.114.97.9", 37 | "188.114.98.224", 38 | "188.114.98.229", 39 | "188.114.99.224", 40 | "188.114.99.229", 41 | "37.46.131.169" 42 | ], 43 | "ip6": [], 44 | "cidr4": [ 45 | "104.16.0.0/12", 46 | "172.64.0.0/13", 47 | "188.114.96.0/22", 48 | "37.46.128.0/22" 49 | ], 50 | "cidr6": [], 51 | "external": { 52 | "domains": [], 53 | "ip4": [], 54 | "ip6": [], 55 | "cidr4": [], 56 | "cidr6": [] 57 | } 58 | } -------------------------------------------------------------------------------- /config/video/doramy.club.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "doramy.club", 4 | "www.doramy.club" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.73.130", 15 | "172.67.162.234", 16 | "94.131.105.251" 17 | ], 18 | "ip6": [ 19 | "2606:4700:3033::6815:4982", 20 | "2606:4700:3036::ac43:a2ea", 21 | "2a0a:2b43:69:7a26::" 22 | ], 23 | "cidr4": [ 24 | "104.16.0.0/12", 25 | "172.64.0.0/13", 26 | "94.131.105.0/24" 27 | ], 28 | "cidr6": [ 29 | "2606:4700::/32", 30 | "2a0a:2b43::/32" 31 | ], 32 | "external": { 33 | "domains": [], 34 | "ip4": [], 35 | "ip6": [], 36 | "cidr4": [], 37 | "cidr6": [] 38 | } 39 | } -------------------------------------------------------------------------------- /config/video/filmix.fm.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "filmix.biz", 4 | "filmix.fm", 5 | "thumbs.filmix.fm", 6 | "www.filmix.biz", 7 | "www.filmix.fm" 8 | ], 9 | "dns": [ 10 | "127.0.0.11:53", 11 | "77.88.8.88:53", 12 | "8.8.8.8:53", 13 | "1.1.1.1:53" 14 | ], 15 | "timeout": 3600, 16 | "ip4": [ 17 | "31.222.238.164", 18 | "31.222.238.167", 19 | "51.89.235.224", 20 | "67.159.8.114" 21 | ], 22 | "ip6": [], 23 | "cidr4": [ 24 | "31.222.238.128/25", 25 | "51.89.235.0/24", 26 | "67.159.0.0/18" 27 | ], 28 | "cidr6": [], 29 | "external": { 30 | "domains": [], 31 | "ip4": [], 32 | "ip6": [], 33 | "cidr4": [], 34 | "cidr6": [] 35 | } 36 | } -------------------------------------------------------------------------------- /config/video/kino.pub.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "kino.pub", 4 | "www.kino.pub" 5 | ], 6 | "dns": [ 7 | "127.0.0.11:53", 8 | "77.88.8.88:53", 9 | "8.8.8.8:53", 10 | "1.1.1.1:53" 11 | ], 12 | "timeout": 3600, 13 | "ip4": [ 14 | "104.21.45.187", 15 | "104.26.2.190", 16 | "104.26.3.190", 17 | "13.36.119.68", 18 | "13.36.221.74", 19 | "13.36.35.231", 20 | "13.36.91.106", 21 | "13.37.142.122", 22 | "13.37.150.174", 23 | "13.37.154.218", 24 | "13.37.158.119", 25 | "13.37.16.222", 26 | "13.37.194.78", 27 | "13.37.199.183", 28 | "13.37.80.212", 29 | "13.38.142.196", 30 | "13.39.63.123", 31 | "13.39.67.185", 32 | "13.39.70.8", 33 | "13.39.89.90", 34 | "15.188.136.126", 35 | "15.188.148.206", 36 | "15.188.197.131", 37 | "15.236.1.32", 38 | "15.236.240.236", 39 | "15.237.232.252", 40 | "172.66.40.229", 41 | "172.66.43.27", 42 | "172.67.218.67", 43 | "172.67.74.191", 44 | "188.114.96.7", 45 | "188.114.97.7", 46 | "188.114.98.224", 47 | "188.114.98.228", 48 | "188.114.99.224", 49 | "188.114.99.228", 50 | "35.180.146.98", 51 | "35.180.18.7", 52 | "35.180.235.58", 53 | "35.181.20.132", 54 | "35.181.212.53", 55 | "35.181.236.102", 56 | "35.181.236.166", 57 | "35.181.246.19", 58 | "35.181.38.69", 59 | "35.181.86.81", 60 | "46.166.167.66", 61 | "5.188.189.95", 62 | "5.188.94.5", 63 | "51.44.150.61", 64 | "51.44.45.182", 65 | "51.44.65.138", 66 | "52.47.111.119", 67 | "52.47.167.129", 68 | "52.47.63.37", 69 | "92.223.84.84", 70 | "95.129.233.136" 71 | ], 72 | "ip6": [ 73 | "2606:4700:20::681a:2be", 74 | "2606:4700:20::681a:3be", 75 | "2606:4700:20::ac43:4abf", 76 | "2606:4700:3033::ac43:da43", 77 | "2606:4700:3034::6815:2dbb", 78 | "2606:4700:3108::ac42:28e5", 79 | "2606:4700:3108::ac42:2b1b", 80 | "2a06:98c1:3120::7", 81 | "2a06:98c1:3121::7", 82 | "2a06:98c1:3122:e000::", 83 | "2a06:98c1:3122:e000::4", 84 | "2a06:98c1:3123:e000::", 85 | "2a06:98c1:3123:e000::4" 86 | ], 87 | "cidr4": [ 88 | "104.16.0.0/12", 89 | "13.32.0.0/12", 90 | "15.188.0.0/16", 91 | "15.236.0.0/14", 92 | "172.64.0.0/13", 93 | "188.114.96.0/22", 94 | "35.176.0.0/13", 95 | "46.166.167.64/29", 96 | "5.188.188.0/22", 97 | "5.188.94.0/24", 98 | "51.44.0.0/16", 99 | "52.0.0.0/10", 100 | "92.223.84.0/24", 101 | "95.129.233.136/29" 102 | ], 103 | "cidr6": [ 104 | "2606:4700::/32", 105 | "2a06:98c1::/32" 106 | ], 107 | "external": { 108 | "domains": [], 109 | "ip4": [], 110 | "ip6": [], 111 | "cidr4": [], 112 | "cidr6": [] 113 | } 114 | } -------------------------------------------------------------------------------- /config/video/kinobase.org.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "kinobase.org", 4 | "st.kinobase.org", 5 | "www.kinobase.org" 6 | ], 7 | "dns": [ 8 | "127.0.0.11:53", 9 | "77.88.8.88:53", 10 | "8.8.8.8:53", 11 | "1.1.1.1:53" 12 | ], 13 | "timeout": 3600, 14 | "ip4": [ 15 | "179.43.151.32", 16 | "179.43.166.40", 17 | "188.40.132.87", 18 | "37.1.201.40", 19 | "38.180.84.155" 20 | ], 21 | "ip6": [], 22 | "cidr4": [ 23 | "179.32.0.0/12", 24 | "188.40.132.64/26", 25 | "37.1.200.0/21", 26 | "38.0.0.0/8" 27 | ], 28 | "cidr6": [], 29 | "external": { 30 | "domains": [], 31 | "ip4": [], 32 | "ip6": [], 33 | "cidr4": [], 34 | "cidr6": [] 35 | } 36 | } -------------------------------------------------------------------------------- /config/video/kinovod.pro.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "kinovod.net", 4 | "kinovod.pro", 5 | "st.kinovod.net", 6 | "www.kinovod.net", 7 | "www.kinovod.pro" 8 | ], 9 | "dns": [ 10 | "127.0.0.11:53", 11 | "77.88.8.88:53", 12 | "8.8.8.8:53", 13 | "1.1.1.1:53" 14 | ], 15 | "timeout": 3600, 16 | "ip4": [ 17 | "179.43.141.12", 18 | "185.109.48.87", 19 | "188.40.132.87", 20 | "38.180.161.84", 21 | "81.17.19.7" 22 | ], 23 | "ip6": [], 24 | "cidr4": [ 25 | "179.32.0.0/12", 26 | "185.109.48.0/25", 27 | "188.40.132.64/26", 28 | "38.0.0.0/8", 29 | "81.17.19.0/25" 30 | ], 31 | "cidr6": [], 32 | "external": { 33 | "domains": [], 34 | "ip4": [], 35 | "ip6": [], 36 | "cidr4": [], 37 | "cidr6": [] 38 | } 39 | } -------------------------------------------------------------------------------- /config/video/kinozal.tv.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "kinozal.me", 4 | "kinozal.tv", 5 | "www.kinozal.me", 6 | "www.kinozal.tv" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.21.87.84", 17 | "104.21.89.161", 18 | "172.67.142.133", 19 | "172.67.189.243", 20 | "188.114.96.1", 21 | "188.114.96.10", 22 | "188.114.96.12", 23 | "188.114.96.3", 24 | "188.114.96.7", 25 | "188.114.96.8", 26 | "188.114.97.1", 27 | "188.114.97.10", 28 | "188.114.97.12", 29 | "188.114.97.3", 30 | "188.114.97.7", 31 | "188.114.97.8" 32 | ], 33 | "ip6": [ 34 | "2606:4700:3031::ac43:8e85", 35 | "2606:4700:3033::6815:5754", 36 | "2606:4700:3037::6815:59a1", 37 | "2606:4700:3037::ac43:bdf3", 38 | "2a06:98c1:3120::", 39 | "2a06:98c1:3120::1", 40 | "2a06:98c1:3120::3", 41 | "2a06:98c1:3120::6", 42 | "2a06:98c1:3120::7", 43 | "2a06:98c1:3120::8", 44 | "2a06:98c1:3120::a", 45 | "2a06:98c1:3120::b", 46 | "2a06:98c1:3120::c", 47 | "2a06:98c1:3121::", 48 | "2a06:98c1:3121::1", 49 | "2a06:98c1:3121::3", 50 | "2a06:98c1:3121::6", 51 | "2a06:98c1:3121::7", 52 | "2a06:98c1:3121::8", 53 | "2a06:98c1:3121::a", 54 | "2a06:98c1:3121::b", 55 | "2a06:98c1:3121::c" 56 | ], 57 | "cidr4": [ 58 | "104.16.0.0/12", 59 | "172.64.0.0/13", 60 | "188.114.96.0/22" 61 | ], 62 | "cidr6": [ 63 | "2606:4700::/32", 64 | "2a06:98c1::/32" 65 | ], 66 | "external": { 67 | "domains": [], 68 | "ip4": [], 69 | "ip6": [], 70 | "cidr4": [], 71 | "cidr6": [] 72 | } 73 | } -------------------------------------------------------------------------------- /config/video/lostfilm.tv.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "lostfilm.run", 4 | "lostfilm.tv", 5 | "lostfilm.win", 6 | "www.lostfilm.run", 7 | "www.lostfilm.tv", 8 | "www.lostfilm.win" 9 | ], 10 | "dns": [ 11 | "127.0.0.11:53", 12 | "77.88.8.88:53", 13 | "8.8.8.8:53", 14 | "1.1.1.1:53" 15 | ], 16 | "timeout": 3600, 17 | "ip4": [ 18 | "104.21.112.1", 19 | "104.21.16.1", 20 | "104.21.32.1", 21 | "104.21.48.1", 22 | "104.21.64.1", 23 | "104.21.75.190", 24 | "104.21.80.1", 25 | "104.21.9.225", 26 | "104.21.96.1", 27 | "134.119.176.19", 28 | "134.119.176.20", 29 | "134.119.176.21", 30 | "134.119.176.22", 31 | "134.119.176.23", 32 | "134.119.176.24", 33 | "134.119.176.25", 34 | "134.119.176.26", 35 | "134.119.176.27", 36 | "134.119.176.28", 37 | "134.119.176.29", 38 | "134.119.176.30", 39 | "172.67.161.94", 40 | "172.67.180.224", 41 | "185.85.121.13", 42 | "188.114.96.1", 43 | "188.114.96.10", 44 | "188.114.96.3", 45 | "188.114.96.7", 46 | "188.114.97.1", 47 | "188.114.97.10", 48 | "188.114.97.3", 49 | "188.114.97.7", 50 | "192.155.108.147", 51 | "192.155.108.148", 52 | "192.155.108.149", 53 | "192.155.108.150", 54 | "192.155.108.151", 55 | "192.155.108.152", 56 | "192.155.108.153", 57 | "192.155.108.154", 58 | "192.155.108.155", 59 | "192.155.108.156", 60 | "192.155.108.157", 61 | "192.155.108.158", 62 | "34.132.102.6", 63 | "34.136.111.81" 64 | ], 65 | "ip6": [ 66 | "2600:1900:4000:ea00:8000:74:2e1c:3f20", 67 | "2600:1900:4000:ea00:8000:74:358f:b667", 68 | "2600:1900:4000:ea00:8000:75:2e1c:3f20", 69 | "2600:1900:4000:ea00:8000:75:358f:b667", 70 | "2606:4700:3030::6815:1001", 71 | "2606:4700:3030::6815:2001", 72 | "2606:4700:3030::6815:3001", 73 | "2606:4700:3030::6815:4001", 74 | "2606:4700:3030::6815:5001", 75 | "2606:4700:3030::6815:6001", 76 | "2606:4700:3030::6815:7001", 77 | "2606:4700:3032::6815:4bbe", 78 | "2606:4700:3033::ac43:b4e0", 79 | "2606:4700:3034::ac43:a15e", 80 | "2606:4700:3037::6815:9e1", 81 | "2a06:98c1:3120::1", 82 | "2a06:98c1:3120::3", 83 | "2a06:98c1:3120::7", 84 | "2a06:98c1:3120::a", 85 | "2a06:98c1:3121::1", 86 | "2a06:98c1:3121::3", 87 | "2a06:98c1:3121::7", 88 | "2a06:98c1:3121::a" 89 | ], 90 | "cidr4": [ 91 | "104.16.0.0/12", 92 | "134.119.0.0/16", 93 | "172.64.0.0/13", 94 | "185.85.121.0/24", 95 | "188.114.96.0/22", 96 | "192.155.96.0/20", 97 | "34.128.0.0/10" 98 | ], 99 | "cidr6": [ 100 | "2600:1900::/28", 101 | "2606:4700::/32", 102 | "2a06:98c1::/32" 103 | ], 104 | "external": { 105 | "domains": [], 106 | "ip4": [], 107 | "ip6": [], 108 | "cidr4": [], 109 | "cidr6": [] 110 | } 111 | } -------------------------------------------------------------------------------- /config/video/zeflix.online.json: -------------------------------------------------------------------------------- 1 | { 2 | "domains": [ 3 | "www.zeflix.online", 4 | "www.zetimage.net", 5 | "zeflix.online", 6 | "zetimage.net" 7 | ], 8 | "dns": [ 9 | "127.0.0.11:53", 10 | "77.88.8.88:53", 11 | "8.8.8.8:53", 12 | "1.1.1.1:53" 13 | ], 14 | "timeout": 3600, 15 | "ip4": [ 16 | "104.21.23.33", 17 | "104.21.96.36", 18 | "172.67.172.66", 19 | "172.67.208.163", 20 | "188.114.96.1", 21 | "188.114.96.10", 22 | "188.114.96.12", 23 | "188.114.96.3", 24 | "188.114.96.7", 25 | "188.114.96.8", 26 | "188.114.97.1", 27 | "188.114.97.10", 28 | "188.114.97.12", 29 | "188.114.97.3", 30 | "188.114.97.7", 31 | "188.114.97.8" 32 | ], 33 | "ip6": [ 34 | "2606:4700:3031::ac43:ac42", 35 | "2606:4700:3036::6815:1721", 36 | "2606:4700:3036::6815:6024", 37 | "2606:4700:3036::ac43:d0a3", 38 | "2a06:98c1:3120::1", 39 | "2a06:98c1:3120::3", 40 | "2a06:98c1:3120::7", 41 | "2a06:98c1:3120::8", 42 | "2a06:98c1:3120::9", 43 | "2a06:98c1:3120::a", 44 | "2a06:98c1:3120::c", 45 | "2a06:98c1:3121::1", 46 | "2a06:98c1:3121::3", 47 | "2a06:98c1:3121::7", 48 | "2a06:98c1:3121::8", 49 | "2a06:98c1:3121::9", 50 | "2a06:98c1:3121::a", 51 | "2a06:98c1:3121::c" 52 | ], 53 | "cidr4": [ 54 | "104.16.0.0/12", 55 | "172.64.0.0/13", 56 | "188.114.96.0/22" 57 | ], 58 | "cidr6": [ 59 | "2606:4700::/32", 60 | "2a06:98c1::/32" 61 | ], 62 | "external": { 63 | "domains": [], 64 | "ip4": [], 65 | "ip6": [], 66 | "cidr4": [], 67 | "cidr6": [] 68 | } 69 | } -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | services: 2 | app: 3 | restart: unless-stopped 4 | build: 5 | context: . 6 | env_file: 7 | - ./.env 8 | volumes: 9 | - ./src/:/app/src/ 10 | - ./config/:/app/config/ 11 | - ./storage/:/app/storage/ 12 | - ./public/:/app/public/ 13 | ports: 14 | - '8080:8080' 15 | logging: 16 | driver: 'json-file' 17 | options: 18 | max-size: '50m' 19 | # networks: 20 | # - web 21 | #networks: 22 | # web: 23 | # external: true 24 | # name: web 25 | -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | addModule( 12 | /** 13 | * @throws Throwable 14 | * @throws BufferException 15 | */ fn(App $app) => Server::getInstance() 16 | ) 17 | ->start(); 18 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "@prettier/plugin-php": "^0.21.0", 4 | "prettier": "^3.1.0" 5 | }, 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "Rekryt", 10 | "license": "MIT" 11 | } 12 | -------------------------------------------------------------------------------- /public/browserconfig.xml: -------------------------------------------------------------------------------- 1 | 2 | #ffffff -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/favicon.ico -------------------------------------------------------------------------------- /public/images/android-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/android-icon-144x144.png -------------------------------------------------------------------------------- /public/images/android-icon-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/android-icon-192x192.png -------------------------------------------------------------------------------- /public/images/android-icon-36x36.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/android-icon-36x36.png -------------------------------------------------------------------------------- /public/images/android-icon-48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/android-icon-48x48.png -------------------------------------------------------------------------------- /public/images/android-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/android-icon-72x72.png -------------------------------------------------------------------------------- /public/images/android-icon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/android-icon-96x96.png -------------------------------------------------------------------------------- /public/images/apple-icon-114x114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-114x114.png -------------------------------------------------------------------------------- /public/images/apple-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-120x120.png -------------------------------------------------------------------------------- /public/images/apple-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-144x144.png -------------------------------------------------------------------------------- /public/images/apple-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-152x152.png -------------------------------------------------------------------------------- /public/images/apple-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-180x180.png -------------------------------------------------------------------------------- /public/images/apple-icon-57x57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-57x57.png -------------------------------------------------------------------------------- /public/images/apple-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-60x60.png -------------------------------------------------------------------------------- /public/images/apple-icon-72x72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-72x72.png -------------------------------------------------------------------------------- /public/images/apple-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-76x76.png -------------------------------------------------------------------------------- /public/images/apple-icon-precomposed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon-precomposed.png -------------------------------------------------------------------------------- /public/images/apple-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/apple-icon.png -------------------------------------------------------------------------------- /public/images/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/favicon-16x16.png -------------------------------------------------------------------------------- /public/images/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/favicon-32x32.png -------------------------------------------------------------------------------- /public/images/favicon-96x96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/favicon-96x96.png -------------------------------------------------------------------------------- /public/images/icon-512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/icon-512.png -------------------------------------------------------------------------------- /public/images/ms-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/ms-icon-144x144.png -------------------------------------------------------------------------------- /public/images/ms-icon-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/ms-icon-150x150.png -------------------------------------------------------------------------------- /public/images/ms-icon-310x310.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/ms-icon-310x310.png -------------------------------------------------------------------------------- /public/images/ms-icon-70x70.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rekryt/iplist/2cd055c0a22116a57e5811d1f5d10103ed95a735/public/images/ms-icon-70x70.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "IPList", 3 | "icons": [ 4 | { 5 | "src": "\/android-icon-36x36.png", 6 | "sizes": "36x36", 7 | "type": "image\/png", 8 | "density": "0.75" 9 | }, 10 | { 11 | "src": "\/android-icon-48x48.png", 12 | "sizes": "48x48", 13 | "type": "image\/png", 14 | "density": "1.0" 15 | }, 16 | { 17 | "src": "\/android-icon-72x72.png", 18 | "sizes": "72x72", 19 | "type": "image\/png", 20 | "density": "1.5" 21 | }, 22 | { 23 | "src": "\/android-icon-96x96.png", 24 | "sizes": "96x96", 25 | "type": "image\/png", 26 | "density": "2.0" 27 | }, 28 | { 29 | "src": "\/android-icon-144x144.png", 30 | "sizes": "144x144", 31 | "type": "image\/png", 32 | "density": "3.0" 33 | }, 34 | { 35 | "src": "\/android-icon-192x192.png", 36 | "sizes": "192x192", 37 | "type": "image\/png", 38 | "density": "4.0" 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /public/scripts/homeproxy/update_resources.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | SERVICE_URL="https://iplist.opencck.org" 3 | 4 | NAME="homeproxy" 5 | 6 | RESOURCES_DIR="/etc/$NAME/resources" 7 | mkdir -p "$RESOURCES_DIR" 8 | 9 | RUN_DIR="/var/run/$NAME" 10 | LOG_PATH="$RUN_DIR/$NAME.log" 11 | mkdir -p "$RUN_DIR" 12 | 13 | log() { 14 | echo -e "$(date "+%Y-%m-%d %H:%M:%S") $*" >> "$LOG_PATH" 15 | } 16 | 17 | set_lock() { 18 | local act="$1" 19 | local type="$2" 20 | 21 | local lock="$RUN_DIR/update_resources-$type.lock" 22 | if [ "$act" = "set" ]; then 23 | if [ -e "$lock" ]; then 24 | log "[$(to_upper "$type")] A task is already running." 25 | exit 2 26 | else 27 | touch "$lock" 28 | fi 29 | elif [ "$act" = "remove" ]; then 30 | rm -f "$lock" 31 | fi 32 | } 33 | 34 | to_upper() { 35 | echo -e "$1" | tr "[a-z]" "[A-Z]" 36 | } 37 | 38 | check_list_update() { 39 | local listtype="$1" 40 | local listrepo="$2" 41 | local listref="$3" 42 | local listname="$4" 43 | local wget="wget --timeout=10 -q" 44 | 45 | set_lock "set" "$listtype" 46 | 47 | $wget "$listrepo/?format=text&data=$listref" -O "$RUN_DIR/$listname" 48 | if [ ! -s "$RUN_DIR/$listname" ]; then 49 | rm -f "$RUN_DIR/$listname" 50 | log "[$listrepo/?format=text&data=$listref] Update failed." 51 | 52 | set_lock "remove" "$listtype" 53 | return 1 54 | fi 55 | 56 | mv -f "$RUN_DIR/$listname" "$RESOURCES_DIR/$listtype.${listname##*.}" 57 | echo -e "$(date +%F\ %H:%M:%S)" > "$RESOURCES_DIR/$listtype.ver" 58 | log "[$listrepo/?format=text&data=$listref] Successfully updated." 59 | 60 | set_lock "remove" "$listtype" 61 | return 0 62 | } 63 | 64 | case "$1" in 65 | "china_ip4") 66 | check_list_update "$1" "$SERVICE_URL" "cidr4" "ipv4.txt" 67 | ;; 68 | "china_ip6") 69 | check_list_update "$1" "$SERVICE_URL" "cidr6" "ipv6.txt" 70 | ;; 71 | "gfw_list") 72 | check_list_update "$1" "$SERVICE_URL" "domains" "gfw.txt" 73 | ;; 74 | "china_list") 75 | check_list_update "$1" "$SERVICE_URL" "domains" "direct-list.txt" 76 | ;; 77 | *) 78 | echo -e "Usage: $0 " 79 | exit 1 80 | ;; 81 | esac -------------------------------------------------------------------------------- /src/App/Controller/AbstractController.php: -------------------------------------------------------------------------------- 1 | httpStatus, headers: $this->headers, body: $this->getBody()); 27 | } 28 | 29 | abstract public function getBody(): string; 30 | 31 | public function setHeaders(array $headers): AbstractController { 32 | $this->headers = array_merge($this->headers ?? [], $headers); 33 | return $this; 34 | } 35 | 36 | /** 37 | * @param int $httpStatus 38 | */ 39 | public function setHttpStatus(int $httpStatus): void { 40 | $this->httpStatus = $httpStatus; 41 | } 42 | 43 | public function redirect(string $url, bool $permanently = false): void { 44 | $this->httpStatus = $permanently ? HttpStatus::MOVED_PERMANENTLY : HttpStatus::SEE_OTHER; 45 | $this->headers = array_merge($this->headers ?? [], ['location' => $url]); 46 | } 47 | 48 | /** 49 | * @return string 50 | */ 51 | public function getBaseURL(): string { 52 | $schemePort = ['http' => 80, 'https' => 443]; 53 | return $this->request->getUri()->getScheme() . 54 | '://' . 55 | $this->request->getUri()->getHost() . 56 | ($schemePort[$this->request->getUri()->getScheme()] !== $this->request->getUri()->getPort() 57 | ? ':' . $this->request->getUri()->getPort() 58 | : ''); 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/App/Controller/AmneziaController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'application/json']); 13 | 14 | $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); 15 | $data = $this->request->getQueryParameter('data') ?? ''; 16 | if ($data == '') { 17 | return "# Error: The 'data' GET parameter is required in the URL to access this page"; 18 | } 19 | 20 | $response = []; 21 | if (count($sites)) { 22 | foreach ($sites as $site) { 23 | $response = array_merge($response, $this->getSites()[$site]->$data); 24 | } 25 | } else { 26 | foreach ($this->getSites() as $siteEntity) { 27 | $response = array_merge($response, $siteEntity->$data); 28 | } 29 | } 30 | $response = SiteFactory::normalizeArray($response, in_array($data, ['ipv4', 'ipv6', 'cidr4', 'cidr6'])); 31 | 32 | return json_encode( 33 | array_map(fn(string $item) => ['hostname' => $item, 'ip' => ''], $response), 34 | JSON_PRETTY_PRINT 35 | ); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/App/Controller/BatController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'text/plain']); 17 | 18 | $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); 19 | $data = $this->request->getQueryParameter('data') ?? ''; 20 | if ($data == '') { 21 | return "# Error: The 'data' GET parameter is required in the URL to access this page"; 22 | } 23 | if (!in_array($data, ['ip4', 'cidr4'])) { 24 | return "# Error: The 'data' GET parameter must be 'ip4' or 'cidr4'"; 25 | } 26 | 27 | $response = []; 28 | if (count($sites)) { 29 | foreach ($sites as $site) { 30 | $response = array_merge($response, $this->getSites()[$site]->$data); 31 | } 32 | } else { 33 | foreach ($this->getSites() as $siteEntity) { 34 | $response = array_merge($response, $siteEntity->$data); 35 | } 36 | } 37 | $response = SiteFactory::normalizeArray($response, true); 38 | 39 | return implode( 40 | "\n", 41 | array_map(function (string $item) { 42 | $parts = explode('/', $item); 43 | $mask = IP4Helper::formatShortIpMask($parts[1] ?? ''); 44 | return 'route add ' . $parts[0] . ' mask ' . $mask . ' 0.0.0.0'; 45 | }, $response) 46 | ); 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/App/Controller/ClashxController.php: -------------------------------------------------------------------------------- 1 | request->getQueryParameter('data') ?? ''; 23 | $handlers = [ 24 | 'domains' => fn(string $row) => 'DOMAIN-SUFFIX,' . $row, 25 | 'ip4' => fn(string $row) => 'IP-CIDR,' . $row . '/32', 26 | 'ip6' => fn(string $row) => 'IP-CIDR6,' . $row . '/128', 27 | 'cidr4' => fn(string $row) => 'IP-CIDR,' . $row, 28 | 'cidr6' => fn(string $row) => 'IP-CIDR6,' . $row, 29 | ]; 30 | return implode($this::DELIMITER, array_map($handlers[$data] ?? fn(string $row) => $row, $response)); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/App/Controller/CommaController.php: -------------------------------------------------------------------------------- 1 | request->getQueryParameter('data') ?? ''; 14 | return implode( 15 | $this::DELIMITER, 16 | array_map(fn(string $row) => 'ipset=/' . $row . '/vpn_' . $data, $response) 17 | ); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/App/Controller/JsonController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'application/json']); 14 | 15 | $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); 16 | $data = $this->request->getQueryParameter('data') ?? ''; 17 | 18 | if (count($sites)) { 19 | $items = array_filter($this->getSites(), fn(Site $siteEntity) => in_array($siteEntity->name, $sites)); 20 | } else { 21 | $items = $this->getSites(); 22 | } 23 | return json_encode($data == '' ? $items : array_map(fn(Site $siteEntity) => $siteEntity->$data, $items)); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/App/Controller/KvasController.php: -------------------------------------------------------------------------------- 1 | request->getQueryParameter('data') ?? ''; 17 | $handlers = [ 18 | 'domains' => fn(string $row) => 'kvas add ' . $row . ' Y', 19 | 'ip4' => fn(string $row) => 'kvas add ' . $row . '/32', 20 | 'ip6' => fn(string $row) => 'kvas add ' . $row . '/128', 21 | 'cidr4' => fn(string $row) => 'kvas add ' . $row, 22 | 'cidr6' => fn(string $row) => 'kvas add ' . $row, 23 | ]; 24 | return implode($this::DELIMITER, array_map($handlers[$data] ?? fn(string $row) => $row, $response)); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/App/Controller/MainController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'text/html; charset=utf-8']); 14 | return $this->renderTemplate('index'); 15 | } 16 | 17 | /** 18 | * @param string $template 19 | * @return string 20 | */ 21 | private function renderTemplate(string $template): string { 22 | ob_start(); 23 | include PATH_ROOT . '/src/App/Template/' . ucfirst($template) . 'Template.php'; 24 | return ob_get_clean(); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/App/Controller/MikrotikController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'text/plain']); 14 | 15 | $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); 16 | $data = $this->request->getQueryParameter('data') ?? ''; 17 | $append = $this->request->getQueryParameter('append') ?? ''; 18 | if ($data == '') { 19 | return "# Error: The 'data' GET parameter is required in the URL to access this page"; 20 | } 21 | 22 | $response = []; 23 | foreach ($this->getGroups() as $groupName => $groupSites) { 24 | if (count($sites)) { 25 | $groupSites = array_filter($groupSites, fn(Site $siteEntity) => in_array($siteEntity->name, $sites)); 26 | } 27 | if (!count($groupSites)) { 28 | continue; 29 | } 30 | 31 | $listName = $groupName . '_' . $data; 32 | $response = array_merge($response, [ 33 | '/ip firewall address-list remove [find list="' . $listName . '"];', 34 | ':delay 5s', 35 | '', 36 | '/ip firewall address-list', 37 | ]); 38 | $items = []; 39 | $entries = []; 40 | foreach ($groupSites as $siteName => $siteEntity) { 41 | if (count($sites) && !in_array($siteName, $sites)) { 42 | continue; 43 | } 44 | $filteredItems = array_filter($siteEntity->$data, fn(string $row) => !in_array($row, $entries)); 45 | $items = array_merge( 46 | $items, 47 | $this->generateList($siteEntity, $listName, $filteredItems, $append ? ' ' . $append : '') 48 | ); 49 | $entries = array_merge($entries, $filteredItems); 50 | } 51 | $items = SiteFactory::normalizeArray($items, in_array($data, ['ip4', 'ip6', 'cidr4', 'cidr6'])); 52 | $items[count($items) - 1] = $items[count($items) - 1] . ';'; 53 | 54 | $response = array_merge($response, $items, ['', '']); 55 | } 56 | 57 | return implode("\n", $response); 58 | } 59 | 60 | /** 61 | * @param Site $siteEntity 62 | * @param string $listName 63 | * @param array $array 64 | * @param string $append 65 | * @return array 66 | */ 67 | private function generateList(Site $siteEntity, string $listName, array $array, string $append = ''): array { 68 | $items = []; 69 | foreach ($array as $item) { 70 | $items[] = 'add list=' . $listName . ' address=' . $item . ' comment=' . $siteEntity->name . $append; 71 | } 72 | return $items; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/App/Controller/NfsetController.php: -------------------------------------------------------------------------------- 1 | request->getQueryParameter('data') ?? ''; 14 | 15 | $prefix = 'nftset=/'; 16 | $suffix = '#inet#fw4#vpn_'; 17 | $handlers = [ 18 | 'domains' => fn(string $row) => $prefix . $row . '/4' . $suffix . $data, 19 | 'ip4' => fn(string $row) => $prefix . $row . '/4' . $suffix . $data, 20 | 'ip6' => fn(string $row) => $prefix . $row . '/6' . $suffix . $data, 21 | 'cidr4' => fn(string $row) => $prefix . $row . '/4' . $suffix . $data, 22 | 'cidr6' => fn(string $row) => $prefix . $row . '/6' . $suffix . $data, 23 | ]; 24 | return implode($this::DELIMITER, array_map($handlers[$data] ?? fn(string $row) => $row, $response)); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/App/Controller/PacController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'text/javascript']); 14 | 15 | $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); 16 | $data = $this->request->getQueryParameter('data') ?? ''; 17 | $template = $this->request->getQueryParameter('template') ?? 'PROXY 127.0.0.1:2080; DIRECT'; 18 | if (!in_array($data, ['domains', 'cidr4'])) { 19 | return "# Error: The 'data' GET parameter is must be 'domains' or 'cidr4'"; 20 | } 21 | 22 | $items = []; 23 | if (count($sites)) { 24 | foreach ($sites as $site) { 25 | $items = array_merge($items, $this->getSites()[$site]->$data); 26 | } 27 | } else { 28 | foreach ($this->getSites() as $siteEntity) { 29 | $items = array_merge($items, $siteEntity->$data); 30 | } 31 | } 32 | 33 | $response = ['const items = [']; 34 | $response[] = implode( 35 | ",\n", 36 | $data == 'cidr4' 37 | ? array_map(function (string $item) { 38 | $parts = explode('/', $item); 39 | $mask = IP4Helper::formatShortIpMask($parts[1] ?? ''); 40 | return '["' . $parts[0] . '","' . $mask . '"]'; 41 | }, SiteFactory::normalizeArray($items, true)) 42 | : array_map(fn(string $item) => '"' . $item . '"', SiteFactory::normalizeArray($items)) 43 | ); 44 | $response[] = '];'; 45 | 46 | if ($data == 'cidr4') { 47 | $response = array_merge($response, [ 48 | 'function FindProxyForURL(url, host) {', 49 | ' for (cidr of items) {', 50 | ' if (isInNet(host, cidr[0], cidr[1])) {', 51 | ' return "' . $template . '";', 52 | ' }', 53 | ' }', 54 | '', 55 | ' return "DIRECT";', 56 | '}', 57 | ]); 58 | } else { 59 | $response = array_merge($response, [ 60 | 'function FindProxyForURL(url, host) {', 61 | ' for (domain of items) {', 62 | ' if (host === domain || shExpMatch(host, "*." + domain)) {', 63 | ' return "' . $template . '";', 64 | ' }', 65 | ' }', 66 | '', 67 | ' return "DIRECT";', 68 | '}', 69 | ]); 70 | } 71 | 72 | return implode("\n", $response); 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/App/Controller/SwitchyController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'text/plain']); 13 | 14 | $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); 15 | $data = $this->request->getQueryParameter('data') ?? ''; 16 | if ($data != 'domains') { 17 | return "# Error: The 'data' GET parameter is must be 'domains'"; 18 | } 19 | 20 | $response = [ 21 | '; Switchy - RuleList', 22 | '; Date: ' . date('Y-m-d'), 23 | '; URL: ' . 24 | $this->getBaseURL() . 25 | '/?format=switchy&data=domains' . 26 | (count($sites) 27 | ? '&' . implode('&', array_map(fn(string $site) => 'site=' . urlencode($site), $sites)) 28 | : ''), 29 | '', 30 | '#BEGIN', 31 | '', 32 | '[Wildcard]', 33 | ]; 34 | 35 | $domains = []; 36 | if (count($sites)) { 37 | foreach ($sites as $site) { 38 | $domains = array_merge( 39 | $domains, 40 | array_map($this->wildcardFormat(...), $this->getSites()[$site]->$data) 41 | ); 42 | } 43 | } else { 44 | foreach ($this->getSites() as $siteEntity) { 45 | $domains = array_merge($domains, array_map($this->wildcardFormat(...), $siteEntity->$data)); 46 | } 47 | } 48 | 49 | $response = array_merge($response, SiteFactory::normalizeArray($domains)); 50 | $response = array_merge($response, ['', '#END']); 51 | 52 | return implode("\n", $response); 53 | } 54 | 55 | /** 56 | * @param string $domain 57 | * @return string 58 | */ 59 | private function wildcardFormat(string $domain): string { 60 | return '*' . $domain . '/*'; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /src/App/Controller/TextController.php: -------------------------------------------------------------------------------- 1 | setHeaders(['content-type' => 'text/plain']); 14 | 15 | $sites = SiteFactory::normalizeArray($this->request->getQueryParameters()['site'] ?? []); 16 | $data = $this->request->getQueryParameter('data') ?? ''; 17 | if ($data == '') { 18 | return "# Error: The 'data' GET parameter is required in the URL to access this page"; 19 | } 20 | 21 | $response = []; 22 | if (count($sites)) { 23 | foreach ($sites as $site) { 24 | $response = array_merge($response, $this->getSites()[$site]->$data); 25 | } 26 | } else { 27 | foreach ($this->getSites() as $siteEntity) { 28 | $response = array_merge($response, $siteEntity->$data); 29 | } 30 | } 31 | 32 | return $this->render( 33 | SiteFactory::normalizeArray($response, in_array($data, ['ipv4', 'ipv6', 'cidr4', 'cidr6'])) 34 | ); 35 | } 36 | 37 | /** 38 | * @param array $response 39 | * @return string 40 | */ 41 | protected function render(array $response): string { 42 | return implode($this::DELIMITER, $response); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/App/Service/IPListService.php: -------------------------------------------------------------------------------- 1 | 21 | */ 22 | public array $sites = []; 23 | 24 | /** 25 | * @throws Exception 26 | */ 27 | private function __construct(Logger $logger = null) { 28 | $this->logger = $logger ?? App::getLogger(); 29 | 30 | $dir = PATH_ROOT . '/config/'; 31 | if (!is_dir($dir)) { 32 | throw new Exception('config directory not found'); 33 | } 34 | 35 | foreach (scandir($dir) as $item) { 36 | if (in_array($item, ['.', '..'])) { 37 | continue; 38 | } 39 | $path = $dir . $item; 40 | if (is_dir($path)) { 41 | foreach (scandir($path) as $file) { 42 | if (is_file($path . '/' . $file)) { 43 | $this->loadConfig($path . '/' . $file); 44 | } 45 | } 46 | } 47 | } 48 | 49 | EventLoop::queue(function () { 50 | foreach ($this->sites as $siteEntity) { 51 | if ($siteEntity->timeout) { 52 | $siteEntity->preload(); 53 | $siteEntity->reload(); 54 | delay(1); 55 | } 56 | } 57 | }); 58 | } 59 | 60 | /** 61 | * @param ?Logger $logger 62 | * @return IPListService 63 | * @throws Exception 64 | */ 65 | public static function getInstance(Logger $logger = null): IPListService { 66 | return self::$_instance ??= new self($logger); 67 | } 68 | 69 | /** 70 | * @param string $path 71 | * @return void 72 | */ 73 | private function loadConfig(string $path): void { 74 | if (str_ends_with($path, '.json')) { 75 | $parts = explode('/', $path); 76 | $filename = array_pop($parts); 77 | $name = substr($filename, 0, -5); 78 | $config = json_decode(file_get_contents($path)); 79 | $group = array_pop($parts); 80 | 81 | if (isset($this->sites[$name])) { 82 | $this->logger->error(sprintf('Site config "%s" already exists', $name)); 83 | delay(5); 84 | exit(); 85 | } 86 | 87 | $this->sites[$name] = SiteFactory::create($name, $group, $config); 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /src/Domain/Helper/DNSHelper.php: -------------------------------------------------------------------------------- 1 | resolveDelay = (getEnv('SYS_DNS_RESOLVE_DELAY') ?? 500) / 1000; 27 | $this->isUseIpv4 = (getEnv('SYS_DNS_RESOLVE_IP4') ?? 'true') == 'true'; 28 | $this->isUseIpv6 = (getEnv('SYS_DNS_RESOLVE_IP6') ?? 'true') == 'true'; 29 | } 30 | 31 | /** 32 | * @param array $dnsServers 33 | * @return DnsResolver 34 | */ 35 | private function getResolver(array $dnsServers): DnsResolver { 36 | return dnsResolverFactory( 37 | new Rfc1035StubDnsResolver( 38 | null, 39 | new class ($dnsServers) implements DnsConfigLoader { 40 | public function __construct(private readonly array $dnsServers = []) { 41 | } 42 | 43 | public function loadConfig(): DnsConfig { 44 | return new DnsConfig($this->dnsServers, (new HostLoader())->loadHosts()); 45 | } 46 | } 47 | ) 48 | ); 49 | } 50 | 51 | /** 52 | * @param string $domain 53 | * @return array[] 54 | */ 55 | public function resolve(string $domain): array { 56 | $ipv4 = []; 57 | $ipv6 = []; 58 | foreach ($this->dnsServers as $server) { 59 | delay($this->resolveDelay); 60 | $dnsResolver = $this->getResolver([$server]); 61 | if ($this->isUseIpv4) { 62 | try { 63 | $ipv4 = array_merge( 64 | $ipv4, 65 | array_map( 66 | fn(DnsRecord $record) => $record->getValue(), 67 | $dnsResolver->resolve($domain, DnsRecord::A) 68 | ) 69 | ); 70 | } catch (Throwable $e) { 71 | if (!str_starts_with($e->getMessage(), 'Giving up resolution')) { 72 | App::getLogger()->error($e->getMessage(), [$server]); 73 | } 74 | } 75 | } 76 | 77 | delay($this->resolveDelay); 78 | 79 | if ($this->isUseIpv6) { 80 | try { 81 | $ipv6 = array_merge( 82 | $ipv6, 83 | array_map( 84 | fn(DnsRecord $record) => $record->getValue(), 85 | $dnsResolver->resolve($domain, DnsRecord::AAAA) 86 | ) 87 | ); 88 | } catch (Throwable $e) { 89 | if (!str_starts_with($e->getMessage(), 'Giving up resolution')) { 90 | App::getLogger()->error($e->getMessage(), [$server]); 91 | } 92 | } 93 | } 94 | } 95 | App::getLogger()->debug('resolve: ' . $domain, [count($ipv4), count($ipv6)]); 96 | return [$ipv4, $ipv6]; 97 | } 98 | } 99 | -------------------------------------------------------------------------------- /src/Infrastructure/API/App.php: -------------------------------------------------------------------------------- 1 | $modules 26 | */ 27 | private array $modules = []; 28 | 29 | private bool $isEventLoopStarted = false; 30 | 31 | /** 32 | * @param ?Logger $logger 33 | */ 34 | private function __construct(private ?Logger $logger = null) { 35 | ini_set('memory_limit', getEnv('SYS_MEMORY_LIMIT') ?? '1024M'); 36 | 37 | if (!defined('PATH_ROOT')) { 38 | define('PATH_ROOT', dirname(__DIR__, 3)); 39 | } 40 | 41 | $dotenv = Dotenv::createImmutable(PATH_ROOT); 42 | $dotenv->safeLoad(); 43 | 44 | if ($timezone = getEnv('SYS_TIMEZONE')) { 45 | date_default_timezone_set($timezone); 46 | } 47 | 48 | $this->logger = $logger ?? new Logger(getEnv('COMPOSE_PROJECT_NAME') ?? 'iplist'); 49 | $logHandler = new StreamHandler(new WritableResourceStream(STDOUT)); 50 | $logHandler->setFormatter(new ConsoleFormatter()); 51 | $logHandler->setLevel(getEnv('DEBUG') === 'false' ? LogLevel::INFO : LogLevel::DEBUG); 52 | $this->logger->pushHandler($logHandler); 53 | 54 | EventLoop::setErrorHandler(function ($e) { 55 | $this->logger->error($e->getMessage()); 56 | }); 57 | } 58 | 59 | public static function getInstance(?Logger $logger = null): self { 60 | return self::$_instance ??= new self($logger); 61 | } 62 | 63 | /** 64 | * @param Closure $handler 65 | * @return $this 66 | */ 67 | public function addModule(Closure $handler): self { 68 | $module = $handler($this); 69 | $this->modules[$module::class] = $module; 70 | return $this; 71 | } 72 | 73 | public function getModules(): array { 74 | return $this->modules; 75 | } 76 | 77 | public static function getLogger(): ?Logger { 78 | return self::$_instance->logger; 79 | } 80 | 81 | public function start(): void { 82 | foreach ($this->getModules() as $module) { 83 | $module->start(); 84 | } 85 | if (defined('SIGINT') && defined('SIGTERM')) { 86 | // Await SIGINT or SIGTERM to be received. 87 | try { 88 | $signal = trapSignal([SIGINT, SIGTERM]); 89 | $this->logger->info(sprintf('Received signal %d, stopping server', $signal)); 90 | } catch (UnsupportedFeatureException $e) { 91 | $this->logger->error($e->getMessage()); 92 | } 93 | $this->stop(); 94 | } else { 95 | if (!$this->isEventLoopStarted && !defined('PHPUNIT_COMPOSER_INSTALL')) { 96 | $this->isEventLoopStarted = true; 97 | EventLoop::run(); 98 | } 99 | } 100 | } 101 | 102 | public function stop(): void { 103 | foreach ($this->modules as $module) { 104 | $module->stop(); 105 | } 106 | } 107 | } 108 | -------------------------------------------------------------------------------- /src/Infrastructure/API/AppModuleInterface.php: -------------------------------------------------------------------------------- 1 | 'application/json; charset=utf-8'], 14 | body: json_encode(['message' => $reason, 'code' => $status]) 15 | ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/Infrastructure/API/Handler/HTTPHandler.php: -------------------------------------------------------------------------------- 1 | getController( 31 | ucfirst($request->getQueryParameter('format') ?: $controllerName), 32 | $request, 33 | $this->headers ?? [] 34 | )(); 35 | } catch (Throwable $e) { 36 | $this->logger->warning('Exception', [ 37 | 'exception' => $e::class, 38 | 'error' => $e->getMessage(), 39 | 'code' => $e->getCode(), 40 | ]); 41 | $response = new Response( 42 | status: $e->getCode() ?: 500, 43 | headers: $this->headers ?? ['content-type' => 'application/json; charset=utf-8'], 44 | body: json_encode( 45 | array_merge( 46 | ['message' => $e->getMessage(), 'code' => $e->getCode()], 47 | getEnv('DEBUG') === 'true' 48 | ? ['file' => $e->getFile() . ':' . $e->getLine(), 'trace' => $e->getTrace()] 49 | : [] 50 | ) 51 | ) 52 | ); 53 | } 54 | 55 | return $response; 56 | }); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /src/Infrastructure/API/Handler/HTTPHandlerInterface.php: -------------------------------------------------------------------------------- 1 | 'text/plain']); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Infrastructure/API/Handler/HandlerInterface.php: -------------------------------------------------------------------------------- 1 | data = (array) json_decode(file_get_contents($path)) ?? []; 18 | } 19 | 20 | EventLoop::repeat(\OpenCCK\getEnv('STORAGE_SAVE_INTERVAL') ?? 120, $this->save(...)); 21 | } 22 | 23 | public static function getInstance(): CIDRStorage { 24 | return self::$_instance ??= new self(); 25 | } 26 | 27 | public function get(string $key): ?array { 28 | return $this->data[$key] ?? null; 29 | } 30 | 31 | public function set(string $key, mixed $value): bool { 32 | $this->data[$key] = $value; 33 | return true; 34 | } 35 | 36 | public function has(string $key): bool { 37 | return isset($this->data[$key]); 38 | } 39 | 40 | private function save(): void { 41 | file_put_contents(PATH_ROOT . '/storage/' . self::FILENAME, json_encode($this->data, JSON_PRETTY_PRINT)); 42 | App::getLogger()->notice('Whois storage saved', [count($this->data) . ' items']); 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/Infrastructure/Storage/StorageInterface.php: -------------------------------------------------------------------------------- 1 | command); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Infrastructure/Task/TaskInterface.php: -------------------------------------------------------------------------------- 1 | ' . print_r($mixed, true) . ''; 29 | } 30 | if ($exit) { 31 | exit(); 32 | } 33 | } 34 | --------------------------------------------------------------------------------