159 lines
8.9 KiB
Markdown
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
|