npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

tbtorrent

v12.0.0

Published

TB Torrent dla TizenBrew z przesuwaną osią czasu napisów, regulacją wyglądu napisów, dużą linią pauzy i cache RAM.

Readme

TB Torrent for TizenBrew

Lokalny odtwarzacz torrent/magnet dla telewizorów Samsung Tizen. Usługa Node.js pobiera fragmenty wybranego pliku do rotacyjnego cache w RAM, udostępnia lokalny strumień HTTP Range, a aplikacja TV odtwarza go przez Samsung AVPlay. Telefon w tej samej sieci działa jako panel sterowania.

Projekt jest przeznaczony wyłącznie do materiałów, do których użytkownik ma prawa lub zgodę na pobieranie i rozpowszechnianie.

Wersja 12.0.0

W TizenBrew moduł instalujemy jako:

tbtorrent@11

Zapis @11 wybiera najnowszą wersję z gałęzi 11.x.x.

Napisy zewnętrzne

Wersja 11 nie dodaje przesłanego pliku ASS, SSA, SRT ani VTT do listy ścieżek AVPlay i nie korzysta z zawodnego na tym modelu TV setSubtitlePosition() dla zewnętrznych napisów.

  • oryginalny upload pozostaje niezmieniony,
  • aplikacja tworzy w RAM własną oś czasu wpisów,
  • wartości -500, -100, 0, +100, +500 ms przesuwają bezpośrednio czas początku i końca każdego wpisu,
  • napisy są wybierane z już przesuniętej osi czasu według aktualnej pozycji filmu,
  • nakładające się dialogi mogą być pokazywane razem,
  • techniczne klatki animacji karaoke ASS są pomijane wyłącznie w kopii przeznaczonej do wyświetlania,
  • identyczne zdarzenia powielone na kilku warstwach ASS są scalane,
  • panel pokazuje liczbę zdarzeń źródłowych, użytecznych wpisów, pominiętych animacji i scalonych duplikatów,
  • użytkownik może ustawić rozmiar liter, odstęp między literami i odstęp między wierszami,
  • ustawienia wyglądu są zapisywane lokalnie na telewizorze i nie zmieniają oryginalnego pliku.

Dzięki temu zewnętrzne napisy nie pojawiają się w polu „Napisy wbudowane”, a synchronizacja nie zależy od obsługi zewnętrznego pliku przez konkretny firmware AVPlay.

Sterowanie odtwarzaniem

  • pauza pokazuje nowoczesną ikonę oraz powiększony, szerszy pasek umieszczony niżej, z bieżącym czasem i długością filmu,
  • animacja Play jest białym trójkątem z cieniem, bez czarnego prostokąta,
  • przycisk Wstecz podczas pełnoekranowego odtwarzania najpierw pauzuje film, a dopiero potem pokazuje ekran z kodem QR,
  • szybkie przewijania są łączone i wykonywane kolejno,
  • pierwsze niedokładne cofnięcie AVPlay otrzymuje jedną kontrolowaną korektę.

Cache i czyszczenie

  • cache filmu działa wyłącznie w RAM,
  • dostępne limity: 32, 64, 96, 128, 192, 256, 320, 384, 448 MB,
  • ustawienie domyślne: 64 MB,
  • zatrzymanie torrentu zwalnia bieżący cache,
  • pełne czyszczenie skanuje pozostałości wcześniejszych wersji,
  • usługa wyłącza się po zamknięciu aplikacji TV.

Port panelu wersji 11: 8810. Przy starcie usługa próbuje wygasić starsze instancje działające na portach 8790–8809.

Pierwsze uruchomienie

  1. Zainstaluj tbtorrent@11.
  2. Uruchom aplikację na telewizorze.
  3. Zeskanuj nowy kod QR; adres panelu powinien używać portu 8810.
  4. Opcjonalnie wykonaj „Sprawdź zajęte miejsce TB Torrent” oraz „Wyczyść wszystkie dane TB Torrent”.
  5. Wczytaj torrent, wybierz film, prześlij napisy i sprawdź w panelu komunikat renderer: oś czasu TB Torrent.

Budowanie i testy

npm install
node scripts/build-engine.js
node scripts/build-mod.js
npm run check
npm run test:subtitles
npm run test:subtitle-timeline
npm run test:subtitle-delay
npm run test:panel
npm run test:app-safety
npm run test:upload
npm run test:memory-cache
npm run test:rolling
npm run test:rolling-stream
npm run test:rolling-destroy
npm run test:service
npm run test:node12
npm run test:torrent
npm run test:vm
npm run test:vm:torrent
npm run test:stability
npm run test:seek-coalescing
npm run test:legacy-cache
npm run test:legacy-shutdown
npm run test:cache-config
npm run test:full-cleanup
npm run test:locked-scan
npm run test:tv-watchdog
npm run pack:preview

Publikacja

cd /home/surviman/ai-workspace/apps/tizenbrew-torrent-player
npm publish --access public

Nazwa paczki:

tbtorrent

Dalszy plan: VPN

Obsługa VPN pozostaje oddzielnym etapem rozwoju. Nie jest dołączona do wersji 12, aby nie zmieniać działającego toru torrent → cache RAM → AVPlay.