Привет, хабр!

Каждый день я использую qBittorrent. Это отличный торрент-клиент, стабильный и кроссплатформенный. Наверное, работает лучше чем любой другой торрент клиент. Но интерфейс у него на Qt Widgets, и на Windows 11 он выглядит не нативно(+ лично для меня не хватает некоторых вещей, о которых расскажу позже)

Я долго искал в интернете что-то подобное, но найти подходящее так и не смог, поэтому взялся пилить своё собственное решение. Переписывать движок с нуля было бы откровенной дуростью: qBittorrent пилят и тестируют годами, повторить это в одиночку за разумное время нереально. Значит, задача сузилась: оставить движок как есть, а вокруг него построить красивый интерфейс и внедрить новые функции.

Так, день за днём, через месяц получился WinBitTorrent

Сравнение интерфейса приложений
Сравнение интерфейса приложений

Что это вообще такое

WinBitTorrent не форк и не переписывание qBittorrent. Внутри работает qbittorrent-nox, тот же движок, что и в оригинальном приложении, версия 5.2.3 с libtorrent 2.0.13. Только вместо привычного веб-интерфейса или Qt Widgets поверх него стоит нативное приложение на WinUI 3 и Windows App SDK 2.2, написанное на .NET 8 по MVVM.

Программа управляет движком через его же Web API, тот, что обычно используют для доступа к qBittorrent через браузер. Только тут это API дёргает не браузер, а полноценное десктопное приложение с вкладками, деталями по каждой раздаче и графиками скорости.

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

При первом запуске приложение поднимает qbittorrent-nox.exe как дочерний процесс с отдельным профилем, привязывает его веб-интерфейс к 127.0.0.1 на случайном свободном порту и запускает в headless-режиме. Движок при старте выдаёт временный пароль администратора, и WinBitTorrent сразу меняет его на постоянный API-ключ, который уходит в хранилище учётных данных Windows (Credential Vault). Сам пароль на диск не попадает и вычищается из логов.

Дочерний процесс висит в Windows Job object, поэтому физически не может пережить родительское приложение: если WinBitTorrent упадёт или его убьют из диспетчера задач, движок закроется вместе с ним. Если движок неожиданно завершится сам, приложение попробует поднять его заново, но не будет переусердствовать.

Кроме локального движка есть режим подключения к удалённому qBittorrent: домашнему серверу, NAS или сидбоксу, по логину с паролем или по API-ключу. Интерфейс один и тот же для обоих случаев, разница только в паре функций вроде открытия папки с файлом в проводнике, которая физически возможна только для локального движка.

Новые фишечки

Большинство из вас, скорее всего, и так пользуется qBittorrent(или его аналогами) на постоянной основе, так что копией его собственных функций никого не удивишь. Поэтому расскажу про то, чего в оригинале нет вообще.

Во-первых, поиск раздач прямо в приложении: уже сейчас встроены провайдеры RuTracker и The Pirate Bay. Для RuTracker есть отдельная авторизация по логину и паролю и опциональная поддержка прокси, на случай если трекер режут у провайдера.

Во-вторых, каталог фильмов через TMDB. Идея была в том, чтобы сделать упрощённый аналог Lampa, только для торрентов и без стриминга. Наверное, это уже лишнее. Но это функция которая нужна была лично мне, а из публичной версии я решил её не вырезать, на случай если кому-то ещё она придётся по душе. Тыкаешь на любой фильм, нажимаешь "Скачать", выбираешь трекер и тебя сразу перекидывает на выдачу файлов по этому трекеру

Ещё одна маленькая, но лично мне нужная вещь: редактор контекстного меню. Изначально в контекстном меню(правый клик по любому торренту в списке) очень много пунктов, и большинство пользователей половиной из них никогда не пользовались. Я добавил возможность оставить в этом контекстном меню только то что нужно именно вам

А что, собственно, дальше?

В приложение уже встроена система автообновлений, так что про новые версии вы узнаете при следующем запуске.

Из ближайшего: разбор багов, которые всплывут после первых установок, и доводка мелочей в интерфейсе, до которых за месяц просто не дошли руки.

Программа полностью бесплатная и опенсорсная. Вся информации, ссылки на исходный код и скачивание доступны на сайте: https://winbittorrent.github.io/

Если найдёте баг или дыру в логике, добро пожаловать в issues на GitHub. А если просто есть мнение по интерфейсу, тоже пишите, любой обратной связи буду рад.

Спасибо за внимание :)

Комментарии (8)


  1. playboy_progrmmer
    27.07.2026 07:35

    5 минут полёт нормальный, вроде работает. UI хороший


  1. backfield9818
    27.07.2026 07:35

    При изменении и сохранении настроек ругается, что не может, причём ругается даже на те, что не менял. А так вроде приятная прога :)


    1. kvch Автор
      27.07.2026 07:35

      Упс, забыл про этот баг. Поправлю в ближайшей обнове, спасибо)


      1. backfield9818
        27.07.2026 07:35

        И, встроенные обновления хорошо, но ещё бы через winget )


  1. Kasyan666
    27.07.2026 07:35

    Лично мне в qBittorrent очень не хватает фичи из BitTorrent/μTorrent: связки .torrent-файла и раздачи, чтобы их можно было удалить одновременно, не лазая руками в папку с .torrent-файлами. Но, видимо, для этого нужна дополнительная БД...


    1. igrblkv
      27.07.2026 07:35

      Transmission пробовали?

      Речь про нижний пункт?


    1. zelenin
      27.07.2026 07:35

      там галочка всегда была при удалении


  1. zelenin
    27.07.2026 07:35

    400 мб, 1100+ файлов. это так и должно быть?