프로젝트 소개
awgctrl-go는 Linux에서 WireGuard 및 AmneziaWG 장치를 제어하기 위한 Go 라이브러리입니다. 이는 WireGuard/wgctrl-go의 포크로, netlink를 통한 AWG 난독화 매개변수 읽기/쓰기, 매개변수 검증, 자동 생성, 사용자 공간 데몬 지원을 포함한 완전한 AmneziaWG v2 지원으로 확장되었습니다.
상위 wgctrl-go와 비교하여, 이 포크는 AmneziaWG 매개변수 쓰기 및 읽기, 피어 수준 AdvancedSecurity, AWG 매개변수의 자동 생성 및 검증, 사용자 공간 AWG 데몬 지원, context.Context API, 단일 netlink 왕복 기능을 추가합니다.
플랫폼 지원: Linux는 커널 WireGuard, 커널 AmneziaWG, 사용자 공간 WireGuard 및 사용자 공간 AmneziaWG를 지원합니다. FreeBSD와 OpenBSD는 커널 및 사용자 공간 WireGuard만 지원합니다. Windows는 사용자 공간 WireGuard만 지원합니다. AWG 커널 및 사용자 공간 지원은 Linux 전용입니다.
요구 사항에는 Go 1.26 이상, AmneziaWG 모듈(modprobe amneziawg) 또는 amneziawg-go 사용자 공간 데몬이 있는 Linux 커널, 루트 권한 또는 CAP_NET_ADMIN 기능이 포함됩니다. 이 라이브러리는 상위 모듈을 포함한 모든 AmneziaWG v2 커널 모듈과 함께 작동한다고 명시되어 있습니다. README는 프로덕션에서 패치된 포크를 권장하는데, 이는 적용 전에 AWG 매개변수를 검증하고, 하나의 인터페이스에서 일반 WireGuard, AWG 1.0 및 AWG 2.0 클라이언트를 제공하며, 많은 피어가 있는 netlink 덤프를 수정하고, 최신 Linux 커널 및 RHEL 10에서 빌드되기 때문입니다. 해당 모듈만 Peer.AWGPeerFlagsKnown, FixedHeaders 및 NoS4와 같은 필드를 통해 감지된 피어 유형을 보고합니다.
설치는 go get github.com/advanced-wg/awgctrl-go를 통해 이루어집니다. README는 장치 읽기(인터페이스 이름, IsAmnezia 플래그, 피어, AdvancedSecurity, RX/TX 카운터 나열), GenerateAmneziaParams 및 Validate를 호출한 후 ConfigureDevice로 AWG 난독화 활성화, AdvancedSecurity가 활성화된 피어 추가에 대한 빠른 시작 스니펫을 보여줍니다.
문서 링크는 AWG 매개변수 참조(Jc, Jmin, Jmax, S1-S4, H1-H4, I1-I5 및 제한, 규칙, 예제 포함), 피어 고급 보안, 실용 예제 및 pkg.go.dev의 전체 API 참조를 다룹니다. 이 프로젝트는 MIT 라이선스이며, 저작권은 Matt Layher(2018-2022) 및 Advanced-WG, V. Bantserov(2025)에게 있습니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.