first commit

This commit is contained in:
2026-04-09 19:19:26 +02:00
commit 07bc594fb5

77
README.md Normal file
View File

@@ -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/<sous-dossier>/`
- 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)
```