Files
wiki/Catalogue-Self-Hosted/apps/app-amnezia.md
T
2026-06-09 18:40:21 +02:00

159 lines
8.9 KiB
Markdown

---
title: Amnezia
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, vpn, anti-dpi, obfuscation, wireguard, openvpn, shadowsocks, ikev2, multy-protocole, c-plus-plus]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=VPN, https://github.com/amnezia-vpn/amnezia-client]
---
# 🔐 Amnezia VPN
> **Le VPN anti-censure par excellence** — multi-protocoles (WireGuard, OpenVPN, Shadowsocks, IKEv2) avec obfuscation contre la DPI, créé par des devs russes exilés.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [amnezia.org](https://amnezia.org/) |
| **GitHub** | [amnezia-vpn/amnezia-client](https://github.com/amnezia-vpn/amnezia-client) |
| **License** | GPL-3.0 |
| **Langage** | C++ / QML (client), C++ (server backends) |
| **Étoiles GitHub** | 12 293 ⭐ |
| **Dernière MAJ** | 2026-06-06 |
| **Catégorie** | [[cat-vpn|VPN & Réseau privé]] |
## 📝 Description
**Amnezia VPN** est un **client et serveur VPN open source** créé en 2021 par une équipe de développeurs russes face à la **recrudescence de la censure étatique** (Roskomnadzor bloquant OpenVPN, WireGuard, puis Shadowsocks). Sa particularité : **il ne se contente pas d'un seul protocole** — il supporte **nativement** WireGuard, OpenVPN, Shadowsocks, IKEv2 et le protocole maison **AmneziaWG** (une variante obfusquée de WireGuard), et **les fait transiter par un reverse proxy HTTP/HTTPS** standard (Caddy, nginx) pour rendre le trafic VPN **indistinguable du trafic web normal**.
C'est l'outil de prédilection des **journalistes**, **activistes** et **homelabbers** qui vivent dans des pays censurant Internet (Russie, Iran, Chine, Turquie) ou derrière des **firewalls corporate** qui bloquent le VPN classique. Amnezia brille là où WireGuard nu échoue à cause de l'**inspection approfondie de paquets (DPI)**.
-**Multi-protocoles** : **AmneziaWG** (WG obfusqué), **WireGuard**, **OpenVPN**, **Shadowsocks**, **IKEv2**
-**Anti-DPI / anti-censure** : le serveur proxifie le trafic via **Caddy** (HTTPS standard, port 443) → **indistinguable** d'un site web classique
-**AmneziaWG** : variante de WireGuard avec **padding aléatoire** des paquets, **fake packets**, **header randomisation** → résiste à la DPI qui identifie WG par sa signature
-**Self-hosted simple** : un binaire, un script de setup, fonctionne sur n'importe quel VPS
-**UI desktop** native (Linux/Windows/macOS) en Qt/QML, **apps mobiles** iOS/Android
-**Auto-hébergement** : le serveur Amnezia est juste un script bash qui installe les backends et configure Caddy
-**Plusieurs contournements** : peut basculer de protocole dynamiquement si l'un est bloqué
-**Pas de log** par défaut, configurable pour respecter la vie privée
-**Open source** (GPL-3.0) — auditable
**Public cible** : **journalistes et activistes** en pays censurant Internet, **homelabbers derrière des firewalls corporate** qui bloquent WireGuard (rare mais existe), **utilisateurs en Chine/Russie/Iran/Turquie**. Pour un VPN "personnel classique" sans censure, [[app-wireguard]] / [[app-tailscale]] suffisent.
**Vs WireGuard nu** : WireGuard est détectable par DPI (taille de paquet fixe, port 51820, header spécifique). AmneziaWG randomise tout ça → invisible. **Vs OpenVPN** : OpenVPN obfusqué existe (obfs4, Stunnel) mais Amnezia l'intègre nativement avec un UI simple. **Vs Outline (Shadowsocks)** : Outline est plus simple mais mono-protocole, Amnezia permet de basculer.
## 🚀 Installation
### Option 1 : Docker Compose (auto-hébergé minimal)
```yaml
# docker-compose.yml
version: '3.8'
services:
amnezia-server:
image: ghcr.io/amnezia-vpn/amnezia-server:latest
container_name: amnezia-server
restart: unless-stopped
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun
environment:
- AMNEZIA_PROTOCOL=amneziawg # ou wireguard, openvpn, shadowsocks
- AMNEZIA_PORT=443
- AMNEZIA_PASSWORD=ChangeMe
volumes:
- ./config:/etc/amnezia
ports:
- "443:443/tcp" # HTTPS / Caddy (camouflage)
- "443:443/udp" # WireGuard
- "51820:51820/udp" # WG fallback
labels:
- "traefik.enable=false" # Caddy fait le reverse proxy
```
> ⚠️ **Amnezia utilise son propre reverse proxy** (Caddy intégré) pour camoufler le trafic. **Ne pas** mettre Traefik devant, sinon la couche d'obfuscation est brisée.
### Option 2 : Script natif (VPS Debian/Ubuntu)
```bash
curl -fsSL https://github.com/amnezia-vpn/amnezia-client/raw/main/server/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh
# Répondez : protocole (AmneziaWG recommandé), port, password
```
## ⚙️ Configuration Initiale
1. **Louer un petit VPS** (Hetzner, OVH, DigitalOcean) avec IP résidentielle de préférence
2. **Installer le serveur** : une seule commande (Docker ou script), prend ~2 minutes
3. **Choisir le protocole** : **AmneziaWG** pour le meilleur ratio stealth/performance, **Shadowsocks** si censuré
4. **Activer l'obfuscation HTTPS** : le serveur Caddy auto-signe un cert (ou utiliser Let's Encrypt)
5. **Partager le fichier de config** : Amnezia génère un **QR code** ou un fichier `.vpn` que les clients scannent
6. **Tester** : depuis un client mobile, `curl ifconfig.me` doit afficher l'IP du VPS, et `tcpdump -i any` côté serveur doit voir du **HTTPS normal**
## 🔄 Alternatives
### Open Source
- **Outline (Shadowsocks)** — Simple, mono-protocole, développé par Jigsaw (Google)
- **V2Ray / Xray (VLESS, VMess, Trojan)** — Très puissant, mais configuration verbeuse
- **Trojan-GFW** — Trojan protocol, très furtif
- **obfs4** — Pluggable transport pour Tor
- **Wstunnel** — WebSocket tunneling, simple
- [[app-wireguard]] + **AmneziaWG** (patch séparé) — Variante WG obfusquée
- [[app-openvpn]] + **Stunnel** — OpenVPN encapsulé dans TLS, plus artisanal
### Propriétaires
- **NordVPN** (avec obfuscated servers)
- **ExpressVPN** (Lightway protocol)
- **Mullvad** (avec WireGuard + obfuscation)
- **ProtonVPN** (Stealth protocol)
- **Windscribe** (Stealth mode)
- **Psiphon** (propriétaire, gratuit, anti-censure)
- **Lantern** (propriétaire, gratuit, anti-censure)
### Comparaison Amnezia vs alternatives
| Critère | Amnezia | Outline | WireGuard nu | NordVPN obf | V2Ray/Xray |
| :--- | :--- | :--- | :--- | :--- | :--- |
| Anti-DPI natif | ✅ (multi) | ✅ (Shadowsocks) | ❌ | ✅ | ✅✅ (très) |
| Multi-protocoles | ✅ (5+) | ❌ | ❌ | ❌ | ✅ |
| Simplicité setup | ✅ | ✅✅ | ✅✅ | ❌ (SaaS) | ❌ (verbeux) |
| Performance | Très bonne | Bonne | Excellente | Bonne | Bonne |
| UI client | ✅ (native) | ✅ (native) | ⚠️ (officielle) | ✅ | ❌ (CLI) |
| Self-hosted | ✅ | ✅ | ✅ | ❌ | ✅ |
| License | GPL-3.0 | Apache-2.0 | GPL-2.0 | Propriétaire | MIT |
**Verdict** : Amnezia est **le choix open source idéal** pour qui veut un VPN **résistant à la censure** sans se battre avec V2Ray. Pour un usage "VPN basique" sans censure, c'est **over-engineering** — [[app-tailscale]] / [[app-wireguard]] suffisent.
## 🔐 Sécurité
-**Cryptographie moderne** : AmneziaWG utilise **Curve25519** (ECDH), **ChaCha20-Poly1305** (AEAD), **BLAKE2s** (hash) — comme WireGuard, mais avec **padding aléatoire** et **fake packets** pour défaire la DPI
-**Aucun log par défaut** : Amnezia ne journalise rien, et c'est vérifiable (open source)
-**Camo HTTP/HTTPS** : le reverse proxy Caddy fait passer le trafic pour du **HTTPS web normal** — aucun port exotique
- ⚠️ **IP publique du VPS** : choisir un hébergeur de confiance ([[glossaire-homelab]]), juridiction extraterritoriale, paiement crypto possible (Hetzner, OVH)
-**Authentification forte** : password partagé + clé pré-installée (handshake AmneziaWG), pas de MFA natif (mais [[app-2fauth]] sur l'accès SSH au serveur)
-**Clés privées** : générées localement sur le client, **JAMAIS transmises en clair**. Backup du serveur chiffré ([[app-vaultwarden]] / **age**)
- ⚠️ **Serveur accessible** : n'exposer QUE le port 443 (HTTPS) et SSH (key-only), **fail2ban** + **portsentry** sur SSH
- ⚠️ **Posture zero-trust** : Amnezia n'implémente pas nativement de RBAC/MFA par user — pour du MFA, mettre un [[app-defguard]] ou [[app-authentik]] en frontal
## 📚 Ressources
- [Site officiel Amnezia](https://amnezia.org/)
- [GitHub amnezia-vpn/amnezia-client](https://github.com/amnezia-vpn/amnezia-client)
- [Documentation](https://docs.amnezia.org/)
- [AmneziaWG protocol spec](https://docs.amnezia.org/documentation/amnezia-wg)
## Pages Liées
- [[cat-vpn]] — Catégorie VPN & Réseau privé
- [[app-wireguard]] — Le protocole moderne
- [[app-tailscale]] — VPN mesh "user-friendly"
- [[app-openvpn]] — Le "vieux" VPN
- [[app-traefik]] — Reverse proxy / HTTPS
- [[securisation-home-lab]] — Bonnes pratiques globales
- [[glossaire-homelab]] — Définitions réseau
- [[comparatif-vpn-mesh]] — Comparatif global