unit3dprep¶
Web UI + CLI di pre-flight per tracker Unit3D — pairing diretto con unit3dup.
Verifica tracce audio italiane, rinomina secondo la nomenclatura ItaTorrents (e altri tracker Unit3D), crea hardlink in ~/seedings/ e lancia unit3dup per l'upload finale. Funziona da terminale o da browser.

Due modalità di utilizzo
- CLI — flusso interattivo per un singolo file o un'intera stagione. Ideale via SSH.
- Web UI — React SPA servita da FastAPI. Wizard guidato, coda upload, storico, settings, log in tempo reale.
Cosa fa¶
- Scansiona la tua libreria (
~/media/{movies,series,anime}o cartelle custom). - Verifica la presenza di tracce audio italiane tramite
pymediainfo. - Recupera i metadati ufficiali da TMDB (inserendo l'ID manualmente o via ricerca).
- Costruisce il nome finale secondo la nomenclatura ItaTorrents.
- Hardlinka il file rinominato in
~/seedings/(stesso filesystem richiesto). - Lancia
unit3dup -b -uounit3dup -b -fper caricarlo sul tracker. - Registra l'esito nello storico (JSON) e lo espone nella Web UI.
Avvio rapido¶
# 1. Installa il pacchetto
pip install -e .
# 2. Genera hash password + secret sessione
python generate_hash.py
# 3. Esporta le variabili (o scrivile in ~/.bashrc)
export U3DP_PASSWORD_HASH="..."
export U3DP_SECRET="..."
export TMDB_API_KEY="..."
export U3DP_PORT="8765"
# 4. Avvia la Web UI
unit3dprep-web
Apri http://127.0.0.1:8765 e inserisci la password.
Per i dettagli completi vedi Installazione e Configurazione.
Guide di deploy¶
- VPS con sudo / Docker — server Linux generico con systemd, nginx + Let's Encrypt.
- Ultra.cc — seedbox Ultra.cc con porta riservata, systemd user unit e nginx user-proxy.
Stack tecnico¶
| Componente | Tecnologia |
|---|---|
| Backend | FastAPI + uvicorn + Starlette |
| SSE | sse-starlette |
| Auth | bcrypt + itsdangerous (cookie sessioni) |
| Frontend | React 18 + Vite + TypeScript + lucide-react |
| Parsing filename | guessit |
| MediaInfo | pymediainfo (richiede libmediainfo) |
| Metadata | TMDB API v3 |
| Upload | unit3dup (CLI esterna) |
| Persistenza | file JSON (no SQLite — _sqlite3 rotto su pyenv Python 3.13) |
Link utili¶
- Repo: https://github.com/davidesidoti/unit3dprep
- ItaTorrents: https://itatorrents.xyz
- TMDB API: https://www.themoviedb.org/settings/api
unit3dup: https://pypi.org/project/unit3dup/