115 lines
6.2 KiB
Markdown
115 lines
6.2 KiB
Markdown
---
|
|
title: NzbDAV
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, downloads, usenet, webdav, nzb, streaming, python]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=downloads, https://github.com/nzbdav/nzbdav]
|
|
---
|
|
|
|
# 🗂️ NzbDAV
|
|
|
|
> **Serveur WebDAV qui transforme vos NZB Usenet en fichiers streamables** : montez votre bibliothèque Usenet comme un disque réseau, et **streammez directement** dans Jellyfin, Infuse, VLC ou même via Stremio/Symposium, **sans attendre la fin du téléchargement complet**. L'équivalent Usenet d'un *debrid* mais 100% self-hosted.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [https://nzbdav.com](https://nzbdav.com) |
|
|
| **GitHub** | [https://github.com/nzbdav/nzbdav](https://github.com/nzbdav/nzbdav) |
|
|
| **License** | MIT |
|
|
| **Langage** | Go + WebAssembly (libpar2) |
|
|
| **Étoiles** | 96 ⭐ |
|
|
| **Dernière MAJ** | 2025-12 |
|
|
| **Catégorie** | [[cat-downloads\|Downloads]] |
|
|
|
|
## Description
|
|
|
|
**NzbDAV** s'attaque à un problème longtemps négligé côté Usenet : pour **streammer** un film ou une série, il fallait autrefois **attendre la fin du téléchargement** (paraboles SABnzbd/NZBGet), puis le déplacer dans la bibliothèque Jellyfin. C'est lent, ça bouffe du disque, et ça casse le confort du streaming.
|
|
|
|
**NzbDAV** change la donne en exposant un **serveur WebDAV** standard qui parle à un provider Usenet (via `NZBGet` ou un backend NNTP direct) et présente chaque NZB comme un **fichier virtuel** sur un montage WebDAV. Quand Jellyfin/Plex/Infuse demande la lecture, NzbDAV **télécharge en arrière-plan, décompresse, vérifie par2, et streame** la partie demandée dès qu'elle est prête. Le client croit lire un fichier local, alors qu'il est reconstitué à la volée depuis des segments NZB stockés chez votre provider Usenet.
|
|
|
|
L'architecture repose sur **libpar2** compilée en **WebAssembly** (Go) — c'est le seul projet Usenet à faire ça, ce qui élimine les libs natives capricieuses. Le binaire est un **statique Go** multi-plateforme qui tourne sur Linux, macOS, Windows, ARM (Raspberry Pi, Synology), avec un **auth WebDAV** par username/password (ou **SSO** via reverse-proxy), une **gestion fine du cache** (combien de Go conserver en local), un **dossier "incomplete"** purgé automatiquement, et une **API REST** pour scripter.
|
|
|
|
**Points forts** : révolutionne le streaming Usenet, **MIT**, multi-plateforme, intégration WebDAV universelle, **très léger** (1 seul binaire, pas de DB).
|
|
|
|
**Points faibles** : projet jeune (~96 ⭐), pas de gestion native de files de téléchargement multiples (1 NZB = 1 stream, pas de "queue"), pas d'UI web étoffée (administration via fichier YAML), bus factor à surveiller.
|
|
|
|
## Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
services:
|
|
nzbdav:
|
|
image: ghcr.io/nzbdav/nzbdav:latest
|
|
container_name: nzbdav
|
|
restart: unless-stopped
|
|
environment:
|
|
- NZBDAV__BACKEND=NzbGet
|
|
- NZBDAV__NZBGET__URL=http://nzbget:6789
|
|
- NZBDAV__NZBGET__USERNAME=nzbget
|
|
- NZBDAV__NZBGET__PASSWORD=change...ng
|
|
- NZBDAV__CACHE__SIZE=20
|
|
- NZBDAV__WEBDAV__USERNAME=alice
|
|
- NZBDAV__WEBDAV__PASSWORD=change...ng
|
|
volumes:
|
|
- ./config:/config
|
|
- ./cache:/cache
|
|
ports:
|
|
- "8080:8080"
|
|
```
|
|
|
|
### Installation manuelle
|
|
|
|
Télécharger le binaire static depuis GitHub Releases (`wget ... && chmod +x nzbdav_linux_amd64`). Fichier `config.yaml` à côté, puis `./nzbdav_linux_amd64`. Service systemd trivial.
|
|
|
|
## Configuration
|
|
|
|
1. **Backend Usenet** : NzbDAV peut soit parler à un **NzbGet** local (recommandé), soit directement à un serveur NNTP (Eweka, Newshosting, etc.).
|
|
2. **Auth WebDAV** : créer un couple user/password par "membre de la famille" — chaque user a son propre dossier.
|
|
3. **Cache** : taille max en Go (20 par défaut) — au-delà, purge LRU.
|
|
4. **Monter dans Jellyfin** : ajouter une bibliothèque "Films" de type WebDAV HTTP, URL `http://nzbdav:8080/webdav/`, user/password.
|
|
5. **Monter dans Infuse/NV** : idem, URL locale ou publique (`https://nzbdav.example.com/webdav`).
|
|
6. **Reverse proxy** : `nzbdav.example.com` via Caddy/Traefik + HTTPS obligatoire (sinon credentials en clair).
|
|
|
|
## Alternatives
|
|
|
|
### Open source
|
|
- **NzbGet + Jellyfin "inotify"** — workflow classique : download complet → déplacement → scan. Plus lent, plus d'espace disque.
|
|
- **SABnzbd** — le "NzbGet-like" historique, sans WebDAV streaming.
|
|
- [[app-nzbget]] — le backend Usenet le plus utilisé avec NzbDAV.
|
|
- [[app-sabnzbd]] — alternative à NzbGet.
|
|
- [[app-jellyfin]] — le media server qui consomme le WebDAV.
|
|
- **Stremio + Symposium** — approche client-side équivalente pour torrent/usenet (propriétaire côté symposium).
|
|
|
|
### Propriétaires
|
|
- **Real-Debrid / AllDebrid** — services de "debrid" Usenet/torrent fermés, abonnement mensuel, **vous donnent accès à leur pool** mais stockent **votre historique** chez eux.
|
|
- **UsenetServer + Plex "Cloud Sync"** — pas de feature équivalente.
|
|
- **Plex Pass + IPTV** — hors sujet, autre écosystème.
|
|
|
|
## Sécurité
|
|
|
|
- ⚠️ **Credentials WebDAV** : transmis en clair sur HTTP — **HTTPS obligatoire** en exposition Internet.
|
|
- ⚠️ **Reverse proxy + auth** : NzbDAV n'a pas de SSO natif, comptez sur Authelia/Authentik en amont.
|
|
- ⚠️ **Provider Usenet** : choisir un fournisseur qui respecte la vie privée (pas de logs, paiement crypto possible : Eweka, Newshosting, BlockNews).
|
|
- ⚠️ **Cache disque** : contient des fragments de fichiers Usenet — chiffrer le volume au repos (LUKS).
|
|
- ✅ **Pas de DB** : rien à sauvegarder hormis `./config`.
|
|
- ✅ **Surface d'attaque minimale** : binaire Go statique, pas de dépendances runtime.
|
|
|
|
## Ressources
|
|
- [Site officiel](https://nzbdav.com)
|
|
- [Documentation](https://github.com/nzbdav/nzbdav/wiki)
|
|
- [GitHub](https://github.com/nzbdav/nzbdav)
|
|
- [selfh.st — Downloads](https://selfh.st/apps/?tag=downloads)
|
|
|
|
## Pages Liées
|
|
- [[cat-downloads]] — Catégorie parente
|
|
- [[app-nzbget]] — Backend Usenet typique
|
|
- [[app-sabnzbd]] — Backend Usenet alternatif
|
|
- [[app-jellyfin]] — Media server qui consomme le WebDAV
|
|
- [[app-plex]] — Media server alternatif
|
|
- [[recettes-docker-compose]] — Templates Docker
|
|
- [[securisation-home-lab]] — Bonnes pratiques
|