unit3dprep
Web UI + CLI di pre-flight per tracker Unit3D, accoppiata via HTTP a Unit3DWebUp come backend di upload.
Verifica tracce audio italiane, rinomina secondo la nomenclatura ItaTorrents, crea hardlink in ~/seedings/ e orchestra il flusso setenv → scan → maketorrent → upload → seed su Unit3DWebUp con log live via WebSocket/SSE.
Configurazione unificata: un singolo file .env condiviso tra unit3dprep e Unit3DWebUp (path ENVPATH/U3DP_ENV_PATH). Le modifiche fatte da Settings vengono propagate al bot via POST /setenv senza riavvio.
Auto-update integrato per app (GitHub Releases) e Unit3DWebUp (PyPI): pulsante "Aggiorna" in Settings → Versione, log pip/git live-streamed via SSE, restart systemd e reload del browser con popup changelog.
La Web UI è disponibile in italiano e inglese (selettore nella TopBar).
Controllo duplicati pre-upload: prima di costruire il .torrent il bridge interroga l'API ITT per tmdbId e match esatto sulla dimensione in byte. Se trova un duplicato mostra un pannello con i dettagli + "Carica comunque / Annulla"; l'annullamento traccia "duplicato skippato" nello storico e nasconde l'item dalla Media Library. Replica il vecchio unit3dup CLI (Unit3DWebUp 0.0.25 non implementa duplicate detection). Disabilitabile con W_DUPLICATE_CHECK=false.
Documentazione completa → https://davidesidoti.github.io/unit3dprep/
Quick start
# 1. unit3dprep + Unit3DWebUp nello stesso venv (o due venv separati)
pip install -e .
pip install Unit3DwebUp
# 2. Genera secret e password hash
python generate_hash.py
# 3. Variabili minime in ~/.bashrc
export U3DP_PASSWORD_HASH='$2b$12$...' # apici singoli — il $ NON va espanso
export U3DP_SECRET="..."
export TMDB_API_KEY="..."
export U3DP_PORT="8765"
export ENVPATH="$HOME/.config/unit3dprep" # condiviso con Unit3DWebUp
# 4. Avvia Unit3DWebUp (richiede Redis su 127.0.0.1:6379 e ffmpeg)
ENVPATH=$HOME/.config/unit3dprep uvicorn unit3dwup.start:app --host 127.0.0.1 --port 8000 &
# 5. Avvia unit3dprep
unit3dprep-web
Apri http://127.0.0.1:8765, fai login, completa Settings → tracker/qBit/image host. Le credenziali vengono salvate in $ENVPATH/.env con la nomenclatura canonica TRACKER__* / TORRENT__* / PREFS__* e sincronizzate live a Unit3DWebUp. Per il deploy systemd dei due servizi vedi deploy/systemd/.
Docker (all-in-one)
Redis + Unit3DWebUp + unit3dprep in un singolo container:
git clone https://github.com/davidesidoti/unit3dprep.git
cd unit3dprep
cp config.env.example config.env # compila U3DP_PASSWORD_HASH / U3DP_SECRET / TMDB_API_KEY
docker compose build
docker compose up -d
# apri http://127.0.0.1:8765
🐳 Immagine pubblicata su Docker Hub:
hashdeveloper512/unit3dprep. Per saltare la build locale, indocker-compose.ymlusaimage: hashdeveloper512/unit3dprep:latestal posto dibuild: .→docker compose up -dla scarica.
Serve Compose v2 (
docker compose). La vecchiadocker-composev1 (1.29.2) crasha suupcon Docker Engine 25+ (KeyError: 'ContainerConfig'). Sedocker compose versionnon funziona, installa il plugin v2 (binario utente, senza repo): vedi Deploy › Docker › §1.
Guida completa: Deploy › Docker.
Guide
- Installazione
- Configurazione
- Integrazione Unit3DWebUp
- Uso › CLI
- Uso › Web UI
- Deploy › Docker
- Deploy › VPS (sudo/Docker)
- Deploy › Ultra.cc
- Nomenclatura
- Troubleshooting
English mirror: aggiungi /en/ al path (es. /en/installation/).
Documentazione locale
pip install -r requirements-docs.txt
mkdocs serve
Poi apri http://127.0.0.1:8000.
Link
- Repo: https://github.com/davidesidoti/unit3dprep
- Tracker target principale: https://itatorrents.xyz
- Backend upload: https://pypi.org/project/Unit3DwebUp/ · https://github.com/31December99/Unit3DWebUp
- TMDB API: https://www.themoviedb.org/settings/api
Metadata
Release files for unit3dprep 1.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| unit3dprep-1.3.1.tar.gz | 533.3 kB | With provenance | Details for unit3dprep-1.3.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| unit3dprep-1.3.1-py3-none-any.whl | Python 3 | none | any | Details for unit3dprep-1.3.1-py3-none-any.whl |
Total release size: 1.1 MB
Release files / unit3dprep-1.3.1.tar.gz
| Download URL | unit3dprep-1.3.1.tar.gz |
|---|---|
| Size | 533.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f9e6e0c7bf14afc603deacfcbc83491cbe474446b07934a5bfa2309e6f4c295
|
|
BLAKE2b-256 checksum How to use checksums |
f649f240c75ccfef181fe8121fc6bf51938c765143e04c909a96f5c7163bc2b0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.
Transparency logRelease files / unit3dprep-1.3.1-py3-none-any.whl
| Download URL | unit3dprep-1.3.1-py3-none-any.whl |
|---|---|
| Size | 536.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4be27dd1e9af049e87ad2c0d2d211c930f3d3ff25169a1ee39a9f0846592abc8
|
|
BLAKE2b-256 checksum How to use checksums |
58af32e5b556aedc27df811b036ac0df06616508bd11ac354c233fa3faa388ec
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.
Transparency logSecurity for unit3dprep 1.3.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for unit3dprep-1.3.1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.