fix(wireguard): исправить endpoint и поля клиентского шаблона
This commit is contained in:
1 parent
206255b856
commit
c82e8fa12b
13 files changed
+128
-29
No files matched your search
@@ -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="С роутера"
|
||||
|
||||
Reference in new issue
Block a user