Send public key

This commit is contained in:
Owen
2025-12-01 16:19:57 -05:00
parent bf038eb4a2
commit 8d6ba79408

View File

@@ -24,20 +24,22 @@ type EncryptedHolePunchMessage struct {
} }
type HolePunchMessage struct { type HolePunchMessage struct {
OlmID string `json:"olmId"` OlmID string `json:"olmId"`
NewtID string `json:"newtId"` NewtID string `json:"newtId"`
Token string `json:"token"` Token string `json:"token"`
PublicKey string `json:"publicKey"`
} }
type ClientEndpoint struct { type ClientEndpoint struct {
OlmID string `json:"olmId"` OlmID string `json:"olmId"`
NewtID string `json:"newtId"` NewtID string `json:"newtId"`
Token string `json:"token"` Token string `json:"token"`
IP string `json:"ip"` IP string `json:"ip"`
Port int `json:"port"` Port int `json:"port"`
Timestamp int64 `json:"timestamp"` Timestamp int64 `json:"timestamp"`
ReachableAt string `json:"reachableAt"` ReachableAt string `json:"reachableAt"`
PublicKey string `json:"publicKey"` ExitNodePublicKey string `json:"exitNodePublicKey"`
ClientPublicKey string `json:"publicKey"`
} }
// Updated to support multiple destination peers // Updated to support multiple destination peers
@@ -236,14 +238,15 @@ func (s *UDPProxyServer) packetWorker() {
} }
endpoint := ClientEndpoint{ endpoint := ClientEndpoint{
NewtID: msg.NewtID, NewtID: msg.NewtID,
OlmID: msg.OlmID, OlmID: msg.OlmID,
Token: msg.Token, Token: msg.Token,
IP: packet.remoteAddr.IP.String(), IP: packet.remoteAddr.IP.String(),
Port: packet.remoteAddr.Port, Port: packet.remoteAddr.Port,
Timestamp: time.Now().Unix(), Timestamp: time.Now().Unix(),
ReachableAt: s.ReachableAt, ReachableAt: s.ReachableAt,
PublicKey: s.privateKey.PublicKey().String(), ExitNodePublicKey: s.privateKey.PublicKey().String(),
ClientPublicKey: msg.PublicKey,
} }
logger.Debug("Created endpoint from packet remoteAddr %s: IP=%s, Port=%d", packet.remoteAddr.String(), endpoint.IP, endpoint.Port) logger.Debug("Created endpoint from packet remoteAddr %s: IP=%s, Port=%d", packet.remoteAddr.String(), endpoint.IP, endpoint.Port)
s.notifyServer(endpoint) s.notifyServer(endpoint)