SkTorrent Overhauled

ShinoYumi
2026-01-28T22:10:54Z

Kompletní moderní UI overhaul vč. typografie, rozložení, opravení řazení podle seedu a přidání funkce magnet.

SkTorrent Overhauled (UserScript)

Moderní UI overhaul pro SkTorrent: typografie, rozložení, lepší čitelnost, opravené řazení podle seedu + přidané Magnet odkazy přímo na stránce torrentu. Script běží na hlavním webu i na announce doméně a umí synchronizovat motiv mezi iframe (announce) a hlavní stránkou.

Funkce

🎨 Moderní vzhled + typografie

Injektuje font Space Grotesk (Google Fonts).

Přepisuje zastaralé styly (legacy bgcolor, inline background:#000, staré barvy font[color=...] apod.).

Nové UI komponenty:

karty (.skt-card)

hlavičky sekcí (.skt-title)

moderní inputy/tlačítka a hover/focus stavy

🧱 Kompletní přestavba layoutu (grid)

Vytvoří wrapper #skt-app a přepne layout na:

1 sloupec (mobile)

2 sloupce (desktop: hlavní obsah + sidebar)

Přesune všechny tabulky o šířce 950 z do hlavního cardu (bez clonování → zachování funkčnosti formulářů).

Sidebar:

„Právě se stahuje“ (#div_refresh_members / .fixed1)

panely .maxwidthclass (komenty/fórum)

🔃 Opravené / pohodlné řazení torrentů

Přidává tlačítka řazení do UI (např. Seeds, Velikost).

Přidává inline sort odkazy (S/L/C) do paginace nebo řádku vyhledávání.

Přepisuje header buňky „S / L / C“ na klikatelné odkazy s indikátorem směru (↕ / ↑ / ↓).

🧲 Magnet odkazy (včetně trackerů)

Najde download odkazy download.php?id=<INFOHASH> a doplní vedle nich Magnet link.

Magnet link obsahuje:

xt=urn:btih:<infohash>

dn=<název> (pokud je dostupný)

tr=<trackery> včetně announce SKT a veřejných UDP trackerů

Umí si z webu „vytáhnout“ passkey (PID/passkey) a uložit ho do LocalStorage pro personalizovaný announce URL.

🧩 Synchronizace motivu mezi doménami (main ↔ announce iframe)

Main host (sktorrent.eu) posílá zvolený theme přes postMessage do announce iframe.

Announce host (announce.sktorrent.eu) poslouchá message a aplikuje theme lokálně.

🔎 Toggle pro filtry

U panelu filtrů #pzbalene přidá tlačítko Skrýt/Zobrazit filtry.

Stav ukládá do LocalStorage.

🇨🇿 Lokalizace češtiny (drobné opravy textů)

Pokud je vybraná čeština v select[name="langue"], provede nahrazení nejčastějších překlepů / slovakismů v textu i atributech.

Motivy (Themes)

Script obsahuje 4 motivy:

Nocturne (default)

Ember

Tide

Paper (světlý)

Motiv se ukládá do LocalStorage pod klíčem:

skt-theme

Motivy lze volit přes původní dropdown select[name="style"]:

Script do něj přidá nové položky ve tvaru skt-theme:<ThemeName> a převezme obsluhu change eventu.

Instalace

1. Nainstaluj správce userscriptů:

Tampermonkey (Chrome/Edge)

Violentmonkey (Firefox/Chrome)

2. Vytvoř nový userscript a vlož kód.

3. Script se spouští na:

https://sktorrent.eu/torrent/*

https://announce.sktorrent.eu/torrent/*

Ukládání dat (LocalStorage)

Script používá tyto klíče:

skt-theme — aktivní theme (např. Nocturne)

skt-theme-sync — message type pro cross-frame sync (interní konstanta)

skt-search-collapsed — stav filtrů ('1' / '0')

skt-passkey — uložený passkey (32 hex znaků), použitý do announce trackeru

Jak to funguje technicky (stručně)

document-start: injektuje fonty + CSS co nejdřív, aby se minimalizoval FOUC.

DOMContentLoaded:

staví nový layout (buildLayout)

přidává sort UI a sort linky

přidává toggle filtrů a drobné úpravy formulářů

hledá a ukládá passkey

generuje magnet odkazy

doplní theme volby do selectu a spustí CZ lokalizaci

requestIdleCallback: opakuje některé opravy (legacy atributy, lokalizace, magnety), aby to chytilo i později renderované části.

Poznámky / omezení

Script je psaný tak, aby byl co nejvíc tolerantní k legacy HTML (tabulky, inline styly).

Magnet link se generuje pouze pokud download.php?id= obsahuje 40-hex infohash.

Passkey detekce je heuristická (bere text z více míst stránky + URL parametry typu pid / passkey).

U některých změn se spoléhá na konkrétní existenci elementů (např. #pzbalene, table[width="950"]).

Bezpečnost

Script nic neposílá na externí servery.

Passkey ukládá pouze lokálně do LocalStorage (skt-passkey) a používá ho jen k sestavení announce trackeru v magnet linku.

Changelog

1.0

První vydání: moderní UI, layout grid, sort opravy, magnet odkazy, theme systém + sync, toggle filtrů, CZ text fixy.