Skip to content
coven31Public

About

Windows media downloader with automatic local network-route selection.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

RouteDL

English | Русский

Загрузчик видео, аудио и галерей изображений с автоматическим выбором сетевого маршрута. Объединяет yt-dlp (видео и аудио), gallery-dl (галереи) и ffmpeg (конвертация), а когда сайт не открывается напрямую, сам подбирает рабочий маршрут на вашем компьютере, без сторонних серверов. Без ручного подбора параметров в командной строке.

RouteDL

Состояние: ранняя версия. Есть консольный режим и окно (python routedl_gui.py), установка: двойной клик по install.bat. Лицензия GPL-3.0.

Как это работает

напрямую ──нет соединения──► локальная сетевая стратегия (ByeDPI на 127.0.0.1)
                                   └─ по желанию (--nodes): резервные узлы (xray-core)
  1. Сначала сайт проверяется напрямую (до 4 с).
  2. Если не вышло, подбирается локальная стратегия ByeDPI: локальный SOCKS5 на 127.0.0.1, без драйверов, прав администратора и без сторонних серверов. Трафик идёт напрямую к сайту.
  3. Резервные узлы из публичного списка по умолчанию выключены: они анонимные, часто медленные, и многие выходят в той же стране. Включаются флагом --nodes или "nodes": true в routedl.json. Если сайт отказывает по IP или стране, а узлы выключены, программа так и скажет.

Если сайт отвечает, но файлы не приходят в течение 45 секунд, программа не ждёт дольше и переходит к следующему маршруту (последний маршрут ждёт до 3 минут). Удачный маршрут запоминается для сайта и перепроверяется с прямого каждые 3 часа. Движок выбирается автоматически: yt-dlp или gallery-dl, в зависимости от ссылки.

Возможности

  • Видео, аудио и галереи по одной ссылке, движок выбирается автоматически.
  • Видео в аудио: любое видео можно сохранить как MP3, FLAC, WAV или в исходном аудиоформате (подходит для подкастов, лекций, концертов).
  • В окне перед загрузкой показываются реально доступные качества (4K, 2K, 1080, 720, 480, 360, 240) и исходный формат звука с честной пометкой, есть ли потери.
  • По умолчанию качается только выбранный ролик, а не весь плейлист из ссылки; плейлист целиком включается отдельной галочкой.

Установка (Windows)

Двойной клик по install.bat (скачает собственный портативный Python в папку runtime (системный не нужен) и xray, ByeDPI, ffmpeg, deno из апстрима), затем ярлык RouteDL на рабочем столе (или RouteDL.bat). Антивирус может ругаться на ciadpi.exe и xray.exe: это инструменты обхода блокировок, решение об исключении принимаете вы.

Вручную:

  1. Python 3.12, pip install -r requirements.txt (в том числе PySide6 для окна и yt-dlp-ejs для YouTube)
  2. Положите в папку bin\: xray.exe (Xray-core), ciadpi.exe (ByeDPI), ffmpeg.exe и ffprobe.exe (сборка gyan.dev).
  3. Для YouTube нужен JS-рантайм Deno: winget install DenoLand.Deno.

Использование

python routedl_cli.py "https://www.youtube.com/watch?v=..."
python routedl_cli.py --quality 720 "https://vk.ru/video..."
python routedl_cli.py --audio best "https://soundcloud.com/..."     # без пережатия
python routedl_cli.py --audio mp3 --cover "https://soundcloud.com/..."
python routedl_cli.py --audio mp3 "https://vk.ru/video..."           # аудиодорожка из видео
python routedl_cli.py --playlist "https://www.youtube.com/playlist?list=..."
python routedl_gui.py                                                # окно
python routedl_cli.py --report                                       # последние запуски для issue

Файлы сохраняются в downloads\ рядом со скриптом, по подпапкам video, audio, gallery. Необязательный конфиг routedl.json рядом со скриптом: {"downloads": "D:\\Media", "nodes": false}.

Про качество аудио

SoundCloud отдаёт сжатые потоки (чаще всего AAC 160 kbps). Конвертация такого потока в FLAC или WAV не повышает качество, а лишь увеличивает файл. Поэтому по умолчанию рекомендуется --audio best (исходный кодек без пережатия). Оригинал без потерь доступен только если автор трека разрешил скачивание.

Известные ограничения

  • Стратегии ByeDPI зависят от провайдера, универсальной нет. Проверено пока на одном провайдере, нужны тестеры.
  • Сайты, отказывающие по IP или стране, без резервных узлов не открываются (локальная стратегия меняет способ соединения, но не адрес).
  • Резервные узлы (по желанию) публичные и анонимные: через них не передаются cookies и логины (поддержка авторизации намеренно не реализована).
  • Массовая загрузка галерей через резервные узлы может быть медленной.
  • Часть узлов выходит в РФ и не помогает при блокировке по стране.
  • Нет установщика и автообновления компонентов.
  • imx.to: gallery-dl 1.32.19 не читает страницы этого сайта (исправлено в разработке, ждём следующий релиз gallery-dl).

Результаты

Один тестер, один провайдер (домашний интернет). Время включает подбор маршрута.

Сценарий Без дополнительных средств С обходом на уровне роутера
YouTube 1080p, первый запуск 9-10 с 5 с
YouTube, повторный запуск (маршрут в кэше) 3-6 с
SoundCloud, аудио без пережатия (~98 МБ) 23-53 с (зависит от скорости потока)
Галерея на частично недоступном сайте (главная открывается, файлы нет) 70 с (45 с ожидания + 22 с загрузка) 18 с
VK, файл 2+ ГБ напрямую ~30 с

Помогите проекту

Быстрая проверка сети без загрузок: python routedl_cli.py --selftest покажет, какие сайты открываются напрямую, а каким нужен обход. Вставьте вывод в issue.

Самая полезная помощь: протестируйте RouteDL на своём провайдере. Запустите несколько загрузок, затем выполните python routedl_cli.py --report --redact и приложите вывод к issue.

Права на контент

Используйте программу только для контента, на который у вас есть права, и в соответствии с законодательством вашей страны и правилами сайтов.

Благодарности и лицензии

Проект собран из чужих работ, спасибо авторам: yt-dlp (Unlicense), gallery-dl (GPLv2), ByeDPI (MIT), Xray-core (MPL-2.0), FFmpeg (GPLv3-сборка gyan.dev), публичные списки узлов igareck. RouteDL распространяется под GPL-3.0.

Средства обхода сетевых ограничений могут регулироваться законом в вашей юрисдикции: ответственность за их использование на вас. Возрастные и приватные ролики не поддерживаются намеренно (куки и логины не используются).

About

Windows media downloader with automatic local network-route selection.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages