Files
2025-07-23 17:56:38 +03:00

30 lines
879 B
Go

package models
import "time"
type PeerNode struct {
// Basic identity
PublicKey string `json:"public_key" validate:"required"` // WireGuard/SS public key
// Network information
Endpoint string `json:"endpoint"` // IP:Port or DNS
Protocol string `json:"protocol"` // "shadowsocks", "wireguard", etc
// Performance metrics
System string `json:"system"` // "linux", "windows", etc
Latency int `json:"latency"` // in milliseconds
Bandwidth int `json:"bandwidth"` // in Mbps
// Geo information
Region string `json:"region,omitempty"` // "eu-west", "us-east"
Country string `json:"country,omitempty"` // 2-letter ISO code
// System stats
Uptime float64 `json:"uptime"` // 0.0-1.0 percentage
Load float64 `json:"load"` // 5-min system load avg
// Timestamps
LastSeen time.Time `json:"last_seen"`
FirstSeen time.Time `json:"first_seen"`
}