Плагин для лаунчера: каталог игр с четырех сайтов, торрент и автоустановка
Собрал плагин к лаунчеру BagaGame. Идея простая: не открывать браузер, не искать раздачу и не распаковывать архивы руками. Открыл вкладку, нашёл игру, нажал «Скачать», через время игра уже в библиотеке с обложкой.
Источники
Каталог собирается с четырех сайтов: Игруха (itorrents-igruha.org), Byxatab (byxatab.com), Byrut (byrutgame.org, только сетевые игры), Rutracker (rutracker.org, требуется VPN и вход - Бета). Переключение в отдельном окне, у каждого источника свои жанры и счётчики, рядом статус загрузки.
Каталог
Около 44 000 раздач. Поиск по названию, репаку, жанры с количеством игр, фильтр Portable. Сортировка: как на сайте, по названию, размеру, дате и рейтингу. У Игрухи рейтинг берётся в том же порядке, в котором сайт сортирует игры по оценке Steam, у Byxatab, Byrut, RuTracker по числу скачиваний (БЕТА).
Карточки без открытого торрента скрываются: страницы Игрухи, где раздача доступна только после входа или VIP, игры Byxatab с активацией без взлома и репаки с обходом защиты через гипервизор. Не приходится тыкать в кнопку, которая всё равно выдаст ошибку.
Загрузка
Внутри MonoTorrent: прогресс, скорость, сиды, пиры и оставшееся время. Качается до трёх раздач одновременно, остальные ждут в очереди и стартуют сами. Незавершённые загрузки подхватываются после перезапуска лаунчера. Если раздача мертва, плагин честно пишет про отсутствие сидов или трекеров. Свободное место проверяется до скачивания и перед распаковкой.
Установка
Встроенный 7-Zip: zip, rar, 7z, ISO и многотомные архивы. Пароли архивов поддерживаются, включая вложенные архивы и папку Fix Repair. Игра раскладывается сразу в D:\<Ваша папка><Игра><Игра>.exe, без двойных папок. Если внутри архива лежит setup.exe, плагин запускает его в тихом режиме, ставит игру и удаляет установщик, оставляя только файлы игры. Установку можно отменить и повторить без повторного скачивания.
Что под капотом
Плагин на C# под WPF, .NET Framework 4.7.2, каталог парсится регулярками прямо со страниц сайтов, без промежуточного сервера. Лог с уровнями и ротацией.
Что требуется
Плагин ничего не хостит: только читает открытые каталоги и качает раздачи.