Skip to content

Latest commit

 

History

History
186 lines (131 loc) · 11.2 KB

README.ru.md

File metadata and controls

186 lines (131 loc) · 11.2 KB

Значок DownRust

DownRust

Быстрый менеджер загрузок с сегментированием для Windows, написанный на Rust.

Русский · English

Статус CI Лицензия: GPL-3.0-or-later Последний релиз Платформа: Windows Построен на Rust и Tauri 2

Список загрузок DownRust


Возможности

Движок загрузок

  • Сегментированная загрузка по нескольким соединениям как в IDM: освободившееся соединение забирает половину самой большой оставшейся части.
  • Продолжение после паузы, перезапуска или сбоя.
  • Автоматические повторы после ошибок, с настраиваемыми таймаутами.
  • Ограничение скорости для всех загрузок и для каждой загрузки отдельно.
  • Очередь с заданным порядком, расписание рабочих часов и дней и действие, когда очередь пуста (сон, гибернация, выключение или закрытие программы).
  • Категории с автоматической сортировкой в папку Downloads\DownRust.
  • Проверка готовых файлов по SHA-256.
  • Обновление истёкшей ссылки без потери загрузки.
  • Разреженные файлы и, при желании, резервирование места на диске до начала загрузки.

Видео

  • Потоки HLS, в том числе зашифрованные AES-128, с выбором качества.
  • Потоки DASH и отдельные аудиодорожки, которые объединяются с помощью ffmpeg.

Браузер

  • Расширение для Chrome, Edge, Firefox и Zen.
  • Перехват загрузок браузера и пункт контекстного меню «Скачать через DownRust».
  • Обнаружение потоков HLS и DASH на странице.

Сеть

  • Прокси из настроек Windows, прямое соединение или ручной прокси, в том числе SOCKS5.
  • Правила прокси для каждого сайта.
  • Логины HTTP Basic для каждого сайта, которые хранятся в Диспетчере учётных данных Windows.

Рабочий стол

  • Значок в системном трее, плавающая зона для перетаскивания ссылок и отслеживание буфера обмена.
  • Перетаскивание и пакетное добавление с шаблонами номеров, например [001-120].
  • Предупреждения о повторных загрузках.
  • Статистика загрузок.
  • Необязательная проверка готовых файлов средствами Безопасности Windows.
  • Запуск вместе с Windows, одна копия программы и переносной режим.
  • Интерфейс на английском и русском языках, светлая и тёмная темы.

Скриншоты

Панель сведений с картой сегментов
Панель сведений с картой сегментов
Статистика
Статистика
Настройки
Настройки
Русский интерфейс
Русский интерфейс

Установка

  1. Откройте страницу Releases.
  2. Скачайте файл установки .msi или .exe последней версии.
  3. Запустите файл и следуйте шагам установщика.

Предупреждение SmartScreen: установщик пока не подписан сертификатом кода. Windows может показать предупреждение. Нажмите Подробнее, затем Всё равно выполнить.

Переносной режим

Чтобы запускать DownRust из папки, например с USB-накопителя:

  1. Скопируйте файлы программы в папку.
  2. Рядом с DownRust.exe создайте пустой файл с именем portable.
  3. Запустите DownRust. Его данные и журналы хранятся в папке data рядом с программой.

Расширение для браузера

Расширение отправляет загрузки в DownRust. Оно работает только тогда, когда DownRust запущен с включённым мостом для браузера. Если DownRust не отвечает, браузер скачивает файл обычным способом.

  1. В DownRust откройте Настройки, затем раздел Браузер. Включите мост и запомните порт (по умолчанию 52151) и токен.
  2. Установите расширение:
    • Chrome и Edge: откройте chrome://extensions или edge://extensions, включите Режим разработчика, выберите Загрузить распакованное и укажите папку extension из этого репозитория.
    • Firefox: откройте about:debugging#/runtime/this-firefox и выберите Загрузить временное дополнение. Укажите файл manifest.json. Firefox удаляет такое дополнение при перезапуске.
    • Zen и другие браузеры на движке Firefox: соберите пакет командой npm run extension:build. В about:config задайте xpinstall.signatures.required равным false. Затем откройте about:addons, выберите Установить дополнение из файла и укажите dist-extension/downrust-<версия>.xpi.
  3. Откройте настройки расширения, введите порт и токен, нажмите Сохранить, а затем Проверить соединение.

Загрузка видео

Потоки HLS загружаются без дополнительных программ. ffmpeg нужен для конвертации в MP4, для потоков DASH и для потоков HLS с отдельной аудиодорожкой.

Установить ffmpeg можно через winget:

winget install Gyan.FFmpeg

Затем укажите путь к ffmpeg в разделе Настройки, затем Видео. Также можно положить ffmpeg рядом с DownRust.exe.

Сборка из исходного кода

Нужны:

  • Rust (стабильная версия) с набором инструментов MSVC из Visual Studio Build Tools
  • Node.js 22 или новее

Установите зависимости и запустите программу в режиме разработки:

npm install
npm run tauri dev

Соберите установщики:

npm run tauri build

Запустите проверки:

cargo test --workspace
npm test

Соберите пакет расширения для браузера:

npm run extension:build

Архитектура

DownRust — это рабочее пространство Cargo с интерфейсом на Node.js:

  • crates/downrust-core — движок загрузок. Он отвечает за HTTP, сегменты, очередь, планировщик, потоки видео и хранилище SQLite.
  • crates/downrust-testserver — локальный тестовый сервер, который использует тесты движка.
  • src-tauri — оболочка для рабочего стола. Она содержит трей, настройки, локальный мост для браузера и команды для интерфейса.
  • src — интерфейс на React 19 и Astryx, дизайн-системе от Meta.
  • extension — расширение для браузеров Chrome, Edge, Firefox и Zen.
flowchart LR
    ext["Расширение браузера"] -->|"127.0.0.1, токен"| bridge["Локальный мост"]
    subgraph app["Программа DownRust"]
        bridge --> engine["Движок загрузок"]
        ui["Интерфейс"] --> engine
    end
    engine -->|"HTTP-запросы"| server["Веб-сервер"]
Loading

Приватность

  • В DownRust нет телеметрии, и он не отправляет данные об использовании.
  • Мост для браузера слушает только 127.0.0.1. Запросы требуют токен из настроек.
  • Логины сайтов хранятся в Диспетчере учётных данных Windows.

Участие в разработке

См. CONTRIBUTING.md. Список изменений находится в CHANGELOG.md.

Лицензия

DownRust — свободное программное обеспечение под лицензией GNU General Public License, версия 3 или новее. См. LICENSE.

Интерфейс использует дизайн-систему Astryx, которая распространяется по лицензии MIT. См. THIRD_PARTY_NOTICES.md.