fix(wireguard): исправить endpoint и поля клиентского шаблона

This commit is contained in:
Denozordec committed 2026-10-08 23:21:45 +07:00
1 parent 206255b856
commit c82e8fa12b
13 files changed
+128 -29

No files matched your search

+6 -3
View File
@@ -1,6 +1,7 @@
"use client"
import { useMemo } from "react"
import { resolveWgClientEndpoint } from "@mmapp/contracts/wireguard"
import { selectWgExportPeer } from "@/lib/wg-export-peer"
import type { WgIfaceWithServer } from "@/components/data-grids/wireguard-data-grid"
import {
@@ -22,6 +23,7 @@ function WgExportSheet({
onRequestLiveExport,
initialTab = "rsc",
peerId,
serverHost,
}: {
open: boolean
iface: WgIfaceWithServer | null
@@ -32,6 +34,7 @@ function WgExportSheet({
initialTab?: "rsc" | "conf" | "peer"
/** Selected peer for Peer .conf (defaults to first peer) */
peerId?: string | null
serverHost?: string
}) {
const formats = useMemo((): CodeExportFormat[] => {
if (!iface) {
@@ -90,8 +93,7 @@ function WgExportSheet({
peerAddress: peer.clientAddress,
peerDns: peer.clientDns,
serverPublicKey: iface.publicKey,
allowedIps: peer.allowedIps,
endpoint: peer.clientEndpoint || peer.endpoint || undefined,
endpoint: resolveWgClientEndpoint(peer.clientEndpoint, serverHost, iface.listenPort),
persistentKeepalive: peer.persistentKeepalive ?? 25,
})
}
@@ -120,7 +122,7 @@ function WgExportSheet({
isLive: Boolean(liveContent?.peerConf),
},
]
}, [iface, liveContent, peerId])
}, [iface, liveContent, peerId, serverHost])
return (
<CodeExportSheet
@@ -129,6 +131,7 @@ function WgExportSheet({
title="Экспорт WireGuard"
description={iface ? `${iface.name} · ${iface.serverName}` : "—"}
formats={formats}
beforeCode={<p className="text-xs text-muted-foreground">Peer .conf — шаблон для клиента. Заполните его приватный ключ, адрес и сети AllowedIPs. При NAT укажите доступный извне client-endpoint; endpoint удалённого пира здесь не используется.</p>}
initialFormatId={initialTab}
liveBusy={liveBusy}
liveLabel="С роутера"