À propos du projet
awgctrl-go est une bibliothèque Go permettant de contrôler les appareils WireGuard et AmneziaWG sous Linux. Il s'agit d'un fork de WireGuard/wgctrl-go enrichi d'une prise en charge complète d'AmneziaWG v2, incluant la lecture et l'écriture des paramètres d'obfuscation AWG via netlink, la validation des paramètres, la génération automatique et la prise en charge du démon en espace utilisateur.
Par rapport au wgctrl-go d'origine, le fork ajoute la capacité d'écrire et de lire les paramètres AmneziaWG, AdvancedSecurity au niveau des pairs, la génération et la validation automatiques des paramètres AWG, la prise en charge du démon AWG en espace utilisateur, une API context.Context et un seul aller-retour netlink.
Prise en charge des plateformes : Linux prend en charge WireGuard noyau, AmneziaWG noyau, WireGuard en espace utilisateur et AmneziaWG en espace utilisateur. FreeBSD et OpenBSD ne prennent en charge que WireGuard noyau et en espace utilisateur. Windows ne prend en charge que WireGuard en espace utilisateur. La prise en charge d'AWG noyau et en espace utilisateur est réservée à Linux.
Les prérequis incluent Go 1.26 ou version ultérieure, un noyau Linux avec le module AmneziaWG (modprobe amneziawg) ou le démon en espace utilisateur amneziawg-go, et les privilèges root ou la capacité CAP_NET_ADMIN. La bibliothèque est déclarée compatible avec tout module noyau AmneziaWG v2, y compris le module d'origine ; le README recommande un fork patché pour la production, car il valide les paramètres AWG avant de les appliquer, sert des clients WireGuard simple, AWG 1.0 et AWG 2.0 sur une seule interface, corrige les dumps netlink avec de nombreux pairs, et se compile sur des noyaux Linux plus récents et RHEL 10. Seul ce module indique le type de pair détecté via des champs tels que Peer.AWGPeerFlagsKnown, FixedHeaders et NoS4.
L'installation se fait via go get github.com/advanced-wg/awgctrl-go. Le README présente des extraits de démarrage rapide pour lire un appareil (nom d'interface, indicateur IsAmnezia, pairs, AdvancedSecurity, compteurs RX/TX), activer l'obfuscation AWG en appelant GenerateAmneziaParams et Validate avant ConfigureDevice, et ajouter un pair avec AdvancedSecurity activé.
Les liens de documentation couvrent une référence des paramètres AWG (Jc, Jmin, Jmax, S1-S4, H1-H4, I1-I5 avec limites, règles et exemples), la sécurité avancée des pairs, des exemples pratiques et la référence complète de l'API sur pkg.go.dev. Le projet est sous licence MIT, avec des droits d'auteur attribués à Matt Layher (2018-2022) et Advanced-WG, V. Bantserov (2025).
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.