- Escape HTML in client list and wake-on-LAN names to prevent XSS - Log successful/failed login attempts with remote address - Fix leading-comma bug in AllowedIPs template when only extra allowed IPs are set - Add PreUp script support for server interfaces (alongside existing PostUp/PreDown/PostDown) - Fix endpoint parsing to support IPv6 addresses (upstream PR #223) Cherry-picked from upstream PRs #656, #653, #680, #673, #223. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
33 lines
867 B
Go
33 lines
867 B
Go
package model
|
|
|
|
import (
|
|
"time"
|
|
)
|
|
|
|
// Server model
|
|
type Server struct {
|
|
ID string `json:"id,omitempty"`
|
|
Name string `json:"name,omitempty"`
|
|
KeyPair *ServerKeypair
|
|
Interface *ServerInterface
|
|
}
|
|
|
|
// ServerKeypair model
|
|
type ServerKeypair struct {
|
|
PrivateKey string `json:"private_key"`
|
|
PublicKey string `json:"public_key"`
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
}
|
|
|
|
// ServerInterface model
|
|
type ServerInterface struct {
|
|
Name string `json:"name,omitempty"` // OS interface name, e.g. wg0
|
|
Addresses []string `json:"addresses"`
|
|
ListenPort int `json:"listen_port,string"` // ,string to get listen_port string input as int
|
|
UpdatedAt time.Time `json:"updated_at"`
|
|
PreUp string `json:"pre_up"`
|
|
PostUp string `json:"post_up"`
|
|
PreDown string `json:"pre_down"`
|
|
PostDown string `json:"post_down"`
|
|
}
|