Versions in this module Expand all Collapse all v1 v1.33.0 Aug 7, 2022 v1.32.0 Aug 7, 2022 v1.31.0 Aug 7, 2022 v1.30.0 Aug 7, 2022 v1.29.0 Aug 7, 2022 Changes in this version + const CapabilityAdmin + const CapabilityDebugPeer + const CapabilityFileSharing + const CapabilityFileSharingSend + const CapabilityFileSharingTarget + const CapabilitySSH + const CapabilitySSHRuleIn + const CapabilityWakeOnLAN + const DerpMagicIP + const EndpointLocal + const EndpointPortmapped + const EndpointSTUN + const EndpointSTUN4LocalPort + const EndpointUnknownType + const MachineAuthorized + const MachineInvalid + const MachineUnauthorized + const MachineUnknown + const PeerAPI4 + const PeerAPI6 + const PeerAPIDNS + const SignatureNone + const SignatureUnknown + const SignatureV1 + const SignatureV2 + const TCP + const UDP + var FilterAllowAll = []FilterRule + var PortRangeAny = PortRange + func CheckTag(tag string) error + func Clone(dst, src any) bool + type CapGrant struct + Caps []string + Dsts []netip.Prefix + type CapabilityVersion int + const CurrentCapabilityVersion + type DERPMap struct + OmitDefaultRegions bool + Regions map[int]*DERPRegion + func (m *DERPMap) RegionIDs() []int + func (p *DERPMap) View() DERPMapView + func (src *DERPMap) Clone() *DERPMap + type DERPMapView struct + func (v *DERPMapView) UnmarshalJSON(b []byte) error + func (v DERPMapView) AsStruct() *DERPMap + func (v DERPMapView) MarshalJSON() ([]byte, error) + func (v DERPMapView) OmitDefaultRegions() bool + func (v DERPMapView) Regions() views.MapFn[int, *DERPRegion, DERPRegionView] + func (v DERPMapView) Valid() bool + type DERPNode struct + CertName string + DERPPort int + HostName string + IPv4 string + IPv6 string + InsecureForTests bool + Name string + RegionID int + STUNOnly bool + STUNPort int + STUNTestIP string + func (p *DERPNode) View() DERPNodeView + func (src *DERPNode) Clone() *DERPNode + type DERPNodeView struct + func (v *DERPNodeView) UnmarshalJSON(b []byte) error + func (v DERPNodeView) AsStruct() *DERPNode + func (v DERPNodeView) CertName() string + func (v DERPNodeView) DERPPort() int + func (v DERPNodeView) HostName() string + func (v DERPNodeView) IPv4() string + func (v DERPNodeView) IPv6() string + func (v DERPNodeView) InsecureForTests() bool + func (v DERPNodeView) MarshalJSON() ([]byte, error) + func (v DERPNodeView) Name() string + func (v DERPNodeView) RegionID() int + func (v DERPNodeView) STUNOnly() bool + func (v DERPNodeView) STUNPort() int + func (v DERPNodeView) STUNTestIP() string + func (v DERPNodeView) Valid() bool + type DERPRegion struct + Avoid bool + Nodes []*DERPNode + RegionCode string + RegionID int + RegionName string + func (p *DERPRegion) View() DERPRegionView + func (src *DERPRegion) Clone() *DERPRegion + type DERPRegionView struct + func (v *DERPRegionView) UnmarshalJSON(b []byte) error + func (v DERPRegionView) AsStruct() *DERPRegion + func (v DERPRegionView) Avoid() bool + func (v DERPRegionView) MarshalJSON() ([]byte, error) + func (v DERPRegionView) Nodes() views.SliceView[*DERPNode, DERPNodeView] + func (v DERPRegionView) RegionCode() string + func (v DERPRegionView) RegionID() int + func (v DERPRegionView) RegionName() string + func (v DERPRegionView) Valid() bool + type DNSConfig struct + CertDomains []string + Domains []string + ExitNodeFilteredSet []string + ExtraRecords []DNSRecord + FallbackResolvers []*dnstype.Resolver + Nameservers []netip.Addr + PerDomain bool + Proxied bool + Resolvers []*dnstype.Resolver + Routes map[string][]*dnstype.Resolver + func (p *DNSConfig) View() DNSConfigView + func (src *DNSConfig) Clone() *DNSConfig + type DNSConfigView struct + func (v *DNSConfigView) UnmarshalJSON(b []byte) error + func (v DNSConfigView) AsStruct() *DNSConfig + func (v DNSConfigView) CertDomains() views.Slice[string] + func (v DNSConfigView) Domains() views.Slice[string] + func (v DNSConfigView) ExitNodeFilteredSet() views.Slice[string] + func (v DNSConfigView) ExtraRecords() views.Slice[DNSRecord] + func (v DNSConfigView) FallbackResolvers() views.SliceView[*dnstype.Resolver, dnstype.ResolverView] + func (v DNSConfigView) MarshalJSON() ([]byte, error) + func (v DNSConfigView) Nameservers() views.Slice[netip.Addr] + func (v DNSConfigView) PerDomain() bool + func (v DNSConfigView) Proxied() bool + func (v DNSConfigView) Resolvers() views.SliceView[*dnstype.Resolver, dnstype.ResolverView] + func (v DNSConfigView) Routes() ... + func (v DNSConfigView) Valid() bool + type DNSRecord struct + Name string + Type string + Value string + type Debug struct + DERPRoute opt.Bool + DisableLogTail bool + DisableSubnetsIfPAC opt.Bool + DisableUPnP opt.Bool + Exit *int + ForceBackgroundSTUN bool + GoroutineDumpURL string + LogHeapPprof bool + LogHeapURL string + OneCGNATRoute opt.Bool + RandomizeClientPort bool + SleepSeconds float64 + TrimWGConfig opt.Bool + type Endpoint struct + Addr netip.AddrPort + Type EndpointType + type EndpointType int + func (et EndpointType) String() string + type FilterRule struct + CapGrant []CapGrant + DstPorts []NetPortRange + IPProto []int + SrcBits []int + SrcIPs []string + type Hostinfo struct + BackendLogID string + Cloud string + Desktop opt.Bool + DeviceModel string + FrontendLogID string + GoArch string + Hostname string + IPNVersion string + NetInfo *NetInfo + OS string + OSVersion string + Package string + RequestTags []string + RoutableIPs []netip.Prefix + SSH_HostKeys []string + Services []Service + ShareeNode bool + ShieldsUp bool + func (h *Hostinfo) CheckRequestTags() error + func (h *Hostinfo) Equal(h2 *Hostinfo) bool + func (h *Hostinfo) HowUnequal(h2 *Hostinfo) (path []string) + func (hi *Hostinfo) TailscaleSSHEnabled() bool + func (p *Hostinfo) View() HostinfoView + func (src *Hostinfo) Clone() *Hostinfo + type HostinfoView struct + func (v *HostinfoView) UnmarshalJSON(b []byte) error + func (v HostinfoView) AsStruct() *Hostinfo + func (v HostinfoView) BackendLogID() string + func (v HostinfoView) Cloud() string + func (v HostinfoView) Desktop() opt.Bool + func (v HostinfoView) DeviceModel() string + func (v HostinfoView) Equal(v2 HostinfoView) bool + func (v HostinfoView) FrontendLogID() string + func (v HostinfoView) GoArch() string + func (v HostinfoView) Hostname() string + func (v HostinfoView) IPNVersion() string + func (v HostinfoView) MarshalJSON() ([]byte, error) + func (v HostinfoView) NetInfo() NetInfoView + func (v HostinfoView) OS() string + func (v HostinfoView) OSVersion() string + func (v HostinfoView) Package() string + func (v HostinfoView) RequestTags() views.Slice[string] + func (v HostinfoView) RoutableIPs() views.IPPrefixSlice + func (v HostinfoView) SSH_HostKeys() views.Slice[string] + func (v HostinfoView) Services() views.Slice[Service] + func (v HostinfoView) ShareeNode() bool + func (v HostinfoView) ShieldsUp() bool + func (v HostinfoView) TailscaleSSHEnabled() bool + func (v HostinfoView) Valid() bool + type ID int64 + func (id ID) String() string + type Login struct + DisplayName string + Domain string + ID LoginID + LoginName string + ProfilePicURL string + Provider string + func (p *Login) View() LoginView + func (src *Login) Clone() *Login + type LoginID ID + func (id LoginID) String() string + func (u LoginID) IsZero() bool + type LoginView struct + func (v *LoginView) UnmarshalJSON(b []byte) error + func (v LoginView) AsStruct() *Login + func (v LoginView) DisplayName() string + func (v LoginView) Domain() string + func (v LoginView) ID() LoginID + func (v LoginView) LoginName() string + func (v LoginView) MarshalJSON() ([]byte, error) + func (v LoginView) ProfilePicURL() string + func (v LoginView) Provider() string + func (v LoginView) Valid() bool + type MachineStatus int + func (m *MachineStatus) UnmarshalText(b []byte) error + func (m MachineStatus) MarshalText() ([]byte, error) + func (m MachineStatus) String() string + type MapRequest struct + Compress string + DebugFlags []string + DiscoKey key.DiscoPublic + EndpointTypes []EndpointType + Endpoints []string + Hostinfo *Hostinfo + IncludeIPv6 bool + KeepAlive bool + NodeKey key.NodePublic + OmitPeers bool + ReadOnly bool + Stream bool + Version CapabilityVersion + type MapResponse struct + CollectServices opt.Bool + ControlTime *time.Time + DERPMap *DERPMap + DNSConfig *DNSConfig + Debug *Debug + Domain string + Health []string + KeepAlive bool + Node *Node + OnlineChange map[NodeID]bool + PacketFilter []FilterRule + PeerSeenChange map[NodeID]bool + Peers []*Node + PeersChanged []*Node + PeersChangedPatch []*PeerChange + PeersRemoved []NodeID + PingRequest *PingRequest + PopBrowserURL string + SSHPolicy *SSHPolicy + UserProfiles []UserProfile + type NetInfo struct + DERPLatency map[string]float64 + HairPinning opt.Bool + HavePortMap bool + LinkType string + MappingVariesByDestIP opt.Bool + OSHasIPv6 opt.Bool + PCP opt.Bool + PMP opt.Bool + PreferredDERP int + UPnP opt.Bool + WorkingICMPv4 opt.Bool + WorkingIPv6 opt.Bool + WorkingUDP opt.Bool + func (ni *NetInfo) BasicallyEqual(ni2 *NetInfo) bool + func (ni *NetInfo) String() string + func (p *NetInfo) View() NetInfoView + func (src *NetInfo) Clone() *NetInfo + type NetInfoView struct + func (v *NetInfoView) UnmarshalJSON(b []byte) error + func (v NetInfoView) AsStruct() *NetInfo + func (v NetInfoView) DERPLatency() views.Map[string, float64] + func (v NetInfoView) HairPinning() opt.Bool + func (v NetInfoView) HavePortMap() bool + func (v NetInfoView) LinkType() string + func (v NetInfoView) MappingVariesByDestIP() opt.Bool + func (v NetInfoView) MarshalJSON() ([]byte, error) + func (v NetInfoView) OSHasIPv6() opt.Bool + func (v NetInfoView) PCP() opt.Bool + func (v NetInfoView) PMP() opt.Bool + func (v NetInfoView) PreferredDERP() int + func (v NetInfoView) String() string + func (v NetInfoView) UPnP() opt.Bool + func (v NetInfoView) Valid() bool + func (v NetInfoView) WorkingICMPv4() opt.Bool + func (v NetInfoView) WorkingIPv6() opt.Bool + func (v NetInfoView) WorkingUDP() opt.Bool + type NetPortRange struct + Bits *int + IP string + Ports PortRange + type Node struct + Addresses []netip.Prefix + AllowedIPs []netip.Prefix + Capabilities []string + ComputedName string + ComputedNameWithHost string + Created time.Time + DERP string + DiscoKey key.DiscoPublic + Endpoints []string + Hostinfo HostinfoView + ID NodeID + KeepAlive bool + Key key.NodePublic + KeyExpiry time.Time + LastSeen *time.Time + Machine key.MachinePublic + MachineAuthorized bool + Name string + Online *bool + PrimaryRoutes []netip.Prefix + Sharer UserID + StableID StableNodeID + Tags []string + User UserID + func (n *Node) DisplayName(forOwner bool) string + func (n *Node) DisplayNames(forOwner bool) (name, hostIfDifferent string) + func (n *Node) Equal(n2 *Node) bool + func (n *Node) InitDisplayNames(networkMagicDNSSuffix string) + func (p *Node) View() NodeView + func (src *Node) Clone() *Node + type NodeID ID + func (id NodeID) String() string + func (u NodeID) IsZero() bool + type NodeView struct + func (v *NodeView) UnmarshalJSON(b []byte) error + func (v NodeView) Addresses() views.IPPrefixSlice + func (v NodeView) AllowedIPs() views.IPPrefixSlice + func (v NodeView) AsStruct() *Node + func (v NodeView) Capabilities() views.Slice[string] + func (v NodeView) ComputedName() string + func (v NodeView) ComputedNameWithHost() string + func (v NodeView) Created() time.Time + func (v NodeView) DERP() string + func (v NodeView) DiscoKey() key.DiscoPublic + func (v NodeView) Endpoints() views.Slice[string] + func (v NodeView) Equal(v2 NodeView) bool + func (v NodeView) Hostinfo() HostinfoView + func (v NodeView) ID() NodeID + func (v NodeView) KeepAlive() bool + func (v NodeView) Key() key.NodePublic + func (v NodeView) KeyExpiry() time.Time + func (v NodeView) LastSeen() *time.Time + func (v NodeView) Machine() key.MachinePublic + func (v NodeView) MachineAuthorized() bool + func (v NodeView) MarshalJSON() ([]byte, error) + func (v NodeView) Name() string + func (v NodeView) Online() *bool + func (v NodeView) PrimaryRoutes() views.IPPrefixSlice + func (v NodeView) Sharer() UserID + func (v NodeView) StableID() StableNodeID + func (v NodeView) Tags() views.Slice[string] + func (v NodeView) User() UserID + func (v NodeView) Valid() bool + type Oauth2Token struct + AccessToken string + Expiry time.Time + RefreshToken string + TokenType string + type OverTLSPublicKeyResponse struct + LegacyPublicKey key.MachinePublic + PublicKey key.MachinePublic + type PeerChange struct + Capabilities *[]string + DERPRegion int + DiscoKey *key.DiscoPublic + Endpoints []string + Key *key.NodePublic + KeyExpiry *time.Time + LastSeen *time.Time + NodeID NodeID + Online *bool + type PingRequest struct + IP netip.Addr + Log bool + Types string + URL string + type PingResponse struct + DERPRegionCode string + DERPRegionID int + Endpoint string + Err string + IP string + IsLocalIP bool + LatencySeconds float64 + NodeIP string + NodeName string + PeerAPIPort uint16 + Type PingType + type PingType string + const PingDisco + const PingICMP + const PingPeerAPI + const PingTSMP + type PortRange struct + First uint16 + Last uint16 + type RegisterRequest struct + Auth struct{ ... } + DeviceCert []byte + Ephemeral bool + Expiry time.Time + Followup string + Hostinfo *Hostinfo + NLKey key.NLPublic + NodeKey key.NodePublic + OldNodeKey key.NodePublic + Signature []byte + SignatureType SignatureType + Timestamp *time.Time + Version CapabilityVersion + func (req *RegisterRequest) Clone() *RegisterRequest + type RegisterResponse struct + AuthURL string + Error string + Login Login + MachineAuthorized bool + NodeKeyExpired bool + User User + func (p *RegisterResponse) View() RegisterResponseView + func (src *RegisterResponse) Clone() *RegisterResponse + type RegisterResponseView struct + func (v *RegisterResponseView) UnmarshalJSON(b []byte) error + func (v RegisterResponseView) AsStruct() *RegisterResponse + func (v RegisterResponseView) AuthURL() string + func (v RegisterResponseView) Error() string + func (v RegisterResponseView) Login() Login + func (v RegisterResponseView) MachineAuthorized() bool + func (v RegisterResponseView) MarshalJSON() ([]byte, error) + func (v RegisterResponseView) NodeKeyExpired() bool + func (v RegisterResponseView) User() UserView + func (v RegisterResponseView) Valid() bool + type SSHAction struct + Accept bool + AllowAgentForwarding bool + AllowLocalPortForwarding bool + HoldAndDelegate string + Message string + Reject bool + SessionDuration time.Duration + type SSHPolicy struct + Rules []*SSHRule + type SSHPrincipal struct + Any bool + Node StableNodeID + NodeIP string + PubKeys []string + UserLogin string + func (p *SSHPrincipal) View() SSHPrincipalView + func (src *SSHPrincipal) Clone() *SSHPrincipal + type SSHPrincipalView struct + func (v *SSHPrincipalView) UnmarshalJSON(b []byte) error + func (v SSHPrincipalView) Any() bool + func (v SSHPrincipalView) AsStruct() *SSHPrincipal + func (v SSHPrincipalView) MarshalJSON() ([]byte, error) + func (v SSHPrincipalView) Node() StableNodeID + func (v SSHPrincipalView) NodeIP() string + func (v SSHPrincipalView) PubKeys() views.Slice[string] + func (v SSHPrincipalView) UserLogin() string + func (v SSHPrincipalView) Valid() bool + type SSHRule struct + Action *SSHAction + Principals []*SSHPrincipal + RuleExpires *time.Time + SSHUsers map[string]string + func (p *SSHRule) View() SSHRuleView + func (src *SSHRule) Clone() *SSHRule + type SSHRuleView struct + func (v *SSHRuleView) UnmarshalJSON(b []byte) error + func (v SSHRuleView) Action() *SSHAction + func (v SSHRuleView) AsStruct() *SSHRule + func (v SSHRuleView) MarshalJSON() ([]byte, error) + func (v SSHRuleView) Principals() views.SliceView[*SSHPrincipal, SSHPrincipalView] + func (v SSHRuleView) RuleExpires() *time.Time + func (v SSHRuleView) SSHUsers() views.Map[string, string] + func (v SSHRuleView) Valid() bool + type Service struct + Description string + Port uint16 + Proto ServiceProto + type ServiceProto string + type SetDNSRequest struct + Name string + NodeKey key.NodePublic + Type string + Value string + Version CapabilityVersion + type SetDNSResponse struct + type SignatureType int + func (st *SignatureType) UnmarshalText(b []byte) error + func (st SignatureType) MarshalText() ([]byte, error) + func (st SignatureType) String() string + type StableID string + type StableNodeID StableID + func (u StableNodeID) IsZero() bool + type TokenRequest struct + Audience string + CapVersion CapabilityVersion + NodeKey key.NodePublic + type TokenResponse struct + IDToken string + type User struct + Created time.Time + DisplayName string + Domain string + ID UserID + LoginName string + Logins []LoginID + ProfilePicURL string + func (p *User) View() UserView + func (src *User) Clone() *User + type UserID ID + func (id UserID) String() string + func (u UserID) IsZero() bool + type UserProfile struct + DisplayName string + ID UserID + LoginName string + ProfilePicURL string + Roles emptyStructJSONSlice + type UserView struct + func (v *UserView) UnmarshalJSON(b []byte) error + func (v UserView) AsStruct() *User + func (v UserView) Created() time.Time + func (v UserView) DisplayName() string + func (v UserView) Domain() string + func (v UserView) ID() UserID + func (v UserView) LoginName() string + func (v UserView) Logins() views.Slice[LoginID] + func (v UserView) MarshalJSON() ([]byte, error) + func (v UserView) ProfilePicURL() string + func (v UserView) Valid() bool