Skip to content

About

NX Torrent Player: Stremio on Nintendo Switch

Resources

Stars

5 stars

Watchers

0 watching

Forks

Repository files navigation

NX Torrent Player

NX Torrent Player

Видеоплеер для Nintendo Switch, который смотрит торренты без скачивания

Каталог TMDB, Stremio, Jackett, TorrServer, закладки и история просмотров

Release License Platform Upstream

Русский • English • Что нового


Note

ℹ️ О форке и благодарность автору оригинала

Проект — самостоятельное продолжение приложения NX-torrent-player, созданного shodow (@shodowlo).

Огромное спасибо shodow за саму идею, встроенный движок потокового воспроизведения BitTorrent и интерфейс в духе системы Switch. Форк развивает Langegen: каталог TMDB, Jackett, закладки и история, новый торрент-движок, плеер в стиле Lampa и многое другое — с бережным отношением к исходному коду.


📖 Обзор

NX Torrent Player — homebrew-видеоплеер для Nintendo Switch с кастомной прошивкой (Atmosphère). Он не ждёт, пока файл скачается: встроенный BitTorrent-движок качает куски в том порядке, в каком их читает плеер, и видео начинается через несколько секунд.

Фильмы и сериалы можно выбирать в каталоге TMDB, как в Lampa, — раздачи для них ищутся через Jackett и аддоны Stremio. Работают и библиотека Stremio, и локальные .torrent-файлы и magnet-ссылки, и прямые http(s)-ссылки, и TorrServer. Интерфейс на borealis повторяет оформление системы Switch и поддерживает сенсорный экран; плеером можно управлять с пульта.


✨ Возможности

🏠 Каталог и библиотека

  • Главная в стиле Lampa — большой баннер, «Продолжить просмотр», ряды трендов, популярных и лучших фильмов и сериалов из TMDB на вашем языке. Отдельные вкладки «Фильмы», «Сериалы», «Аниме» и поиск.
  • Карточка фильма или сериала — фон, рейтинг, жанры, описание, актёры, сезоны и серии с прогрессом, «Похожие». Ответы TMDB кэшируются на карте памяти, поэтому главная открывается мгновенно и без сети.
  • TMDB работает и в России — для русского интерфейса по умолчанию включён прокси TMDB (Настройки → Сеть → TMDB), встроенный ключ API тоже есть. Свой прокси можно поднять на Cloudflare Workers: инструкция в tools/tmdb-worker.
  • Закладки — статусы «Смотрю», «Буду смотреть», «Просмотрено», «Брошено» и вкладка «Закладки». Прогресс хранится для каждого фильма и каждой серии и привязан к названию, а не к файлу, — он переживает смену раздачи. Библиотеку можно экспортировать и импортировать одним файлом.
  • История — постеры просмотренного, открывают карточку; файлы без карточки — в ряду «Другие файлы». «Продолжить S1 E2 с 22:10» продолжает с той же раздачи.

🎯 Раздачи

  • Единый список раздач — Jackett (поиск по русскому и оригинальному названию, с поддержкой Jacred) и ваши аддоны Stremio в одном списке.
  • Разбор названий — качество, источник, кодек, HDR / 10-bit, озвучка (в том числе пометки rutracker: | D, | P, L1…), сезон и серия. Раздачи с русской озвучкой идут первыми, дубляж — выше всего; первой стоит та, что лучше всего играет на Switch, с меткой «лучший выбор».
  • Сезонные паки — открываются сразу на нужной серии, выбранная озвучка запоминается для сериала.
  • Фильтры — по качеству, X меняет порядок; 4K-раздачи по умолчанию скрыты (Switch выводит максимум 1080p), включаются в Настройки → Stremio.

🎬 Плеер

  • Панель управления в стиле Lampa — название, серия, часы и время окончания сверху; внизу шкала времени и кнопки: предыдущая / следующая серия, перемотка, пауза, серии, аудио, субтитры, настройки, блокировка.
  • Серии сезонной раздачи — список серий (ZL) с понятными названиями («Серия 16 · April in Quahog») и отметками «Просмотрено» / где остановились; следующая серия включается сама.
  • Управление с пульта — весь плеер работает со стрелками, OK и «Назад»: подойдёт клавиатура или USB-пульт в доке. Стики работают как крестовина, а на шкале времени — как плавная перемотка.
  • Настройки на ходу — громкость, скорость, размер видео (заполнить, растянуть, увеличить), размер и задержка субтитров меняются стрелками прямо в панели; внешние субтитры из аддонов Stremio.
  • Картинка в портативном режиме — яркость, контраст, гамма и насыщенность, экран калибровки с тестовыми таблицами (Настройки → Воспроизведение). В доке картинкой управляет телевизор.
  • Звук — правильное сведение 5.1 в стерео (диалоги не теряются) и усиление тихого звука в портативном режиме.
  • 4K — аппаратное декодирование и облегчённое масштабирование для видео больше 1080p.

⚡ Торрент-движок

  • Движок TorrentShopNX — несколько пиров на кусок, повторные запросы горячего куска у второго пира, endgame, обмен пирами (PEX), входящие соединения (UPnP), uTP, постоянный фоновый DHT.
  • Быстрый старт magnet-ссылок — трекеры и DHT опрашиваются одновременно, метаданные и пиры кэшируются: повторное открытие не ждёт сети.
  • Адаптивный старт — воспроизведение начинается, как только скорость покрывает битрейт; размер буфера настраивается (Настройки → Стриминг → Размер буфера).
  • Панель статистики (ZR) — пиры, скорость, пул адресов, буфер и этапы запуска в реальном времени.

🌐 Другие источники и сеть

  • Stremio — вход в аккаунт, библиотека, каталоги и аддоны.
  • Локальные торренты и magnet-ссылки — из папки на карте памяти или с экранной клавиатуры.
  • Прямые ссылки — http(s)-источники аддонов (дебрид-сервисы и подобные) с перемоткой; https идёт через curl приложения с проверкой сертификатов.
  • TorrServer — укажите адрес, и любой торрент будет качать сервер, а консоль получит обычный видеопоток.
  • Прокси — HTTP или SOCKS для каталогов, аддонов, постеров и https-видео; к локальной сети подключение всегда напрямую.

🛡️ Надёжность

  • Данные (настройки, библиотека, история) сохраняются атомарно с резервной копией — отключение питания их не портит.
  • Зависшие запросы, долгая загрузка magnet-ссылки и выход из приложения прерываются сразу, без зависаний.
  • Обновления скачиваются и проверяются в приложении.

🌍 Языки

Русский, английский и французский. По умолчанию язык берётся из настроек консоли, сменить можно в Настройки → Общие → Язык.


📸 Скриншоты

Локальные торренты
Локальные торренты и magnet-ссылки
Библиотека Stremio
Каталог и библиотека Stremio
Выбор серий
Выбор файла или серии из раздачи
Плеер
Плеер с выбором аудио и субтитров

📥 Установка

Что нужно

  • Nintendo Switch с кастомной прошивкой Atmosphère.
  • Свободное место на microSD для кэша видео.
  • Интернет (Wi-Fi или LAN) и правильные дата и время на консоли — иначе не пройдёт проверка сертификатов HTTPS.

Как установить

  1. Скачайте NX-torrent-player.nro последней версии со страницы Releases.
  2. Скопируйте его на microSD:
    sdmc:/switch/NX-torrent-player/NX-torrent-player.nro
    
  3. Откройте Homebrew Menu через игру (Title Override: удерживайте R при запуске любой установленной игры) — тогда приложению достанется вся память. Из Альбома (режим апплета) приложение не запустится: памяти там слишком мало для видео.

Tip

Обновления: приложение само проверяет новые версии при запуске (Настройки → О программе → Проверять обновления при запуске), скачивает и заменяет .nro. Список изменений можно посмотреть там же.


🎮 Управление

Меню

Кнопка Где Действие
A Везде Выбрать / открыть / смотреть
B Везде Назад / закрыть
Y Карточка Добавить в закладки
X Карточка Все раздачи для серии
X Список раздач Сменить порядок
Y Раздача Jackett Сохранить в «Локальные»
X Главная, «Продолжить» Убрать из ряда
Y / X История Удалить пункт / очистить историю
Y Локальные Удалить .torrent или magnet
L / R Карточка сериала Предыдущий / следующий сезон
L / R Stremio Сменить вид
Сенсорный экран Везде Выбор касанием, прокрутка жестами

Плеер

Кнопка Действие
Крестовина / стик С панелью: влево / вправо — по кнопкам, вверх — на шкалу времени, вниз — обратно. Без панели: влево / вправо — перемотка по 10 с (при удержании быстрее), вверх / вниз — показать панель
Стик на шкале времени Плавная перемотка: чем сильнее наклон, тем быстрее
A Нажать выбранную кнопку; без панели — пауза / продолжить
B Скрыть панель; при воспроизведении — выйти по второму нажатию
X / + Настройки: аудио, субтитры, скорость, размер видео, картинка
ZL Список серий
L / R Скорость воспроизведения
Y Блокировка управления — снимается только Y или касанием замочка
ZR / − Статистика движка и потока
Сенсорный экран Экранные кнопки, перемотка касанием по шкале

С клавиатуры или USB-пульта: стрелки, Enter (OK), Esc (Назад), пробел — пауза, Page Up / Page Down — предыдущая / следующая серия.


🧭 Как пользоваться

1. 🏠 Каталог

Главная и вкладки «Фильмы», «Сериалы», «Аниме» показывают каталог TMDB. Откройте название, нажмите «Смотреть» (или серию в списке) — приложение соберёт раздачи из Jackett и аддонов Stremio и предложит лучшую. Для России прокси TMDB включён сам; если каталог не грузится, проверьте Настройки → Сеть → TMDB.

2. 🔍 Jackett

В Настройки → Jackett (или при первом запуске) укажите:

  • Адрес сервера — например, http://192.168.1.100:9117; поддерживаются и серверы Jacred.
  • Ключ API — если в Jackett включена авторизация.

Раздачи Jackett появятся в списке раздач у каждого названия. Во вкладке Источники → Jackett можно искать по трекерам напрямую, с фильтрами «Все», «Фильмы», «Сериалы», «Аниме» и сортировкой по сидам, размеру или дате.

3. 📺 Stremio

Источники → Stremio: войдите по e-mail и паролю. Доступны библиотека, каталоги, сезоны и серии; раздачи берутся из ваших аддонов (например, Torrentio), прямые ссылки — из дебрид-аддонов. Аддоны Stremio подключаются и к спискам раздач в карточках.

4. 📁 Локальные торренты и magnet-ссылки

  • Положите .torrent в sdmc:/switch/NX-torrent-player/torrents/ (подпапки тоже читаются).
  • Magnet-ссылки: по одной на строку в torrents/magnet.txt или кнопкой «+ Добавить магнет» во вкладке «Локальные».
  • Метаданные magnet-ссылки определяются в фоне и кэшируются.

5. 🖥️ TorrServer и прокси

Настройки → Сеть: адрес TorrServer — и торренты пойдут через него; HTTP/SOCKS-прокси — для каталогов, аддонов и https-видео.

6. 🩺 Если что-то не так

  • Не открывается HTTPS / сертификаты — проверьте дату и время на консоли.
  • Видео тормозит — откройте статистику (ZR): если пиров мало и скорость ниже битрейта, выберите раздачу с большим числом сидов или увеличьте буфер.
  • Нужен журнал — включите Настройки → О программе → Файл журнала, перезапустите приложение и повторите; журнал — sdmc:/switch/NX-torrent-player/nx-torrent-player.log.

🛠️ Сборка из исходников

.nro для Switch

Проще всего — в официальном Docker-образе devkitPro (devkitA64 ставить не нужно):

# 1. Том для кэша сборки и конфигурация (один раз)
docker run --rm -v st_build:/build -v "$PWD":/project -w /build \
    devkitpro/devkita64:latest sh -c "cmake /project"

# 2. Сборка NX-torrent-player.nro
docker run --rm -v st_build:/build -v "$PWD":/project -w /build \
    devkitpro/devkita64:latest \
    sh -c "cmake --build . --target NX-torrent-player.nro"

# 3. Копируем .nro в папку проекта
docker run --rm -v st_build:/build -v "$PWD":/project \
    devkitpro/devkita64:latest sh -c "cp /build/NX-torrent-player.nro /project/"

Без Docker нужен установленный devkitPro с пакетами switch-libmpv switch-curl switch-libwebp switch-mbedtls switch-glfw switch-mesa, затем cmake -B build -DPLATFORM_SWITCH=ON и cmake --build build --target NX-torrent-player.nro. Так же собирает CI: на каждый pull request, а по тегу vX.Y.Z — черновик релиза.

Note

В Windows (Git Bash или MSYS2) ставьте перед docker-командами MSYS_NO_PATHCONV=1, иначе пути внутри контейнера исказятся.

Тесты на ПК

Офлайн-тестам нужны только gcc/g++ и заголовки libcurl (Linux, macOS, WSL или MSYS2). Трекеры, DHT и пиры заменены моками на loopback, сеть не нужна. CI гоняет их на каждый pull request:

sh pctest/run_tests.sh

enginetest запускает настоящий движок на живом рое и моделирует плеер — так меряется скорость старта и паузы (нужны ещё libmbedtls и zlib):

sh pctest/build.sh
pctest/enginetest <file.torrent | magnet:?...> 120 play

👏 Благодарности

  • shodow (@shodowlo) — автор оригинального NX Torrent Player.
  • TorrentShopNX — родственный торрент-движок, из которого перенесено ядро.
  • Lampa — образец для главной, карточек и панели плеера.
  • borealis от @xfangfang — интерфейс в стиле Horizon.
  • mpv и FFmpeg — воспроизведение видео.
  • libutp — протокол uTP.
  • TMDB — каталог и описания (продукт использует TMDB API, но не одобрен и не сертифицирован TMDB).
  • Stremio и Jackett — источники раздач (проект с ними не связан).
  • curl и сертификаты Mozilla — HTTP/TLS и проверка сертификатов.
  • devkitPro и libnx — тулчейн и системные библиотеки Switch.

📜 Лицензия

Apache License 2.0.

  • Исходный код © 2024–2026 shodowlo.
  • Изменения и дополнения © 2026 Langegen и контрибьюторы.

Подробности — в файле LICENSE.

About

NX Torrent Player: Stremio on Nintendo Switch

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages