Concepts FR - Kheopsian/Hydranos GitHub Wiki
S'applique à Hydranos 4.4.
Cette page donne en dix minutes le modèle mental de Hydranos à quelqu'un qui ne l'a jamais fait tourner. Lisez-la avant les pages d'installation si vous voulez savoir ce que vous installez. À la fin, vous saurez ce que sont un moteur, une catégorie, un nœud et un job, où Hydranos garde son état, et quel mot le reste du wiki emploie pour chaque idée (le glossaire en bas de page).
Une instance est un processus hydranos en cours d'exécution, avec son fichier de configuration et son store. Tout se passe dans ce seul processus : l'interface web, les API et chaque session BitTorrent. Il n'y a aucun processus moteur séparé à lancer ou à superviser.
Un moteur est une session BitTorrent à l'intérieur du processus. Chaque moteur a son propre port d'écoute (TCP, et uTP sur le même numéro de port), ses propres connexions sortantes, son propre nœud DHT (actif sauf si enable_dht = false), son propre planificateur d'annonces, son propre peer id et son propre état de reprise. Son nom est l'identifiant de moteur. Chaque moteur a aussi sa propre sortie : tout ce qu'il envoie (connexions aux pairs, annonces, DHT, LSD) sort par son interface, son tunnel WireGuard géré ou son proxy ; deux moteurs sur deux tunnels sont donc deux identités distinctes dans l'essaim (voir VPN & sortie réseau).
- Toute instance a toujours deux moteurs,
raceethoard, même si le fichier de configuration n'a ni section[race]ni section[hoard]. - Vous pouvez ajouter des moteurs supplémentaires (par exemple
vpn1) avec des blocsenginedans le fichier de configuration (tableau de tables TOML, voir Config : moteurs & drain race) ou via Nodes › This node › + Add an engine. Les moteurs sont construits au démarrage : un nouveau moteur ne démarre donc qu'après un redémarrage. - Chaque moteur a un rôle,
raceouhoard. Le rôle est un comportement, pas un nom : un moteur supplémentairevpn1avecrole = "race"se comporte comme le moteur race (annonces race, drain race).
Détails, valeurs par défaut et recettes de moteurs supplémentaires : Moteurs : race & hoard. Comment le processus est construit : Architecture.
flowchart LR
B["Navigateur (interface web)"] --> P
A["Sonarr, Radarr, autobrr, cross-seed<br/>shim qBittorrent /api/v2"] --> P
S["Scripts<br/>API REST /api"] --> P
M["Client IA<br/>MCP : POST /mcp"] --> P
P["processus hydranos<br/>port 8199, une seule clé API"] --> R["moteur race"]
P --> H["moteur hoard"]
P --> X["moteurs supplémentaires (facultatifs)"]
R --> T["Trackers et pairs"]
H --> T
X --> T
Les deux moteurs intégrés existent parce que les torrents qui ne font que passer et ceux qui restent ont des besoins opposés. Aucun des deux moteurs ne transfère plus vite que l'autre : pairs, pièces et disque sont le même code, et un torrent race télécharge et envoie exactement aussi vite qu'un torrent hoard. Ce qui change, c'est tout ce qui entoure la vie d'un torrent : comment il s'annonce, et s'il est fait pour repartir.
- Race est le moteur du roulement : des torrents récupérés dès leur publication, qui font la course dans l'essaim tant qu'il est jeune, puis qu'on laisse partir pour faire place aux suivants. Il s'annonce à tous les trackers du torrent pour être présent dans chaque essaim, et le drain race libère ses disques quand ils se remplissent : il supprime les torrents dont l'obligation de seed du tracker est remplie, et fait graduer les autres si leur catégorie désigne une catégorie Passer vers (Graduate to) sur un autre moteur ; un torrent qui ne remplit aucune des deux conditions reste en place et est compté comme bloqué.
- Hoard est pour les torrents qui restent : une bibliothèque seedée pendant des mois, quelle que soit sa taille. Ses annonces s'arrêtent au premier palier de trackers qui répond, ce qui garde un trafic d'annonces proportionné quand vous seedez un très grand nombre de torrents. Le drain race n'y touche jamais. Un seul balayage supprime des torrents hoard avec leurs données : le balayage de transit, et seulement dans une catégorie marquée Transit area dans laquelle une autre catégorie fait graduer, une fois l'obligation de seed remplie. Une catégorie hoard ordinaire n'est jamais vidée automatiquement.
Dans le doute, classez vos catégories en Hoard. Race sert à faire la course sur les uploads frais, et le drain race peut supprimer des torrents race avec leurs données. Les torrents importés depuis qBittorrent ou Transmission arrivent toujours dans hoard, quel que soit le mode de leur catégorie.
| rôle race | rôle hoard | |
|---|---|---|
| Trackers annoncés à chaque passage | tous les trackers de tous les paliers | s'arrête au premier palier qui répond |
| Torrent que le tracker ne connaît pas encore (« unregistered ») | réessayé toutes les 5 s pendant registration_retry_minutes (6 min par défaut) pendant le téléchargement |
calendrier normal |
| Drain race (suppression ou graduation quand un volume est plein) | oui | non |
Refus d'un ajout quand le volume manque de place ([race_drain] add_block_enabled, désactivé par défaut) |
oui, si activé | jamais |
La comparaison complète est sur Moteurs : race & hoard. Le drain, la graduation et les obligations de seed sont sur Drain race & graduation.
Une catégorie est un nom associé à un Mode (race ou hoard) et à un Chemin d'enregistrement (Save Path). Vous les gérez dans l'onglet Catégories (Categories). Quand un torrent est ajouté :
- une catégorie de mode
hoardl'envoie au moteurhoard; tout autre mode l'envoie àrace; - une catégorie inconnue (ou l'absence de catégorie) l'envoie à
race; - le chemin de sauvegarde est celui donné dans la requête, sinon celui de la catégorie ;
-
il n'y a pas de chemin de sauvegarde par défaut : sans l'un ni l'autre, l'ajout est refusé (
no save path: …).
Le mode d'une catégorie ne peut pas désigner un moteur supplémentaire. Pour placer un torrent sur vpn1, indiquez un engine explicite lors d'un ajout par l'API REST native, d'un ajout MCP ou dans un dossier surveillé : il l'emporte sur le mode de la catégorie. Les routes d'ajout natives et l'onglet d'ajout peuvent aussi indiquer un mode (race ou hoard), qui choisit le moteur de ce rôle. Le shim qBittorrent n'a aucun moyen de désigner un moteur. Un nom de moteur qui n'existe pas est refusé avec HTTP 400 par les deux routes d'ajout natives (POST /api/torrents/upload et POST /api/torrents, magnets compris), refusé par un ajout MCP de fichier (un résultat d'outil avec isError : unknown engine …), et l'enregistrement d'un dossier surveillé qui en nomme un est refusé (400 no engine "…") ; un magnet MCP l'ignore et se rabat sur la catégorie (comme un dossier surveillé dont le moteur a été retiré après son enregistrement).
flowchart TD
A["Torrent ajouté, avec ou sans catégorie"] --> E{"Moteur explicite indiqué ?<br/>(REST, MCP, dossier surveillé)"}
E -- "oui, et il existe" --> EX["Ce moteur"]
E -- "oui, mais inconnu" --> UK{"Quel chemin d'ajout ?"}
UK -- "routes d'ajout natives, fichier MCP, enregistrement d'un dossier surveillé" --> R400["Refusé : aucun moteur de ce nom"]
UK -- "magnet MCP, dossier surveillé dont le moteur a été retiré" --> K
E -- non --> MO{"mode indiqué ?<br/>(routes natives, onglet d'ajout)"}
MO -- oui --> ROLE["Le moteur de ce rôle"]
MO -- non --> K{"Catégorie connue ?"}
K -- "oui, mode hoard" --> HO["Moteur hoard"]
K -- "oui, tout autre mode" --> RA["Moteur race"]
K -- non --> RA
EX --> SP{"Chemin de sauvegarde dans la requête ?"}
ROLE --> SP
HO --> SP
RA --> SP
SP -- oui --> U["L'utiliser"]
SP -- non --> CP{"La catégorie a un chemin de sauvegarde ?"}
CP -- oui --> UC["Utiliser le chemin de sauvegarde de la catégorie"]
CP -- non --> REF["Refusé : pas de chemin de sauvegarde"]
La règle de placement complète, y compris le refus d'ajout race (add-block) et la revendication de chemin (un torrent dont un autre torrent détient déjà les fichiers), est sur Catégories & routage.
Ce qui se passe après le placement dépend de ce qui se trouve déjà dans le chemin de sauvegarde.
- Téléchargement. Aucun fichier du torrent n'existe dans le chemin de sauvegarde : le moteur le télécharge.
- Revérification des données existantes. Au moins un fichier existe déjà : Hydranos vérifie par hachage ce qui est sur le disque, seede les pièces qui sont valides et télécharge le reste. C'est le comportement par défaut sur tous les chemins d'ajout : pointer un torrent vers des données existantes est donc sans risque ; cela ne coûte que des lectures disque.
-
Mode seed. L'appelant affirme que les données sont complètes (
seed_mode, ouskip_checkingsur le shim qBittorrent) : le torrent commence à seeder immédiatement, sans vérification par hachage et sans même vérifier que les fichiers existent. Ne l'utilisez que si vous en êtes sûr. Sur l'onglet + Ajouter un torrent (+ Add Torrent), c'est la case Skip the hash check, the data is already on disk ; l'assistant d'import l'applique automatiquement aux torrents qui sont complets dans l'ancien client et dont il trouve les données.
Les torrents qui téléchargent attendent un emplacement libre quand le moteur fait tourner une file (active_downloads, File, limites de partage & de débit). Détails, magnets, dossiers surveillés et liens physiques pour les données en double : Ajouter des torrents & données existantes.
| Quoi | Fichier | Contient |
|---|---|---|
| Fichier de configuration |
default.toml, donné par --config (par défaut /config/default.toml ; sous Windows, default.toml à côté de hydranos.exe) |
réglages, moteurs, mode réseau, la clé API, le compte admin |
| Store | <data_dir>/hydra.db |
le catalogue : les octets .torrent de chaque torrent, catégorie, tags, état arrêté, épinglages de téléchargement forcé, limites de partage par torrent, compteurs cumulés, workflows, jobs, magnets, flux et règles RSS, nœuds, réglages enregistrés depuis l'interface (filtre IP, dossiers surveillés, plafonds de débit globaux du client) |
| État de reprise |
<config dir>/<engine id>/state.db, un par moteur |
progression (quelles pièces sont vérifiées), chemin de sauvegarde, trackers modifiés, octets envoyés et reçus, temps de seed, plafonds de débit par torrent, ordre de téléchargement |
data_dir est une clé de [daemon]. Dans l'image Docker, il vaut /config : tout se trouve donc dans le seul dossier /config. Quand le binaire écrit lui-même sa première configuration ailleurs, data_dir est le dossier data situé à côté du fichier de configuration.
Le store est la seule copie des métadonnées (metainfo) que Hydranos lit au démarrage : il ne se rabat pas sur des fichiers .torrent. Sauvegardez hydra.db et les dossiers des moteurs ensemble. Fichiers par plateforme et ordre de démarrage : Architecture. Sauvegardes et arrêt propre : Exploiter Hydranos.
Tout est servi par le processus unique sur le port 8199 ([daemon] api_port), et une seule information d'identification ouvre l'ensemble : la clé API ([daemon] api_key, générée au démarrage si elle est vide, comme à la livraison, ou encore réglée sur l'ancienne valeur d'exemple publiée change-me-in-production). Un cookie de session issu d'une connexion par nom d'utilisateur et mot de passe (l'interface web, la connexion du shim qBittorrent) est accepté sur les mêmes routes.
| Interface | Chemin | Pour | Page |
|---|---|---|---|
| Interface web | / |
vous, dans un navigateur ; connectez-vous avec le compte admin | Visite de l'interface web |
| API REST native | /api/* |
les scripts ; en-tête X-Api-Key: YOUR_API_KEY
|
API REST |
| Shim qBittorrent | /api/v2/* |
Sonarr, Radarr, autobrr, cross-seed configurés comme « qBittorrent » | Shim qBittorrent & automatisation |
| Serveur MCP | POST /mcp |
les clients IA qui parlent le Model Context Protocol | Serveur MCP |
curl -s -H 'X-Api-Key: YOUR_API_KEY' http://127.0.0.1:8199/api/categoriesComment la clé, le compte admin et la connexion du shim s'articulent : Sécurité & accès.
Un nœud est une autre instance Hydranos complète, sur une autre machine, que cette instance connaît. Il n'existe aucun mode nœud particulier : le nœud fait tourner le même hydranos, avec ses propres moteurs, son store et sa clé API. L'instance où vous l'avez ajouté est son contrôleur. Soit vous enrôlez une nouvelle machine (+ Enrol a machine : un jeton à usage unique et une commande d'installation), soit vous déclarez une instance déjà en marche (+ Declare an existing one : URL et sa clé API).
Le contrôleur appelle l'API HTTP normale du nœud avec la clé du nœud, et le nœud n'appelle jamais le contrôleur, à une exception près : à la fin d'un enrôlement, le script d'installation enregistre une fois la nouvelle machine auprès du contrôleur (POST /api/nodes/register), avec le jeton à usage unique au lieu d'une clé API. Le contrôleur affiche la santé du nœud et fusionne ses torrents dans la liste hoard, et des torrents peuvent être poussés vers un nœud ou rapatriés depuis lui. Les données circulent entre les moteurs par BitTorrent, jamais par l'API. Quelques actions par torrent (Modifier les tags › (Edit tags ›), Forcer le téléchargement (Force download), Limites de partage… (Share limits…)) ne sont pas relayées aux lignes qui appartiennent à un autre nœud : voir Nœuds & plusieurs machines.
- Workflows (onglet Workflows) : un déclencheur (à intervalle régulier (on a timer), quand un téléchargement se termine (when a download completes), quand un torrent est ajouté (when a torrent is added)), des conditions dans un arbre When, et des actions dans Then. Voir Workflows.
- RSS (onglet RSS) : des flux récupérés chacun à son propre intervalle, et des règles de téléchargement automatique qui ajoutent les articles correspondants par le pipeline d'ajout normal. Voir Flux RSS & téléchargements automatiques.
- File et limites de partage : par moteur, combien de torrents tournent à la fois et quand un seed est arrêté ou supprimé (ratio, temps de seed). Voir File, limites de partage & de débit.
-
Jobs (onglet Jobs) : déplacements de données persistants en arrière-plan (
move_data,graduate) qui survivent à un redémarrage. Le mot « job » ne désigne que ceux-là. - Actions groupées : actions du menu contextuel sur une sélection de torrents. Elles s'exécutent comme une tâche groupée en mémoire avec un panneau de progression, n'apparaissent pas dans l'onglet Jobs et sont perdues au redémarrage.
Jobs et actions groupées : Jobs, actions groupées & déplacement.
Un nom par concept ; chaque page de ce wiki emploie la colonne Terme. « Libellé de l'interface » est ce sur quoi vous cliquez ; « Nom config / API » est ce que vous tapez.
| Terme | Signification | Libellé de l'interface | Nom config / API |
|---|---|---|---|
| Hydranos | le produit | en-tête HYDRANOS, pied de page Démon torrent Hydranos (Hydranos Torrent Daemon) |
binaire hydranos
|
| instance | un processus hydranos en cours d'exécution, avec sa configuration et son store |
— | — |
| nœud | une instance vue depuis une autre instance ; « ce nœud » est l'instance locale | onglet Nodes, This node, Other nodes |
/api/nodes*, table nodes du store |
| contrôleur | l'instance où un nœud a été enrôlé ou déclaré | — | — |
| enrôler | ajouter une nouvelle machine avec un jeton à usage unique et le script d'installation | + Enrol a machine |
POST /api/nodes/enrol, /install.sh
|
| déclarer | ajouter une instance déjà en marche par son URL et sa clé API | + Declare an existing one | POST /api/nodes |
| moteur | une session BitTorrent à l'intérieur du processus | Nodes › This node : colonne Engine, + Add an engine |
[race], [hoard], blocs engine, /api/engines/:id/…
|
| identifiant de moteur | le nom du moteur : race, hoard, ou le vôtre (par ex. vpn1) |
champ Id |
engine_id / name, ?engine=
|
| rôle | comportement race ou hoard d'un moteur | Rôle (Role) (« comment il se comporte ») | role |
| moteur race | le moteur d'identifiant race (« un moteur de rôle race » pour les moteurs supplémentaires) |
onglet Race (titre Torrents Race (Race Torrents) ; liste tous les moteurs de rôle race) | [race] |
| moteur hoard | le moteur d'identifiant hoard
|
onglet Hoard (titre Torrents Hoard (Hoard Torrents)) | [hoard] |
| moteur supplémentaire | tout moteur autre que race et hoard
|
Nodes › This node › + Add an engine | bloc engine (tableau de tables TOML) |
| copie | le même torrent présent dans plus d'un moteur | Duplicate to engine ›, Move to engine › (groupe Node du menu contextuel) | clé (info_hash, session)
|
| catégorie | mode et chemin de sauvegarde nommés qui placent un torrent | onglet Catégories |
/api/categories, qBit category
|
| mode de la catégorie |
race ou hoard ; choisit le moteur |
Mode | mode |
| chemin de sauvegarde (save path) | dossier où se trouvent les données d'un torrent | Chemin d'enregistrement |
save_path, qBit savepath
|
| graduation | déplacer un torrent et ses données vers le moteur d'un autre mode (race → hoard par le drain ou un changement de catégorie ; dans n'importe quel sens via Changer de catégorie + déplacer les fichiers › (Change category + move files ›)), avec son enregistrement de reprise ; annulé en cas d'échec | Passer vers (catégorie Hoard) (Graduate to (hoard category)), onglet Race Graduating |
graduate_to, job graduate
|
| zone de transit | indicateur d'une catégorie hoard : quand une autre catégorie fait graduer vers elle, le balayage de transit supprime ses torrents et leurs données une fois leur obligation de seed remplie | Transit area | transit |
| drain race | libération automatique des volumes race | cartes de volume de l'onglet Race (Auto drain, Vidanger maintenant (Drain now), Historique (History)), badge rouge sur l'onglet Race |
[race_drain], /api/drain/*
|
| volume | un système de fichiers qui contient des données race ; le drain travaille volume par volume, éventuellement par rapport à un quota déclaré | carte de volume de l'onglet Race | /api/drain/policy |
| quota (volume) | une taille déclarée pour un volume race (un emplacement de seedbox partagé) : les pourcentages du drain portent sur le quota, pas sur le disque (Drain race & graduation) | carte de volume Quota | quota_gb |
| TRIM après drain | Linux : indiquer au SSD quels blocs un passage du drain a libérés | carte de volume TRIM après drain (TRIM after drain) | trim_after_drain |
| torrent bloqué | torrent race que le drain ne peut ni supprimer ni faire graduer | badge rouge sur l'onglet Race | — |
| obligation de seed | heures exigées par un tracker avant suppression | Trackers › Minimum seed | [announce_min_seed_hours] |
| remplacement de passkey | substitution de passkey par tracker | Trackers › Passkey | [announce_passkeys] |
| famille IP d'annonce | v4, v6 ou auto par hôte de tracker | Trackers › Announce (auto / v4 only / v6 only) |
[announce_ip_modes] |
| rendre muet (mute) / masquer (hide) (tracker) | faire taire les erreurs d'un tracker / le masquer de la liste | Mute / Masquer (Hide) |
[announce_muted] / [announce_hidden]
|
| annonce | une requête envoyée à un tracker | Re-annoncer (Reannounce) (menu contextuel) | /api/torrents/:info_hash/reannounce |
| scrape | nombres de seeders et de leechers demandés à un tracker pour les torrents pas encore annoncés ; ne démarre ni n'arrête rien (Trackers & annonces) | colonne Scrape | BEP 48 (HTTP), BEP 15 (UDP) |
| palier (tier) | groupe d'URL de trackers essayées ensemble ; une ligne vide sépare les paliers dans l'éditeur | Edit trackers | announce-list |
| peer id | l'identifiant de 20 octets envoyé aux trackers et aux pairs (-HY, la version, -, puis 12 caractères aléatoires), un par moteur, tiré à chaque démarrage ; les annonces et les handshakes portent celui du moteur |
Announced as, Next announce (panneau de détail) | — |
| revérification (recheck) | vérification par hachage des données sur le disque | Vérifier à nouveau (Recheck) | routes verify, qBit recheck
|
| mode seed | ajout qui fait confiance aux données sur le disque sans les hacher | Skip the hash check, the data is already on disk (onglet d'ajout) ; l'assistant d'import l'applique aux torrents complets |
seed_mode, skip_checking
|
| arrêter / démarrer | votre intention d'arrêt, conservée d'un redémarrage à l'autre | Arrêter (Stop) / Démarrer (Start) | qBit stop/pause, start/resume
|
| forcer le téléchargement | épinglage : marque un torrent hoard incomplet comme forcé (pastille de filtre Forced) : la file le fait tourner au-delà de son plafond | Forcer le téléchargement (Force download) / Ne plus forcer (Stop forcing) |
pin / unpin, pinned
|
| emplacements de téléchargement / file | nombre maximal de téléchargements simultanés par moteur, appliqué toutes les 30 s par le gestionnaire de file (File, limites de partage & de débit) | Config › Paramètres avancés (default.toml) › Session Race / Session Hoard | active_downloads |
| en file | un torrent que la file a arrêté jusqu'à ce qu'un emplacement se libère | état en file (queued) (infobulle En attente d'un créneau (Waiting for a slot)) | — |
| file de seed | l'interrupteur de qBittorrent qui plafonne aussi les seeds actifs et le total | — |
queueing, active_seeds, active_limit
|
| limites de partage | arrêter ou supprimer un seed au-delà d'un ratio, d'un temps de seed ou d'un temps d'inactivité, par moteur ou par torrent | Limites de partage… (Share limits…) (menu contextuel) |
max_ratio, max_seeding_time, max_inactive_seeding_time, share_limit_action ; …/share-limits, qBit setShareLimits
|
| plafonds de débit | limites d'envoi et de réception par torrent, par moteur et pour tout le client | Limiter le débit… (Limit rate…) (menu contextuel) |
upload_rate_limit, download_rate_limit ; …/limits, …/rate-limits, qBit setUploadLimit
|
| choker | classement facultatif des emplacements d'envoi par torrent, désactivé par défaut | — |
choking, max_uploads_per_torrent
|
| pause au démarrage | un moteur retenu au démarrage : ni connexion sortante ni annonce jusqu'à ce qu'il soit libéré | bandeau, Démarrer maintenant (Start now) |
start_paused, /api/startup-pause
|
| magnet | lien magnet, résolu en métadonnées par BEP 9 | Lien magnet (Magnet link) |
magnet_uri, /api/magnets
|
| dossier surveillé | dossier interrogé régulièrement à la recherche de fichiers .torrent et .magnet
|
Dossiers surveillés (Watched folders) | /api/watch |
| flux RSS / règle RSS | un flux récupéré à son propre intervalle / une règle de téléchargement automatique qui ajoute les articles correspondants (Flux RSS & téléchargements automatiques) | onglet RSS : Flux RSS (RSS feeds), Règles de téléchargement automatique (Automatic download rules) |
/api/rss/*, qBit /api/v2/rss/*
|
| données en double (dédup) | à l'ajout, créer un lien physique vers un contenu identique déjà détenu | Duplicate data | [dedup] enabled |
| revendication de chemin / collision de chemin | la vérification à l'ajout qui empêche un torrent d'écrire dans des fichiers qu'un autre torrent détient avec d'autres octets (Ajouter des torrents & données existantes) | — |
[dedup] path_collision (isolate, refuse, legacy) |
| import | import ponctuel depuis qBittorrent ou Transmission | Importer depuis un autre client (Import from another client), Importer… (Import…) | /api/import/* |
| facette | une liste de filtres de l'onglet Hoard (Trackers, Catégories, Tags, Erreurs de tracker (Tracker errors)) : cliquez sur une pastille pour inclure, clic droit pour exclure | pastilles de l'onglet Hoard | — |
| tag | étiquette libre sur un torrent, sans effet sur le placement | Modifier les tags › (Edit tags ›), facette Hoard Tags |
tags, qBit addTags
|
| workflow | déclencheur, conditions et actions | onglet Workflows | /api/workflows |
| déclencheur | quand un workflow s'exécute | Se lance (Runs) : à intervalle régulier / quand un téléchargement se termine / quand un torrent est ajouté |
schedule / completed / added
|
| condition | une comparaison de champ dans l'arbre When | When, + Condition, + Group | arbre when
|
| action | une étape dans Then | Then, + Action | actions[] |
| job (tâche de fond) | déplacement de données persistant en arrière-plan, listé dans l'onglet Jobs | onglet Jobs |
/api/jobs, move_data, graduate
|
| action groupée / tâche groupée | action du menu contextuel sur une sélection ; s'exécute comme une tâche groupée en mémoire, perdue au redémarrage | menu contextuel |
/api/selection/:action, /api/selection/jobs/:id (nom de route littéral) |
| déplacer les données (Set location) | déplacer les données d'un torrent vers un autre dossier | Déplacer vers un dossier… (Set location…) | …/location |
| handoff (transfert vers un nœud) | pousser un torrent local vers le moteur d'un nœud | Duplicate to engine › / Move to engine › (cibles nœuds) | sélection handoff
|
| rapatriement (fetch) | ramener le torrent d'un nœud dans un moteur local | bring it here | sélection node-fetch
|
| ligne locale / distante | une ligne de liste détenue par cette instance / fusionnée depuis un nœud déclaré | libellé de ligne local-<id> / <node>-<engine>
|
?agent= (ancien nom de paramètre, conservé tel quel) |
| store (base principale) |
<data_dir>/hydra.db, le catalogue, octets .torrent compris |
— | hydra.db |
| état de reprise | par moteur, <config dir>/<engine id>/state.db
|
— | state.db |
| fichier de configuration | default.toml |
Paramètres avancés (default.toml) (Advanced settings (default.toml)) | --config |
| dossier de configuration | le dossier qui contient default.toml
|
— | — |
| dossier de données | l'endroit où se trouve le store | — | [daemon] data_dir |
| clé API | l'unique information d'identification pour toutes les interfaces | Config › Advanced settings › Général (General) › api_key
|
[daemon] api_key, en-tête X-Api-Key
|
| compte admin | l'unique utilisateur de l'interface web | premier démarrage : Bienvenue dans Hydranos (Welcome to Hydranos), bouton Créer le compte (Create account) ; ensuite : Hydranos login | [auth] |
| interface web | l'application navigateur sur le port 8199 | — | / |
| API REST (native) | l'API HTTP propre à Hydranos | — | /api |
| shim qBittorrent | API HTTP compatible qBittorrent | — | /api/v2 |
| serveur MCP | point d'accès pour les clients IA | — (pas d'interface) |
/mcp, [mcp]
|
| onglet d'ajout | l'onglet qui sert à ajouter des torrents | + Ajouter un torrent (titre Ajouter un torrent (Add Torrent)) | — |
| port d'écoute | le port TCP et uTP d'un moteur | Listen port | listen_port |
| mode réseau | comment les moteurs atteignent le réseau : Direct, WireGuard géré, Gluetun, proxy SOCKS5, SOCKS5 + relais PROXY-v2 (Réseau) | Config › Advanced settings › Réseau (Network), cartes de mode |
[network] mode, /api/network/mode
|
| épinglage d'interface | attacher toutes les sockets d'un moteur (pairs, annonces, DHT, LSD, webseeds, scrapes) à une interface réseau, Linux uniquement | Interface / Race engine interface | bind_interface |
| tunnel WireGuard géré | un tunnel wg-<engine> qu'Hydranos monte lui-même à partir d'un .conf du fournisseur, un par moteur (WireGuard géré) |
mode WireGuard, managed by Hydranos, Sortie (Way out) |
wg-<engine>, <data_dir>/wireguard
|
| kill switch | garde hors du réseau un moteur sans sortie propre au lieu de le laisser utiliser la route par défaut ; armé par défaut dans tous les modes sauf Direct (VPN & sortie réseau) | carte Kill switch et requêtes du démon (Kill switch and the daemon's own requests) |
[daemon] kill_switch, allow_direct
|
| sortie (démon) | la route des requêtes propres du démon (listes, vérification de mise à jour, webhooks, URL de .torrent) |
Requêtes externes du démon (External requests of the daemon) |
[daemon] egress, /api/network/egress
|
| file de connexions | la file qui ouvre les connexions sortantes d'un moteur vers les pairs ; une par moteur, avec sa propre attache et son propre peer id | — | — |
| LSD | découverte de pairs locale (BEP 14) sur le réseau du moteur | — | enable_lsd |
| IP de sortie | adresse publique vue de l'extérieur | IP de sortie (Exit IP) |
/api/public-ip, /api/network/engines
|
| redirection de port | redirection automatique NAT-PMP / UPnP, ou le port qu'accorde un tunnel géré ou gluetun | — |
auto_port_forward, /api/port-forward
|
| filtre IP | listes de blocage et bannissements | Filtre IP (IP filter) | /api/ipfilter |
| taille seedée (Seedsize) | taille totale de ce qui est seedé, avant partage par liens physiques | Vue d'ensemble (Overview) › Stockage (Storage) › Seedsize (Seed size) | — |
| mode de secours | serveur minimal quand le store ne peut pas s'ouvrir | — (pas d'interface web ; / répond le texte hydra: the store could not be opened) |
/api/store/repair |
| arrêt propre | SIGTERM, Ctrl+C, un événement de console Windows (Ctrl+Break, console fermée, déconnexion, arrêt du système), Quitter depuis la zone de notification ou un redémarrage depuis l'interface : vidage, stopped envoyé aux trackers, écriture de l'état de reprise dans le délai HYDRANOS_STOP_TIMEOUT
|
Quit Hydranos (zone de notification Windows) | HYDRANOS_STOP_TIMEOUT |