feat(wireguard): implement WireGuard interface management and permissions
Docker images / prepare-release (push) Successful in 8s
Docker images / backend-image (push) Successful in 1m39s
Docker images / frontend-image (push) Successful in 2m56s
Docker images / notify-webhook (push) Skipped
Docker images / updater-image (push) Successful in 53s
Docker images / publish-release (push) Successful in 10s

Added comprehensive support for managing WireGuard interfaces, including CRUD operations and peer management. Updated permissions to include access control for WireGuard routes. Enhanced the UI components to display and interact with WireGuard configurations, improving user experience and functionality. Introduced new tests for WireGuard-related functionalities to ensure reliability.
This commit is contained in:
Denozordec
2026-09-05 02:10:55 +07:00
parent 883842636b
commit 15ad53af1f
25 changed files with 3122 additions and 231 deletions
+12
View File
@@ -14,21 +14,33 @@ export interface WanUplink {
// ─── WireGuard ───────────────────────────────────────────────────────────────
export interface WireGuardPeer {
id?: string
rosId?: string
publicKey: string
allowedIps: string[]
endpoint?: string // "1.2.3.4:13231"
latestHandshake?: string // "2 минуты назад"
transferRx?: number // bytes
transferTx?: number // bytes
persistentKeepalive?: number
persistent?: boolean
comment?: string
disabled?: boolean
name?: string
clientAddress?: string
clientDns?: string
clientEndpoint?: string
}
export interface WireGuardInterface {
id: string
rosId?: string
name: string // e.g. "wg-msk-spb"
listenPort: number // default 13231
mtu: number // 1420 default in ROS 7.x
publicKey?: string
privateKey?: string
address?: string
peers: WireGuardPeer[]
comment: string
enabled: boolean