Retour aux mises à jour
New releaseSep 7, 2026

xalgorix v4.6.72

Agents de pentest IA autonomes — reconnaissance en temps réel, détection de vulnérabilités et orchestration de l'exploitation. Go + TypeScript.

Partager
Xalgorix — Plateforme autonome de tests d'intrusion par IA

Go License Platform Hosted GitHub stars GitHub forks GitHub release

Ask DeepWiki

xalgorix/xalgorix | Trendshift

Xalgorix — Pentester IA open-source qui prouve les vulnérabilités

La plupart des scanners détectent. Xalgorix prouve. Un agent LLM autonome applique une méthodologie complète de pentest, puis un vérificateur indépendant ré-exploite chaque découverte avant qu'elle ne soit rapportée — vous obtenez ainsi des preuves, et non un tas de peut-être à trier. Auto-hébergé, privé, et avec votre propre LLM. Développé en Go + TypeScript.

🚀 Démarrage rapide · 💡 Pourquoi Xalgorix · ✨ Fonctionnalités · 🎯 Cas d'usage · ☁️ Cloud hébergé · 📖 Documentation


📸 Captures d'écran

🖥️ Tableau de bord auto-hébergé — s'exécute localement sur 127.0.0.1:9137

Tableau de bord de vue d'ensembleDétail du scanDécouvertes
Xalgorix overview dashboardXalgorix scan detailXalgorix findings

☁️ Tableau de bord cloud hébergé — la version entièrement managée sur www.xalgorix.com

Tableau de bord cloud hébergé Xalgorix affichant le score de sécurité, les tendances des vulnérabilités, les métriques de remédiation et les problèmes ouverts par catégorie

🤝 Sponsors

Merci à Swiftproxy pour son parrainage de Xalgorix.

Swiftproxy sponsorise Xalgorix — proxies résidentiels pour des tests autorisés depuis différentes localisations

Votre application peut se comporter différemment selon l'origine d'une requête. Pour les utilisateurs de Xalgorix qui vérifient leurs propres applications à travers différentes régions, Swiftproxy propose un ciblage géographique pour examiner le comportement régional et des sessions persistantes pour aider à conserver une IP cohérente pendant une session de test. Il prend en charge HTTP(S) et SOCKS5, les mêmes protocoles proxy que ceux pris en charge par Xalgorix.

Proxies résidentiels à partir de 0,70 $/Go. Des tests gratuits sont disponibles, et les utilisateurs de Xalgorix bénéficient de 10 % de réduction avec le code PROXY90.

Découvrez Swiftproxy et demandez un test gratuit →


🚀 Démarrage rapide

Installation (une ligne) :```bash curl -sSL https://www.xalgorix.com/install | bash

Ceci télécharge le binaire précompilé pour votre plateforme (Linux ou macOS, amd64/arm64) depuis la dernière version. Ensuite, exécutez l'assistant de configuration interactif :```bash
xalgorix --setup

Choisissez votre fournisseur, confirmez un modèle et saisissez la clé API lorsque vous y êtes invité. Pour de meilleurs résultats, utilisez un modèle de pointe actuel doté de solides capacités de raisonnement, de performances en contexte long et d'un appel d'outils fiable—tel que le dernier modèle GPT, Claude ou Gemini performant dont vous disposez. Les modèles plus petits ou locaux restent pris en charge, mais peuvent nécessiter une surveillance accrue lors de longs scans autonomes. Xalgorix stocke la clé de manière privée dans ~/.xalgorix.env (mode 0600) et peut lancer le tableau de bord pour vous. Ollama local ne nécessite aucune clé API.

Si vous choisissez de ne pas lancer immédiatement, démarrez plus tard avec xalgorix --web et ouvrez http://127.0.0.1:9137. Vous pouvez modifier les fournisseurs ou les options avancées à tout moment sous Settings → LLM, ou relancer xalgorix --setup.

Ou exécutez avec Docker — tout est inclus, aucune chaîne d'outils nécessaire :```bash docker run --rm -p 9137:9137
--privileged
-v xalgorix-data:/data
xalgord/xalgorix:latest

`--privileged` donne à l'ensemble d'outils le même accès de type hôte qu'il a lorsqu'il est exécuté nativement en tant que root. Le bac à sable par défaut de Docker supprime des capacités (comme `NET_ADMIN`) et applique un filtre seccomp, ce qui casse les outils de bas niveau (changements iptables/route, ARP-spoof/MITM, VPN tun/tap, débogueurs basés sur ptrace, réglage d'interface masscan). Comme une image ne peut pas s'accorder elle-même ces capacités, elles doivent être définies au moment de l'exécution. Le conteneur est un bac à sable de scan jetable et isolé du réseau fonctionnant en tant que root — privileged est la posture prévue ; n'exposez jamais le tableau de bord publiquement sans authentification. Vous préférez le moindre privilège ? Remplacez `--privileged` par `--cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined`.

Ouvrez `http://localhost:9137`. Vous **n'avez pas besoin d'une clé LLM pour commencer** — le tableau de bord se lance sans ; définissez le modèle + la clé API sous **Settings → LLM** (elle persiste dans le volume `/data`). Si vous ne passez pas `XALGORIX_USERNAME`/`XALGORIX_PASSWORD`, un mot de passe administrateur aléatoire est généré et affiché dans les logs du conteneur au premier lancement.

**Le plus simple — Docker Compose** (mappe le port + un volume persistant pour vous) :```bash
curl -sSLO https://raw.githubusercontent.com/xalgorix/xalgorix/main/docker-compose.yml
docker compose up -d
docker compose logs -f   # shows the generated admin password on first start

L'image embarque un ensemble étendu d'outils de sécurité offensive préinstallés (nmap, nuclei, httpx, subfinder, katana, ffuf, gobuster, sqlmap, masscan, dalfox, feroxbuster, et plus encore) et conserve tous les gestionnaires de paquets (apt, go, cargo, pipx, npm) disponibles afin que l'agent puisse toujours installer automatiquement tout ce qui manque à l'exécution. Il s'exécute en tant que root à l'intérieur du conteneur par conception — considérez le conteneur comme un bac à sable de scan jetable et isolé du réseau et n'exposez jamais le tableau de bord sans authentification. Les images sont publiées pour amd64 et arm64.

Ou compilez depuis les sources (nécessite Go 1.26+ et Node.js) :```bash git clone https://github.com/xalgorix/xalgorix.git cd xalgorix make build sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix

> [!TIP]
> Vous préférez zéro configuration ? Une version entièrement gérée est disponible sur [www.xalgorix.com](https://www.xalgorix.com/) — scan en un clic, aucune installation ni clé API requise.

### 🤖 Révisez automatiquement les pull requests — GitHub App gratuite

Vous voulez une revue de sécurité sur chaque pull request sans aucune configuration ? Installez la **[Xalgorix GitHub App](https://github.com/apps/xalgorix)**. Elle lit le diff de chaque PR et commente une revue de sécurité — injection, authentification défaillante/IDOR, SSRF, secrets, motifs non sécurisés — directement sur la pull request. Elle se met à jour sur place à chaque nouveau commit, et vous pouvez commenter **`@xalgorix review`** pour relancer à la demande. Aucun fichier de workflow, aucune clé API, aucun compte — et c'est gratuit.

<div align="center">

[**➕ Ajouter Xalgorix à GitHub →**](https://github.com/apps/xalgorix/installations/new)

</div>

Pour le blocage de merge et des pentests complets vérifiés par exploitation en CI, utilisez le [scanner hébergé](https://www.xalgorix.com/) ou la GitHub Action.

> [!IMPORTANT]
> N'utilisez Xalgorix que sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation explicite de test.

> [!TIP]
> Vous préférez ne pas auto-héberger ? Une version entièrement gérée est disponible sur [www.xalgorix.com](https://www.xalgorix.com/) — scan en un clic, aucune installation ni clé API requise.

## 📚 Sommaire

| | | |
| --- | --- | --- |
| 📸 [Captures d'écran](#-screenshots) | 🔩 [Configuration](#-configuration) | 🧾 [Variables d'environnement](#-environment-variables) |
| 🚀 [Démarrage rapide](#-quick-start) | 🆙 [Mise à niveau](#-upgrading-from-previous-versions) | 🔤 [Préfixes de fournisseur](#-provider-prefixes) |
| 🔎 [Aperçu](#-overview) | 🏃 [Exécution](#-running) | 💻 [Référence CLI](#-cli-reference) |
| 💡 [Pourquoi Xalgorix](#-why-xalgorix) | 🧰 [Mode service](#-service-mode) | 📡 [Résumé de l'API](#-api-summary) |
| 🎯 [Cas d'usage](#-use-cases) | 🔁 [Workflow de l'interface Web](#-web-ui-workflow) | 💾 [Stockage des données](#-data-storage) |
| ✨ [Fonctionnalités](#-features) | 🔀 [Modes de scan](#-scan-modes) | 🧪 [Développement](#-development) |
| 📥 [Installation](#-installation) | 📂 [Scannez votre code](#-scan-your-code-no-target-needed) | 🚨 [Notes de sécurité](#-safety-notes) |
| 🧭 [Méthodologie](#-methodology) | 📄 [Rapports](#-reports) | 📜 [Licence](#-license) |
| 🔧 [Paramètres](#-settings) | 🔗 [Liens](#-links) | 🤝 [Sponsors](#-sponsors) |

## 🔎 Aperçu

Xalgorix est une plateforme auto-hébergée de tests d'intrusion par IA pour les tests de sécurité autorisés, l'évaluation de vulnérabilités et les workflows de bug bounty. Elle combine un agent autonome piloté par LLM, l'automatisation de navigateur, des outils en terminal, une méthodologie de test complète en 22 phases, la télémétrie WebSocket en direct, la gestion des findings avec scoring CVSS, la génération de rapports PDF personnalisés, et des intégrations pour AgentMail, Discord et Telegram.

Contrairement aux scanners DAST uniquement cloud, Xalgorix s'exécute entièrement sur votre machine. Vous apportez votre propre fournisseur LLM (OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama, MiniMax) et contrôlez le modèle, l'effort de raisonnement, les limites de débit et la configuration du proxy. Aucune donnée de scan, clé API ou information sur la cible ne quitte votre infrastructure.

L'expérience par défaut est l'interface Web. Depuis un seul tableau de bord local, vous pouvez lancer des scans, surveiller les exécutions actives, inspecter les findings, configurer les paramètres de modèle/fournisseur, gérer les variables d'environnement, générer des rapports PDF personnalisés, et supprimer ou reprendre des scans historiques.

## 💡 Pourquoi Xalgorix

La plupart des scanners **détectent**. Xalgorix **prouve**. Un agent autonome suit une méthodologie en 22 phases, puis un vérificateur indépendant reteste chaque finding candidat avant qu'il ne soit rapporté — vous obtenez ainsi des résultats vérifiés par exploitation avec preuves, et non un mur de « peut-être » à trier.

- 🧠 **Un agent IA, pas un moteur de templates** — raisonne sur les flux d'authentification, la logique métier, les IDOR/BOLA et les exploits en chaîne que les scanners à signatures manquent.
- ✅ **Findings vérifiés par exploitation** — un vérificateur distinct reproduit indépendamment chaque finding ; ceux qui sont non concluants sont signalés pour revue, jamais déguisés en confirmés.
- 🔒 **Auto-hébergé et privé** — s'exécute sur votre machine avec votre propre clé LLM ; aucune donnée de cible, clé ou finding ne quitte votre infrastructure.
- 🧩 **Apportez votre propre LLM** — OpenAI, Anthropic, DeepSeek, Gemini, Groq, Ollama ou MiniMax — ou toute passerelle compatible OpenAI comme [LiteLLM](#-litellm--openai-compatible-gateways-github-copilot-claude-opus-codex-openrouter-azure-local-models) (GitHub Copilot, Codex, OpenRouter, Azure). Vous contrôlez le modèle, l'effort de raisonnement et le coût.
- 📄 **Rapports prêts pour l'audit** — PDF personnalisés avec scores CVSS, preuve de concept et remédiation.

### 📊 Comparaison

|                                              | **Xalgorix**             | Scanners à templates (ex. Nuclei) | Scanners à crawling (ex. OWASP ZAP) | DAST commercial        |
| -------------------------------------------- | ------------------------ | ------------------------------- | ---------------------------------- | ---------------------- |
| Approche                                     | Agent IA autonome      | Signatures / templates          | Spider + règles actives              | Signatures + heuristiques |
| Couverture logique métier / IDOR / contournement d'auth | ✅                       | Limitée                         | Limitée                            | Partielle                |
| Vérifié par exploitation (prouve l'impact)             | ✅ vérificateur indépendant  | ❌                              | ❌                                 | Partielle                |
| Charge de faux positifs                          | Faible (prouvé)       | Dépend des templates              | Élevée                               | Moyenne                 |
| Auto-hébergé / données locales               | ✅                       | ✅                              | ✅                                 | Généralement cloud          |
| Apportez votre propre LLM                           | ✅                       | —                               | —                                  | ❌                     |
| Rapports PDF personnalisés                          | ✅                       | ❌                              | Basique                              | ✅                     |
| Coût                                         | Open source + votre LLM   | Gratuit                            | Gratuit                               | $$$                    |

> Comparaison indicative — Nuclei et ZAP excellent dans ce qu'ils font. Xalgorix ajoute la couche de découverte à forte intensité de raisonnement et de vérification par exploitation par-dessus.

### ☁️ Auto-hébergé vs Cloud hébergé

Xalgorix est gratuit et open source — auto-hébergez-le pour toujours, sans conditions. Le [cloud hébergé](https://www.xalgorix.com/) exécute le **même** moteur vérifié par exploitation ; il existe pour ceux qui préfèrent ne pas gérer les clés API, l'infrastructure et les factures LLM imprévisibles. Les deux sont de premier ordre — choisissez ce qui vous convient.

|                                    | **Auto-hébergé** (ce dépôt)              | **[Cloud hébergé](https://www.xalgorix.com/)**   |
| ---------------------------------- | ---------------------------------------- | ----------------------------------------------- |
| Prix de départ                     | Moteur gratuit, Apache-2.0                  | Compte gratuit · évaluation unique à 1 $           |
| Clé API LLM                        | Apportez et gérez la vôtre                  | Incluse — rien à gérer                      |
| Coût par scan                      | Tokens LLM bruts — variable, peut exploser     | 1 crédit par hôte actif — prévisible            |
| Installation et exploitation                        | Vous installez, mettez à jour et exécutez la chaîne d'outils  | Rien à exécuter — scan en ~60s                   |
| Infrastructure out-of-band (SSRF/blind RCE) | Montez votre propre serveur OOB             | OOB géré inclus                            |
| Planification                         | Planificateur intégré sur votre infrastructure | Planifications quotidiennes / horaires gérées             |
| Équipe · RBAC · crédits partagés        | Instance mono-opérateur                 | Espaces de travail d'organisation avec Team                 |
| Mises à jour                            | `git pull` + rebuild                     | Toujours sur le dernier moteur                     |
| Résidence des données / hors ligne           | ✅ reste sur votre infra · air-gap OK       | S'exécute sur notre infra (DPA disponible)               |

**Auto-hébergez si** les données doivent rester sur votre réseau, vous voulez un contrôle total, ou vous allez fonctionner hors ligne/air-gapped — c'est exactement fait pour ça. **Utilisez le cloud si** vous préférez éviter les clés API, l'infra et les factures de tokens surprises, et ne payer que pour les hôtes actifs que vous scannez réellement.

<div align="center">

[**☁️ Évaluer le Cloud hébergé — essai à 1 $ →**](https://www.xalgorix.com/pricing) &nbsp;·&nbsp; [**⚖️ Comparer Cloud et auto-hébergement →**](https://www.xalgorix.com/hosted-vs-self-hosted)

</div>

Si Xalgorix vous fait gagner un cycle de tri, merci de **[⭐ mettre une étoile au dépôt](https://github.com/xalgorix/xalgorix)** — cela aide vraiment les autres à le trouver.

## 🎯 Cas d'usage

| Cas d'usage | Comment Xalgorix aide |
| -------- | ------------------ |
| **Tests d'intrusion** | Exécutez une méthodologie complète en 22 phases contre des cibles autorisées. L'agent IA gère la reconnaissance, la découverte de vulnérabilités, les tests d'injection, SSRF, IDOR, le contournement d'authentification, les conditions de course, et plus encore — puis vérifie les findings avant de les rapporter. |
| **Bug bounty** | Pointez Xalgorix vers une cible dans le périmètre et laissez l'agent énumérer la surface d'attaque, tester les classes de vulnérabilités courantes, et faire remonter des findings vérifiés avec scores CVSS et preuves de concept. |
| **Opérations red team** | Utilisez les modes de scan wildcard et multi-cibles pour cartographier la surface d'attaque externe d'une organisation. Le DAST assisté par navigateur gère les flux d'authentification, les formulaires et le comportement à l'exécution que les scanners statiques manquent. |
| **Recherche en sécurité** | La phase de découverte de vulnérabilités inédites pousse l'agent au-delà de la correspondance de templates connus. Apportez votre propre LLM (OpenAI, Anthropic, DeepSeek, Gemini, Ollama, MiniMax) pour contrôler la profondeur de raisonnement et le coût. |
| **Tests de sécurité continus** | Exécutez en tant que service système avec `xalgorix --start`. Scannez selon une planification, diffusez les findings vers Discord ou Telegram, et générez des rapports PDF personnalisés pour les parties prenantes. |
| **Automatisation DAST** | Tests pilotés par navigateur pour les applications web — flux d'authentification, formulaires, contenu rendu en JavaScript et comportement à l'exécution. S'intègre avec Caido pour l'inspection du trafic proxy. |

## ✨ Fonctionnalités

| Domaine           | Capacités                                                                                                                |
| -------------- | --------------------------------------------------------------------------------------------------------------------------- |
| 📊 Tableau de bord      | Interface Web locale sur `127.0.0.1:9137` par défaut, gestion des scans, statut en direct, actions de scan en masse et récupération des scans historiques. |
| 🔍 Scan       | Cible unique, DAST, wildcard et flux multi-cibles avec phases de méthodologie sélectionnables.                                   |
| 📡 Télémétrie en direct | Appels d'outils, messages de l'agent, findings, erreurs, activité HTTP et activité LLM via WebSockets.                              |
| 🐞 Findings       | Pages de détail de scan, filtres de sévérité, détails CVSS, index des findings et workflows de findings vérifiés.                           |
| 📄 Rapports      | Rapports PDF personnalisés avec nom de cible/société, logo téléversé, liste des rapports, actions d'ouverture/téléchargement/suppression.                     |
| 🔔 Intégrations   | Boîtes de réception de test AgentMail, e-mails de vérification, flux OTP, événements de tri d'e-mails, notifications Discord et Telegram.            |
| ⚙️ Configuration  | Paramètres du tableau de bord pour LLM, AgentMail, Discord, Telegram, proxy, runtime, navigateur, auth, limites de débit et ressources.       |
| 🛡️ Sécurité d'exécution | Limites d'instances tenant compte des ressources et liaison loopback uniquement, sauf si l'accès externe est explicitement configuré avec authentification.         |

## 📥 Installation

Les chemins les plus rapides ne nécessitent aucune chaîne d'outils.

### ⚡ Installation en une ligne (binaire précompilé)```bash
curl -sSL https://www.xalgorix.com/install | bash

Télécharge le binaire de la dernière version pour votre plateforme (Linux ou macOS, amd64/arm64) et l'installe dans /usr/local/bin (ou ~/.local/bin sans sudo). Remplacez avec XALGORIX_INSTALL_DIR ou épinglez une version avec XALGORIX_VERSION=vX.Y.Z.

Effectuez la configuration initiale de manière interactive—aucune édition manuelle du fichier d'environnement n'est requise :```bash xalgorix --setup

Le wizard préserve les paramètres existants lors d'une réexécution, masque la saisie de la clé API dans un terminal et lance éventuellement l'interface Web une fois terminé.

### 🐳 Docker```bash
docker run --rm -p 9137:9137 \
  --privileged \
  -e XALGORIX_LLM=openai/gpt-5.6 \
  -e XALGORIX_API_KEY=your_openai_api_key \
  -v xalgorix-data:/data \
  ghcr.io/xalgord/xalgorix:latest

--privileged (ou les options plus restrictives --cap-add=NET_ADMIN --cap-add=NET_RAW --cap-add=SYS_PTRACE --security-opt seccomp=unconfined) donne à l'ensemble d'outils un accès de type hôte. Le bac à sable par défaut de Docker supprime les capacités et filtre les appels système, ce qui casse l'outillage de bas niveau (modifications iptables/route/interface, ARP-spoof/MITM, VPN tun/tap, débogueurs basés sur ptrace). Une image ne peut pas s'accorder ces privilèges à elle-même — c'est une décision prise à l'exécution — donc passez le flag, ou utilisez le docker-compose.yml fourni, qui le définit pour vous.

L'image est tout-en-un : un vaste ensemble d'outils de sécurité offensive est préinstallé (nmap, nuclei, httpx, subfinder, dnsx, naabu, katana, ffuf, gobuster, dalfox, feroxbuster, sqlmap, masscan, nikto, whatweb, hydra, et plus encore), ainsi que Chromium pour le DAST assisté par navigateur. Elle conserve également l'ensemble complet des gestionnaires de paquets (apt, go, cargo, pipx, npm) disponibles, de sorte que l'agent installe automatiquement tout ce qui manque à l'exécution. Les données de scan persistent dans le volume /data, et le serveur se lie à 0.0.0.0 à l'intérieur du conteneur — définissez XALGORIX_USERNAME/XALGORIX_PASSWORD avant de l'exposer au-delà de localhost.

Le conteneur s'exécute en tant que root par conception (le moteur n'active l'installation automatique à l'exécution que pour l'uid 0, et les installations apt/go/cargo nécessitent un accès en écriture au système). Traitez-le comme un bac à sable de scan jetable et isolé du réseau. Les mêmes tags publient un manifeste multiplateforme pour linux/amd64 et linux/arm64, donc Docker sélectionne automatiquement l'image native.

Au premier lancement, si vous ne définissez pas l'authentification du tableau de bord, le conteneur génère un mot de passe administrateur aléatoire et l'affiche dans les logs (l'image se lie à 0.0.0.0, ce que le moteur ne fera pas sans authentification). Définissez XALGORIX_USERNAME + XALGORIX_PASSWORD (ou XALGORIX_PASSWORD_HASH) pour utiliser les vôtres. Le binaire ne se met jamais à jour automatiquement à l'intérieur du conteneur (XALGORIX_NO_AUTO_UPDATE=1) — récupérez un nouveau tag d'image pour mettre à niveau. Le moteur nuclei et ses modèles de vulnérabilités sont actualisés à la dernière version à chaque build de l'image (la CI de release et redeploy.sh le forcent) ; passez --build-arg NUCLEI_VERSION=vX.Y.Z pour épingler le moteur, ou NUCLEI_REFRESH=0 ./redeploy.sh pour réutiliser le cache de Docker.

📋 Prérequis (compilation depuis les sources)

PrérequisRemarques
OSLinux ou macOS (amd64/arm64).
Go1.26 ou plus récent.
Node.js + npmRequis lors de la compilation de l'interface Web React intégrée depuis les sources.
Outils de sécuritéInstallés à la demande uniquement lorsque l'installation automatique est activée.

Vérifiez votre version de Go :```bash go version

### 🔨 Compiler depuis les sources```bash
git clone https://github.com/xalgorix/xalgorix.git
cd xalgorix
make build
sudo install -m 755 build/xalgorix /usr/local/bin/xalgorix

make build compile l'interface Web React dans internal/web/static, puis compile le binaire Go.

📦 Installation avec Go```bash

GOPROXY=direct GOSUMDB=off go install github.com/xalgord/xalgorix/v4/cmd/xalgorix@latest

## 🔩 Configuration

Xalgorix charge la configuration dans cet ordre. Les sources suivantes remplacent les précédentes.

| Ordre | Source                                                         |
| ----- | -------------------------------------------------------------- |
| 1     | `/etc/xalgorix.env`                                            |
| 2     | `/home/<sudo-user>/.xalgorix.env` lorsqu'il est lancé via `sudo` |
| 3     | `~/.xalgorix.env`                                              |
| 4     | Variables d'environnement déjà présentes dans le processus     |

Créez le fichier d'environnement local :```bash
nano ~/.xalgorix.env

🧩 Configuration minimale

Pour obtenir les meilleurs résultats de scan autonome, sélectionnez un modèle de pointe actuel. L'ID de modèle ci-dessous est un exemple concret ; des ID de modèles compatibles plus récents peuvent être saisis sans attendre une nouvelle version de Xalgorix.```bash XALGORIX_LLM=openai/gpt-5.6 XALGORIX_API_KEY=your_openai_api_key

### 🔌 Exemples de fournisseurs

OpenAI :```bash
XALGORIX_LLM=openai/gpt-5.6
XALGORIX_API_KEY=sk-...

Fournisseur personnalisé compatible OpenAI :```bash XALGORIX_LLM=custom/security-model XALGORIX_API_BASE=https://your-provider.example/v1 XALGORIX_API_KEY=your_provider_api_key

#### 🌉 Passerelles LiteLLM / compatibles OpenAI (GitHub Copilot, Claude Opus, Codex, OpenRouter, Azure, modèles locaux)

Comme `XALGORIX_API_BASE` accepte n'importe quel point de terminaison `/v1/chat/completions` compatible OpenAI,
Xalgorix fonctionne avec un proxy [LiteLLM](https://docs.litellm.ai/) dès l'installation — aucune
modification côté Xalgorix n'est nécessaire. LiteLLM gère l'authentification du fournisseur en amont (connexion
par appareil Copilot, clés Azure, OpenRouter, Ollama, etc.) ; Xalgorix parle simplement OpenAI à la passerelle.

Lancer LiteLLM (exemple `config.yaml`) :```yaml
model_list:
  - model_name: claude-opus-5
    litellm_params:
      model: github_copilot/claude-opus-5   # or openrouter/…, azure/…, ollama/…
general_settings:
  master_key: sk-local-litellm-key

Pointez Xalgorix vers celui-ci — utilisez le préfixe custom/ afin que le nom du modèle soit envoyé tel quel et que le protocole OpenAI chat-completions soit utilisé :```bash XALGORIX_LLM=custom/claude-opus-5 # the LiteLLM model_name XALGORIX_API_BASE=http://localhost:4000/v1 # your LiteLLM proxy XALGORIX_API_KEY=sk-local-litellm-key # LiteLLM master_key / virtual key

Le même schéma couvre GitHub Copilot Business/CLI, Claude Opus, les modèles de style Codex,
OpenRouter, Azure OpenAI et les modèles Ollama locaux — tout ce que LiteLLM peut router. Conservez le
préfixe `custom/` (ou `openai/`) et un `XALGORIX_API_BASE` non-Anthropic/Gemini afin que Xalgorix
utilise la forme de requête OpenAI standard attendue par LiteLLM.

### 🔔 Intégrations optionnelles```bash
GEMINI_API_KEY=AIza...
AGENTMAIL_POD=am_us_pod_47
AGENTMAIL_API_KEY=ak_...
XALGORIX_DISCORD_WEBHOOK=https://discord.com/api/webhooks/...
XALGORIX_DISCORD_MIN_SEVERITY=high

🔐 Authentification du tableau de bord```bash

XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this-password

> [!TIP]
> Préférez `XALGORIX_PASSWORD_HASH` pour les déploiements en production.

## 🆙 Mise à niveau depuis les versions précédentes

Cette version apporte une passe de stabilité et d'isolation de l'espace de travail avec un changement incompatible et quelques nouveaux réglages qu'il vaut la peine de connaître.

### 💥 Changement incompatible : l'espace de travail par défaut est déplacé vers `~/.xalgorix/data/`

La sortie de scan, les notes, les planifications et les autres artefacts générés résident désormais sous `~/.xalgorix/data/` au lieu de `$CWD` (le répertoire depuis lequel le binaire a été lancé).

Pour conserver le comportement précédent, pointez `XALGORIX_DATA_DIR` vers votre répertoire de travail actuel :```bash
export XALGORIX_DATA_DIR=$(pwd)

Un avertissement [MIGRATION] est émis au démarrage lorsque des marqueurs hérités (notes.json, _schedules/, vulnerabilities.json, ou répertoires YYYY-MM-DD/scan-*) sont détectés dans $CWD et que XALGORIX_DATA_DIR n'est pas défini. Xalgorix ne lit, ne copie ni ne supprime jamais automatiquement ces fichiers hérités ; l'avertissement est informatif et n'est émis qu'une seule fois par processus.

🆕 Nouvelle variable d'environnement

VariableValeur par défautDescription
XALGORIX_LLM_MAX_INFLIGHT4 × EffectiveMaxInstancesPlafonne les appels LLM sortants simultanés sur tous les scans en cours. Minimum 1. Les attentes annulées ne consomment pas de slot.

🩺 Nouveaux compteurs de l'endpoint de santé

GET /api/status expose désormais :

ChampSignification
panics_recoveredPaniques de goroutine, de handler HTTP et d'outil qui ont été récupérées sans crash.
path_rejectionsÉcritures sur le système de fichiers refusées par Path_Policy (hors data_dir / ~/.xalgorix/ / /tmp).
watchdog_killsSous-processus terminés par le watchdog de timeout strict par outil.
admission_refusalsDemandes d'admission de scan refusées en raison du plafond de concurrence.
llm_inflight_capValeur effective de XALGORIX_LLM_MAX_INFLIGHT pour ce processus.
data_dirData_Dir résolu en cours d'utilisation.
allow_listRacines du système de fichiers acceptées par Path_Policy.

🏃 Exécution

🪟 Interface Web```bash

xalgorix --web

Ouvrir :```text
http://127.0.0.1:9137

Utilisez un port différent :```bash xalgorix --web --port 8080

### 🌐 Accès externe

Ne liez une autre interface qu'après avoir activé l'authentification du tableau de bord :```bash
XALGORIX_USERNAME=admin XALGORIX_PASSWORD=change-this xalgorix --web --bind 0.0.0.0

[!WARNING] Le serveur refuse toute liaison externe sans authentification au tableau de bord.

🏹 Analyse CLI```bash

xalgorix --target https://example.com

Avec des instructions personnalisées :```bash
xalgorix --target https://app.example.com --instruction "Focus on SQL injection, IDOR, and auth bypass. Avoid destructive tests."

🧰 Mode Service

Installer et démarrer en tant que service système :```bash sudo xalgorix --start

Gérer le service :```bash
sudo xalgorix --restart
sudo xalgorix --stop
sudo xalgorix --uninstall

Afficher les journaux :```bash journalctl -u xalgorix -f

### 🌍 Accès aux services distants

N'exposez le service aux navigateurs distants qu'après avoir activé l'authentification du tableau de bord :```bash
sudo tee -a /root/.xalgorix.env >/dev/null <<'EOF'
XALGORIX_BIND=0.0.0.0
XALGORIX_USERNAME=admin
XALGORIX_PASSWORD=change-this
EOF

sudo xalgorix --restart

Puis ouvrez http://<server-ip>:9137.

Si le processus écoute mais que la page ne se charge toujours pas à distance, autorisez le port TCP 9137 dans le pare-feu du serveur ou le groupe de sécurité cloud.

🏠 Analyse de cibles locales/internes

Par défaut, Xalgorix refuse d'analyser les adresses de bouclage, localhost, de plage privée ou de sa propre interface — ce sont les adresses de la machine sur laquelle Xalgorix s'exécute, pas une cible. Sur une machine auto-hébergée et mono-locataire, vous pouvez choisir d'analyser une application de démonstration/préproduction hébergée localement :```bash echo 'XALGORIX_ALLOW_LOCAL_TARGETS=true' | sudo tee -a /root/.xalgorix.env sudo xalgorix --restart

Le listener propre du tableau de bord est **toujours** protégé, même lorsque cette option est activée.

> **⚠️ Déploiements partagés / multi-tenant / hébergés : laissez cette option DÉSACTIVÉE.** L'activer
> permettrait au scan d'un utilisateur d'atteindre la machine de l'opérateur et son réseau interne.
> Elle est désactivée par défaut, donc aucune action n'est nécessaire pour rester en sécurité — ne définissez pas
> `XALGORIX_ALLOW_LOCAL_TARGETS` (ou fixez `XALGORIX_ALLOW_LOCAL_TARGETS=false`),
> et n'exposez pas la page Settings du moteur à des utilisateurs non fiables.

## 🔁 Flux de travail de l'interface web

1. Ouvrez le tableau de bord à l'adresse `http://127.0.0.1:9137`.
2. Allez dans Settings et confirmez le fournisseur LLM, la clé API, les limites de débit et les intégrations optionnelles.
3. Créez un scan depuis New Scan.
4. Choisissez un mode de scan.
5. Sélectionnez les phases de méthodologie lorsque vous souhaitez une exécution ciblée.
6. Définissez les filtres de sévérité lorsque seules certaines sévérités doivent être signalées en direct. Le filtre affecte uniquement le flux du tableau de bord en temps réel et les notifications ; le rapport PDF et `/api/findings` incluent toujours toutes les vulnérabilités découvertes par l'agent.
7. Ajoutez le nom de l'entreprise et téléchargez un logo pour des rapports personnalisés.
8. Surveillez la progression depuis Overview, Scan Detail ou Live Feed.
9. Ouvrez les détails des findings, téléchargez les rapports ou gérez les scans historiques depuis Scans and Reports.

## 🔀 Modes de scan

| Mode             | Idéal pour                                                                        |
| ---------------- | ------------------------------------------------------------------------------- |
| 🎯 Cible unique    | Tester une URL ou un hôte connu.                                                  |
| 🌐 Wildcard / multi | Énumérer les cibles associées et scanner la surface d'attaque découverte.         |
| 🧭 DAST             | Tests assistés par navigateur pour les applications web, les flux d'authentification, les formulaires et le comportement à l'exécution. |

## 📂 Scannez votre code (aucune cible nécessaire)

Pointez Xalgorix vers une base de code — une URL Git, un chemin local ou un zip téléversé — et
il scanne directement le code source. Aucune URL déployée, aucune infrastructure à mettre en place.```bash
# Source review (SAST): audit the code, no running target required
xalgorix --source ./my-app --code-scan review

# Provision + DAST: build & run the app locally, then pentest the running instance
xalgorix --source https://github.com/org/app.git --code-scan provision
Mode de scan de codeCe qu'il faitNiveau de vérification
reviewLit le code source, trace l'entrée utilisateur du point d'entrée → sink dangereux, et signale les vulnérabilités atteignables. Pas de cible live.Vérifié par source — prouvé atteignable dans le code (clairement étiqueté comme non exploité à l'exécution).
provisionInspecte le dépôt, construit et exécute l'application sur un port loopback, puis exécute un DAST guidé en whitebox contre l'instance en cours d'exécution. Revient à review si l'application ne peut pas être construite.Vérifié par exploitation — reproduit contre l'application en cours d'exécution.
  • --source accepte une URL Git (clonée en shallow), un répertoire local, ou un chemin vers une archive téléversée/extractée. Dans l'interface Web / l'application hébergée, vous pouvez également téléverser un .zip de votre base de code (POST /api/upload-source).
  • Vous pouvez toujours combiner un dépôt et une cible live pour l'augmentation whitebox classique — ce chemin est inchangé. Les modes de scan de code sont destinés aux cas où la base de code constitue le sujet entier.

Le mode provision exécute les commandes de build/démarrage de votre application dans le sandbox de l'agent et ne teste que le port loopback unique sur lequel il a démarré l'application — le tableau de bord et tout le reste sur la machine restent hors périmètre.

🧭 Méthodologie

Xalgorix organise les tests autonomes en 22 phases.

PhaseFocus
1Reconnaissance
2Découverte manuelle de vulnérabilités
3Découverte de répertoires et de fichiers
4Analyse CORS et cookies
5Tests d'authentification et de session
6Tests d'injection
7Tests SSRF
8IDOR et contrôle d'accès défaillant
9Tests API et GraphQL
10Tests de téléversement de fichiers
11Désérialisation et RCE
12Conditions de course et logique métier
13Prise de contrôle de sous-domaine
14Tests de redirection ouverte
15Tests de sécurité des e-mails
16Cloud et infrastructure
17Tests WebSocket
18Tests spécifiques aux CMS
19Détournement de liens brisés et usurpation de contenu
20Vérification d'exploitation
21Découverte de vulnérabilités inédites
22Rapport final

La sélection des phases dans l'interface Web vous permet d'exécuter toutes les phases ou uniquement le sous-ensemble nécessaire pour un engagement spécifique.

📄 Rapports

Les rapports sont générés sous forme de fichiers PDF et peuvent inclure :

SectionContenu inclus
📌 RésuméRésumé exécutif, métadonnées de la cible, métadonnées du scan et aperçu de la sévérité.
🐞 ConstatsConstats vérifiés, détails CVSS, analyse technique et preuve d'exploitation.
🔬 PreuvesCommandes de preuve de concept, scripts, notes de payload et observations à l'appui.
🩹 RemédiationConseils de correction et prochaines étapes priorisées.
🎨 Image de marqueNom de l'entreprise/cible et logo téléversé.

Les rapports sont disponibles depuis la page de détail du scan et la page Rapports. Les lignes de rapport prennent en charge l'ouverture, le téléchargement et la suppression.

🔧 Paramètres

La plupart des paramètres opérationnels peuvent être modifiés depuis l'interface Web sous Paramètres.

DomaineExemples
🤝 EngagementLimites de débit des requêtes du tableau de bord
🧠 LLMModèle, clé API, base API, effort de raisonnement, tentatives, itérations max
📬 AgentMailPod et clé API
🔔 NotificationsWebhook Discord et sévérité minimale, token de bot Telegram, ID de chat, sévérité minimale, et résumés de fin de scan en opt-in
🕵️ ProxyURL de proxy, fichier de proxy, rotation, vérification TLS
🧱 RuntimeEspace de travail, chemin du navigateur, contrôles d'installation automatique
🔐 SécuritéNom d'utilisateur du tableau de bord, mot de passe, hash de mot de passe, adresse de liaison
📈 RessourcesSeuils CPU/RAM/disque et budget de concurrence des scans

Certains paramètres nécessitent un redémarrage car ils affectent le démarrage du processus ou la liaison du serveur. L'interface marque ces champs.

🧾 Variables d'environnement

🧱 Core

VariableDéfautDescription
XALGORIX_LLMnoneID de modèle natif du fournisseur utilisé pour les requêtes LLM.
XALGORIX_LLM_PROVIDERnoneFournisseur sélectionné par le tableau de bord, stocké séparément de l'ID de modèle.
XALGORIX_API_KEYnoneClé API du fournisseur LLM requise.
XALGORIX_API_BASEprovider defaultURL de base d'API personnalisée compatible OpenAI.
XALGORIX_REASONING_EFFORThighEffort de raisonnement : none, low, medium, high, ou xhigh (xhigh correspond à high pour Ollama).
XALGORIX_LANGUAGEenLangue de sortie pour la prose générée par IA (raisonnement de l'agent, notes, constats, contenu du rapport, chat post-scan). en ou zh-CN. Les tokens techniques (payloads, commandes, URLs, IDs CVE/CWE) restent toujours sous leur forme originale. Les langues non latines s'affichent automatiquement dans le tableau de bord et le rapport HTML.
XALGORIX_PDF_CJK_FONTnoneChemin absolu vers une police TrueType (.ttf) avec des glyphes CJK, utilisée pour afficher les langues non latines (par ex. le chinois simplifié) dans le rapport PDF exporté. Seul .ttf est pris en charge (pas .ttc/.otf). Sans cela, le PDF revient aux polices de base et les glyphes non latins ne s'afficheront pas (le rapport HTML n'est pas affecté).
XALGORIX_OLLAMA_COMPATIBLEfalseAppliquer la sémantique de raisonnement Ollama à un endpoint personnalisé sur un port non standard. Le port 11434 est détecté automatiquement.
XALGORIX_LLM_MAX_RETRIES5Nombre de tentatives pour les échecs LLM transitoires.
XALGORIX_MEMORY_COMPRESSOR_TIMEOUT30Délai d'expiration en secondes pour la compression du contexte.
XALGORIX_MAX_ITERATIONS0Plafond d'itérations de l'agent. 0 signifie illimité.
XALGORIX_PPROF_ADDRnoneProfileur Go en opt-in. Lorsqu'il est défini (par ex. 127.0.0.1:6060), démarre un serveur pprof autonome à /debug/pprof/ sur cette adresse pour le diagnostic CPU/heap. Désactivé par défaut. Expose les internes du processus — liez au loopback et accédez-y via un tunnel SSH ; ne l'exposez jamais publiquement.
GEMINI_API_KEYnoneClé Gemini optionnelle pour l'enrichissement par recherche web.

🔒 Web et sécurité

VariableDéfautDescription
XALGORIX_BIND127.0.0.1Adresse d'écoute du serveur web.
XALGORIX_ALLOW_LOCAL_TARGETSfalseAutoriser le scan d'applications hébergées localement (localhost / 127.0.0.1 / IPs privées) sur une installation auto-hébergée. Le listener du tableau de bord lui-même est toujours protégé. Laissez désactivé sur les déploiements partagés/hébergés.
XALGORIX_USERNAMEnoneNom d'utilisateur du tableau de bord.
XALGORIX_PASSWORDnoneMot de passe du tableau de bord.
XALGORIX_PASSWORD_HASHnoneHash de mot de passe bcrypt préféré.
XALGORIX_WORKSPACEcurrent directoryRacine de l'espace de travail pour l'exécution des scans.

🤝 Intégrations

VariableDéfautDescription
AGENTMAIL_PODnoneIdentifiant de pod AgentMail.
AGENTMAIL_API_KEYnoneClé API AgentMail.
XALGORIX_DISCORD_WEBHOOKnoneWebhook Discord global.
XALGORIX_DISCORD_MIN_SEVERITYnoneSévérité minimale envoyée à Discord.
XALGORIX_TELEGRAM_BOT_TOKENnoneToken de bot Telegram depuis @BotFather.
XALGORIX_TELEGRAM_CHAT_IDnoneID de chat/canal Telegram (numérique ou @username).
XALGORIX_TELEGRAM_MIN_SEVERITYnoneSévérité minimale envoyée à Telegram.
XALGORIX_NOTIFY_SCAN_COMPLETEfalseEnvoyer les résumés de fin de scan aux destinations Discord/Telegram configurées. Ceci est en opt-in et n'affecte pas les alertes par vulnérabilité.
CAIDO_PORT0Port du proxy Caido. 0 signifie détection automatique.
CAIDO_API_TOKENnoneToken API Caido.

🚦 Limites de débit, proxy et runtime

VariableDéfautDescription
XALGORIX_RATE_LIMIT_REQUESTS60Requêtes du tableau de bord par fenêtre.
XALGORIX_RATE_LIMIT_WINDOW60Fenêtre de limite de débit du tableau de bord en secondes.
XALGORIX_RATE_RPS10Débit de requêtes sortantes soutenu.
XALGORIX_RATE_BURST20Taille de rafale sortante.
XALGORIX_USE_PROXYfalseActiver le routage par proxy.
XALGORIX_PROXY_REQUIREDfalseExiger un proxy amont pour les chemins HTTP/navigateur cibles sans repli direct.
XALGORIX_PROXY_URLnoneURL de proxy unique. Remplace le fichier de proxy.
XALGORIX_PROXY_FILEnoneFichier contenant un proxy par ligne.
XALGORIX_PROXY_ROTATIONroundrobinStratégie de rotation des proxys : roundrobin ou random.
XALGORIX_TLS_SKIP_VERIFYfalseIgnorer la vérification TLS pour le trafic de test.
XALGORIX_DISABLE_BROWSERfalseDésactiver l'automatisation du navigateur.
XALGORIX_BROWSER_PATHautoChemin d'exécutable Chrome/Chromium personnalisé.
XALGORIX_ALLOW_AUTO_INSTALLroot onlyAutoriser l'installation automatique de paquets.
XALGORIX_AUTO_INSTALL_SUDOfalseAutoriser les installations automatiques préfixées par sudo.

🔤 Préfixes de fournisseur

Lorsque XALGORIX_API_BASE est vide, Xalgorix déduit les valeurs par défaut du fournisseur à partir du préfixe du modèle.

PréfixeBase API par défaut
openai/https://api.openai.com/v1
anthropic/https://api.anthropic.com
deepseek/https://api.deepseek.com/v1
groq/https://api.groq.com/openai/v1
google/https://generativelanguage.googleapis.com/v1
gemini/https://generativelanguage.googleapis.com/v1
ollama/http://localhost:11434/v1
minimax/https://api.minimax.io/v1

Les noms de modèles ne sont pas codés en dur selon cette liste. La page Paramètres accepte les ID de modèles saisis afin que les modèles de fournisseurs plus récents puissent être utilisés sans attendre une mise à jour de la liste déroulante de l'interface.

💻 Référence CLI

FlagAliasDescription
--web-wDémarrer l'interface Web.
--port <port>-pPort de l'interface Web. Défaut : 9137.
--bind <addr>noneAdresse de liaison. Défaut : 127.0.0.1.
--target <target>-tURL, hôte, IP ou chemin cible. Répétable.
--instruction <text>-iInstructions de scan personnalisées.
--model <model>-mRemplacer XALGORIX_LLM pour cette exécution.
--update-upMettre à jour vers la dernière version.
--version-vAfficher la version.
--startnoneInstaller et démarrer le service système.
--stopnoneArrêter le service système.
--restartnoneRedémarrer le service système.
--uninstallnoneSupprimer le service système.
--help-hAfficher l'aide.

📡 Résumé de l'API

MéthodeEndpointObjectif
POST/api/scanDémarrer ou enregistrer un scan.
POST/api/stopArrêter tous les scans en cours.
GET/api/statusStatut global actuel.
GET/api/scansLister les scans.
GET/api/scans/:idObtenir le détail d'un scan.
DELETE/api/scans/:idSupprimer un scan et ses données de rapport.
GET/api/findingsLister tous les constats (dédupliqués entre les scans).
GET/api/findings/summaryDécompte de sévérité sur tous les scans.
GET/api/report/:idTélécharger un rapport PDF.
GET/api/instancesLister les instances actives et historiques.
GET/api/instances/:id/eventsObtenir l'historique des événements mis en mémoire tampon.
POST/api/instances/:id/stopArrêter une instance spécifique.
POST/api/instances/:id/startDémarrer un scan enregistré ou terminé comme nouvelle exécution.
POST/api/instances/:id/restartRedémarrer avec la même configuration.
POST/api/instances/:id/pauseMettre en pause un scan en cours.
POST/api/instances/:id/resumeReprendre un scan en pause.
POST/api/upload-logoTéléverser un logo de rapport.
POST/api/upload-targetsTéléverser une liste de cibles.
GET/api/settings/environmentLister les paramètres d'environnement modifiables.
POST/api/settings/environmentEnregistrer les paramètres d'environnement.
GET/api/settings/llmObtenir les paramètres LLM.
POST/api/settings/llmEnregistrer les paramètres LLM.
GET/api/settings/agentmailObtenir les paramètres AgentMail.
POST/api/settings/agentmailEnregistrer les paramètres AgentMail.
GET/wsFlux d'événements en direct WebSocket.

💾 Stockage des données

Les données de scan en mode Web sont stockées sous :```text ~/xalgorix-data/ |-- _saved/ |-- logos/ |-- queue_state.json -- <target>/ -- / -- <scan-id>/ |-- scan.json -- report.pdf

Le serveur conserve les enregistrements de scans historiques sur disque afin que l'interface utilisateur puisse récupérer après un rafraîchissement ou un redémarrage.

## 🧪 Développement

| Tâche                        | Commande                       |
| --------------------------- | ----------------------------- |
| 📦 Installer les dépendances de l'interface Web | `make webui-install`          |
| 🔨 Tout compiler            | `make build`                  |
| ✅ Exécuter les tests                   | `go test ./...`               |
| 🖥️ Exécuter l'interface Web depuis les sources      | `go run ./cmd/xalgorix --web` |
| ⚡ Exécuter le serveur de développement frontend     | `make webui-dev`              |

## 🚨 Notes de sécurité

- Utilisez Xalgorix uniquement contre des cibles autorisées.
- Ne lancez pas de tests actifs contre des systèmes tiers sans autorisation.
- Vérifiez les instructions de scan avant de lancer.
- Configurez les limites de débit et les paramètres de proxy en fonction des règles de l'engagement.
- Exposer le tableau de bord à l'extérieur nécessite une authentification.
- L'installation automatique est désactivée par défaut pour les utilisateurs non-root et ne doit être activée que si vous faites confiance à l'environnement.

## 📜 Licence

Xalgorix est publié sous la licence Apache License 2.0. Voir [LICENSE](https://github.com/xalgord/xalgorix/blob/main/LICENSE).

## 🔗 Liens

| Ressource      | Lien                                                                             |
| ------------- | -------------------------------------------------------------------------------- |
| ☁️ Hébergé (Cloud) | [www.xalgorix.com](https://www.xalgorix.com/)                                   |
| 📖 Documentation | [docs.xalgorix.com](https://docs.xalgorix.com)                                   |
| 🐛 Problèmes        | [github.com/xalgorix/xalgorix/issues](https://github.com/xalgorix/xalgorix/issues) |
| ☕ Soutien       | [buymeacoffee.com/xalgord](https://buymeacoffee.com/xalgord)                     |

Catégories