From 07bc594fb597dccddee8bcd507d9a2e48c721823 Mon Sep 17 00:00:00 2001 From: rouggy Date: Thu, 9 Apr 2026 19:19:26 +0200 Subject: [PATCH] first commit --- README.md | 77 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..a92eb88 --- /dev/null +++ b/README.md @@ -0,0 +1,77 @@ +# qBHardlink + +Programme Go lancé automatiquement par qBittorrent à la fin d'un téléchargement. Selon la catégorie du torrent, il crée des hardlinks vers un répertoire de destination configurable — l'équivalent du plugin AutoTools de rTorrent. + +## Fonctionnement + +- Si la catégorie du torrent est présente dans la config, les hardlinks sont créés dans `dest_base//` +- Si la catégorie est absente de la config, le programme se termine silencieusement (exit 0) +- Les hardlinks préservent l'arborescence originale +- Un fichier déjà présent dans la destination est ignoré (skip) + +**Fichier unique :** +``` +/home/rouggy/torrents/qbittorrent/Movies/film.mkv + → /home/rouggy/torrents/qbittorrent/Complete/Movies/film.mkv +``` + +**Dossier :** +``` +/home/rouggy/torrents/qbittorrent/Movies/film.name/film.name.mkv + → /home/rouggy/torrents/qbittorrent/Complete/Movies/film.name/film.name.mkv +``` + +## Installation + +```bash +go build -o qbhardlink . +sudo cp qbhardlink /usr/local/bin/ +``` + +## Configuration + +Le fichier de config est lu depuis `~/.config/qbhardlink/config.yaml` par défaut. + +```bash +mkdir -p ~/.config/qbhardlink +cp config.example.yaml ~/.config/qbhardlink/config.yaml +``` + +Contenu du fichier : + +```yaml +# Répertoire de destination pour les hardlinks +dest_base: /home/rouggy/torrents/qbittorrent/Complete + +# Mapping catégorie qBittorrent -> sous-dossier dans dest_base +categories: + Radarr: Movies + Radarr4K: Movies-4K + Sonarr: Series + Sonarr4K: Series-4K +``` + +Pour ajouter une catégorie, il suffit d'ajouter une ligne sous `categories:` sans recompiler. + +## Intégration qBittorrent + +Dans qBittorrent : **Options → Avancées → Run on torrent finished** : + +``` +/usr/local/bin/qbhardlink --name "%N" --category "%L" --content-path "%F" +``` + +| Paramètre qBittorrent | Flag | Description | +|-----------------------|------------------|--------------------------------| +| `%N` | `--name` | Nom du torrent (pour les logs) | +| `%L` | `--category` | Catégorie (obligatoire) | +| `%F` | `--content-path` | Chemin complet du contenu | + +## Options + +``` +--name Nom du torrent (optionnel, utilisé pour les logs) +--category Catégorie qBittorrent (obligatoire) +--content-path Chemin vers le fichier ou dossier téléchargé (obligatoire) +--config Chemin vers le fichier de config (défaut: ~/.config/qbhardlink/config.yaml) +```