Files
sing-box-extended-mirror/adapter/tailscale.go
T

67 lines
1.5 KiB
Go
Raw Normal View History

2026-04-09 19:34:27 +08:00
package adapter
import "context"
2026-04-10 09:24:42 +08:00
type TailscaleEndpoint interface {
2026-04-09 19:34:27 +08:00
SubscribeTailscaleStatus(ctx context.Context, fn func(*TailscaleEndpointStatus)) error
2026-04-10 09:24:42 +08:00
StartTailscalePing(ctx context.Context, peerIP string, fn func(*TailscalePingResult)) error
2026-05-21 12:37:15 +08:00
SetTailscaleExitNode(ctx context.Context, stableID string) error
Logout(ctx context.Context) error
2026-04-10 09:24:42 +08:00
}
type TailscalePingResult struct {
LatencyMs float64
IsDirect bool
Endpoint string
DERPRegionID int32
DERPRegionCode string
Error string
2026-04-09 19:34:27 +08:00
}
type TailscaleEndpointStatus struct {
BackendState string
AuthURL string
NetworkName string
MagicDNSSuffix string
Self *TailscalePeer
2026-05-21 12:37:15 +08:00
ExitNode *TailscalePeer
2026-04-10 09:24:42 +08:00
UserGroups []*TailscaleUserGroup
KeyAuth bool
2026-04-10 09:24:42 +08:00
}
type TailscaleUserGroup struct {
UserID int64
LoginName string
DisplayName string
ProfilePicURL string
Peers []*TailscalePeer
2026-04-09 19:34:27 +08:00
}
type TailscalePeer struct {
2026-05-21 12:37:15 +08:00
StableID string
2026-04-09 19:34:27 +08:00
HostName string
DNSName string
OS string
TailscaleIPs []string
2026-05-21 14:20:48 +08:00
SSHHostKeys []string
2026-04-09 19:34:27 +08:00
Online bool
ExitNode bool
ExitNodeOption bool
2026-05-21 14:20:48 +08:00
ShareeNode bool
Expired bool
2026-04-09 19:34:27 +08:00
Active bool
RxBytes int64
TxBytes int64
UserID int64
KeyExpiry int64
2026-05-21 14:20:48 +08:00
LastSeen int64
2026-04-09 19:34:27 +08:00
}
2026-05-28 18:42:58 +08:00
type ShellSession interface {
MasterFD() int32
Resize(rows int32, cols int32) error
Signal(signal int32) error
WaitExit() (int32, error)
Close() error
}