Concepts FR - Kheopsian/Hydranos GitHub Wiki

🇬🇧 English · 🇫🇷 Français

Concepts et glossaire

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).

Un programme, plusieurs moteurs

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, race et hoard, 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 blocs engine dans 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, race ou hoard. Le rôle est un comportement, pas un nom : un moteur supplémentaire vpn1 avec role = "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
Loading

Race et hoard

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.

Les catégories décident où va un torrent

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 hoard l'envoie au moteur hoard ; 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"]
Loading

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.

Télécharger ou seeder ce que vous avez déjà

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, ou skip_checking sur 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.

Où Hydranos garde son état

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.

Parler à 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/categories

Comment la clé, le compte admin et la connexion du shim s'articulent : Sécurité & accès.

Nœuds : plus d'une machine

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.

Automatisation

  • 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.

Glossaire

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
⚠️ **GitHub.com Fallback** ⚠️