Этот репозиторий содержит:
- Списки доменов и IP-адресов используемых голосовыми серверами Discord и в целом (gui, api и т.д.)
- Скрипт для парсинга IP с готового списка сабдоменов голосовых каналов и создания IPset списка с последующей загрузкой получившихся IP списков
- Скрипты для генерации списка сабдоменов голосовых серверов в формате
region
[1-15000].discord.gg и их резолв с последующей записью в фолдерregions
Этот репозиторий будет полезен тем, кто хочет настроить "корректную" маршрутизацию для обеспечения "стабильной" работы Discord.
discord-domains-list
- список доменных имён Discorddiscord-voice-domains-list
- общий список из доменов голосовых каналов Discord для регионов: Россия, Нидерланды, Швеция, Италия, Германия, Испания, Польша, Румынияdiscord-voice-ip-list
- список из IP голосовых каналов Discord для вышеназванных регионовdiscord-voice-ipset-list
- тот же список, но в формате IPsetregions
- фолдер со списками IP голосовых каналов разбитых по регионам (сгенерированный силамиvoice-domains-generator
)custom-solutions
- фолдер с решениями от заинтересованных и неравнодушныхvoice-domains-generator.sh
- генератор и резолвер доменов голосовых серверов Discordvoice-domains-generator-fast.sh
[САМОЕ ОПТИМАЛЬНОЕ РЕШЕНИЕ] - тоже самое, но в разы шустрее (зависит от CPU)voice-ip-parser.sh
- IP резолвер по спискуdiscord-voice-domains-list
с функцией создания и добавления IP в IPset списокunblock
Несколько шагов:
- Создайте новый список
unblock
:
~# ipset create unblock hash:net
- Склонируйте этот репозиторий:
~# git clone https://github.com/GhostRooter0953/discord-voice-ips.git
- Перейдите в директорию с клонированным репозиторием:
~# cd discord-voice-ips
- Добавьте адреса из файла
discord-voice-ipset-list
в ваш ipset:
~# ipset restore < discord-voice-ipset-list
- Добавьте соответствующее правило в ваш фаерволл, чтобы настроить маршрутизацию
ДАННЫЕ_УДАЛЕНЫ
p.s. ещё можно использовать менее элегантное решение тупо запихнув списки в белый список
вашего клиента (напр. Amnezia) наделённого корректной
маршрутизацией
Предназначен для парсинга IP-адресов голосовых серверов Discord из файла со списком доменов и их дальнейшего добавления в IPset.
Скрипт может:
- Автоматически почистить предыдущие списки (как IPset так и файлы)
- Создать список
unblock
если таковой отсутствует - Предоставить пользователю возможность подтверждать действия (касающиеся IPset) вручную
- Просто порезолвить IP адреса из
discord-voice-domains-list
и записать их вdiscord-voice-ip-list
-
Убедитесь, что у вас установлены необходимые утилиты:
- dig (часть пакета dnsutils)
- ipset
-
Склонируйте репозиторий:
git clone https://github.com/GhostRooter0953/discord-voice-ips.git
- Перейдите в директорию репо:
/opt/tmp # cd discord-voice-ips
- Запустите скрипт:
/opt/tmp/discord-voice-ips # ./voice-ip-parser.sh
-
Очистка старых списков: Скрипт очищает файлы
discord-voice-ip-list
иdiscord-voice-ipset-list
. -
Сброс кэша DNS: Производится сброс кэша DNS через отправку сигнала к
dnsmasq
. -
Парсинг доменов: Скрипт читает домены из файла
discord-voice-domains-list
, резолвит их в IP-адреса и записывает вdiscord-voice-ip-list
иdiscord-voice-ipset-list
. -
Создание списка unblock:
- Если список unblock не существует, будет запрошено подтверждение на его создании.
- В автоматическом режиме список создается без подтверждения.
-
Очистка списка unblock:
- Если список существует, будет запрошено подтверждение на его очистку.
- В автоматическом режиме список очищается без подтверждения.
-
Загрузка IP адресов в IPset:
- После завершения парсинга, пользователю предлагается загрузить адреса из файла
discord-voice-ipset-list
в IPset.
- После завершения парсинга, пользователю предлагается загрузить адреса из файла
-
Вывод результатов: После выполнения всех действий выводится количество загруженных IP адресов.
/opt/tmp # ./voice-ip-parser.sh
Очистка IP листов
Начинаем парсить IP голосовых серверов Discord
Парсим... Прогресс: 100%
Парсинг завершён
Чистим список 'unblock'? (Y/N): Y
Список 'unblock' очищен
Загружаем адреса в IPset? (Y/N): Y
Загружено 1430 IP адреса(ов) в список 'unblock'
auto
: Автоматический режим. В этом режиме все действия выполняются без запроса подтверждения у пользователя, а именно:
- Создаётся IPset список unblock, если его нет
- Очищается IPset список unblock
- Загружаются IP в список unblock из
discord-voice-ipset-list
Пример запуска в автоматическом режиме:
/opt/tmp # ./voice-ip-parser.sh auto
Очистка IP листов
Начинаем парсить IP голосовых серверов Discord
Парсим... Прогресс: 100%
Парсинг завершён
Список 'unblock' очищен
Загружено 1429 IP адреса(ов) в список 'unblock'
noipset
: Автоматический режим без IPset. Нужен для простого резолва IP с последующей записью вывода в файлыdiscord-voice-ip-list
иdiscord-voice-ipset-list
.
Пример запуска в режиме noipset
:
/opt/tmp # ./voice-ip-parser.sh noipset
Очистка IP листов
Начинаем парсить IP голосовых серверов Discord
Парсим... Прогресс: 100%
Парсинг завершён
Пропускаем танцы с IPset... Список с IP можно найти в 'discord-voice-ip-list'
- Убедитесь, что вы запускаете скрипт с правами, достаточными для выполнения команд ipset и управления сетевыми настройками.
- Убедитесь, что у вас установлены необходимые утилиты:
- dig (часть пакета dnsutils)
- ipset
- Для получения информации об использовании утилиты ipset можно использовать следующую команду:
man ipset
Этот скрипт предназначен для быстрой генерации и резолвинга доменных имен голосовых каналов Discord по заданным регионам.
Задействуется parallel
, что позволяет выполняться в несколько параллельных процессов (по умолчанию 60) значительно ускоряя генерацию и резолвинг.
- Перед запуском убедитесь, что у вас установлены следующие компоненты:
- bash
- dig (часть пакета dnsutils)
- parallel
- Склонируйте репозиторий:
git clone https://github.com/GhostRooter0953/discord-voice-ips.git
- Перейдите в директорию репо:
/opt/tmp # cd discord-voice-ips
- Запустите скрипт с опциональным аргументом в виде валидного
региона
либо без:
./voice-domains-generator-fast dubai
Если аргументы не переданы, зарезолвятся домены регионов по 'умолчанию':
- russia
- bucharest
- finland
- frankfurt
- madrid
- milan
- rotterdam
- stockholm
- warsaw
-
default_regions
: Массив регионов, с которых будут генерироваться домены. По умолчанию это массив из девяти регионов. Вы можете переопределить его при запуске скрипта. -
total_domains
: Общее количество доменных имен для генерации (по умолчанию 15000). Вы можете изменить это значение в самом начале скрипта, если хотите проверить меньше или больше доменов. -
job
или-j
: Параметр, который позволяет задать количество параллельных процессов при резолвинге доменов. По умолчанию используется значение 60. Это число можно изменить в строке с вызовом команды parallel.
Результаты резолвинга сохраняются в директориях под названием каждого региона:
- regions/
region
/region-voice-resolved: Зарезолвленные домены. - regions/
region
/region-voice-domains: Список всех запрашиваемых доменов. - regions/
region
/region-voice-ip: IP адреса соответствующих доменов. - regions/
region
/region-voice-ipset: Команды для добавления IP адресов в ipset.
$ ./voice-domains-generator-fast.sh
Генерируем и резолвим домены для региона: russia
Прогресс: 100%
Успех!
Время запуска: 10.10.2024 в 21:00:07
Время выполнения: 00:00:46
Доменов зарезолвили: 166
Генерируем и резолвим домены для региона: bucharest
Прогресс: 100%
Успех!
Время запуска: 10.10.2024 в 21:00:53
Время выполнения: 00:00:43
Доменов зарезолвили: 67
Генерируем и резолвим домены для региона: finland
Прогресс: 100%
Успех!
Время запуска: 10.10.2024 в 21:01:36
Время выполнения: 00:00:45
Доменов зарезолвили: 134
Генерируем и резолвим домены для региона: frankfurt
Прогресс: 100%
Успех!
Время запуска: 10.10.2024 в 21:02:21
Время выполнения: 00:00:47
Доменов зарезолвили: 299
...и так далее по дефолтному списку...
Этот скрипт имеет несколько ключевых отличий по сравнению с предыдущим. Вот основные моменты:
-
Стиль написания и оболочка. Скрипт написан с использованием
sh
, в то время как первый используетbash
- сделано для совместимости -
Определение регионов. В этом скрипте переменная
default_regions
определена как строка, а не массив: -
Обработка доменов. Вместо использования
parallel
для параллельного выполнения функций, этот скрипт обрабатывает каждое имя домена последовательно в цикле for и в один поток (очень медленно).
./voice-domains-generator.sh singapore
Генерируем и резолвим домены для региона: singapore
Прогресс: 100%
Успех!
Время запуска: 10.10.2024 в 21:22:23
Время выполнения: 00:06:43
Доменов зарезолвили: 336
Хотя оба скрипта выполняют одну и ту же основную задачу — генерацию и резолвинг доменных имен, они различаются по стилю, эффективности и методам обработки данных. Второй скрипт более простой, но менее эффективный из-за последовательной обработки запросов к DNS-серверу.
- Пока идей нет