Files
Sanaei f727d04f65
Release 3X-UI for Docker / build (push) Canceled after 0s
Release 3X-UI / build (386) (push) Canceled after 0s
Release 3X-UI / build (amd64) (push) Canceled after 0s
Release 3X-UI / build (arm64) (push) Canceled after 0s
Release 3X-UI / build (armv5) (push) Canceled after 0s
Release 3X-UI / build (armv6) (push) Canceled after 0s
Release 3X-UI / build (armv7) (push) Canceled after 0s
Release 3X-UI / build (s390x) (push) Canceled after 0s
Release 3X-UI / Build for Windows (amd64) (push) Canceled after 0s
Release 3X-UI / Publish rolling dev release (push) Canceled after 0s
v3.7.0
2026-08-24 15:07:15 +02:00

44 lines
826 B
Go

// Package pia is a standalone PIA WireGuard control-plane client.
package pia
import (
"context"
"net/netip"
"time"
)
type Region struct {
ID string
Name string
CountryCode string
Geo bool
PortForwarding bool
WireGuard []WireGuardServer
}
type WireGuardServer struct {
Hostname string
IP netip.Addr
}
type Token struct {
Value []byte
ExpiresAt time.Time
}
type Registration struct {
PeerIP netip.Prefix
ServerKey string
ServerIP netip.Addr
ServerPort uint16
DNSServers []netip.Addr
}
type Authenticator interface {
Authenticate(ctx context.Context, username string, password []byte) (Token, error)
}
type Registrar interface {
RegisterKey(ctx context.Context, server WireGuardServer, token string, publicKey string) (Registration, error)
}