Documentation ¶
Index ¶
- Constants
- Variables
- type ClientAuth
- type HostInfo
- type Logf
- type Overlay
- type Receive
- func (r *Receive) ClientAuth() *ClientAuth
- func (r *Receive) IPs() []netip.Addr
- func (r *Receive) ListenOverlayDERP(ctx context.Context) error
- func (r *Receive) ListenOverlaySTUN(ctx context.Context) (<-chan struct{}, error)
- func (r *Receive) PickDERPHome(ctx context.Context) error
- func (r *Receive) Recv() <-chan *tailcfg.Node
- func (r *Receive) SendTailscaleNodeUpdate(node *tailcfg.Node)
- type RtcFileMetadata
- type RtcMetadata
- type Send
Constants ¶
View Source
const ( RtcMetadataTypeFileMetadata = "file_metadata" RtcMetadataTypeFileComplete = "file_complete" RtcMetadataTypeFileAck = "file_ack" )
Variables ¶
View Source
var TailscaleServicePrefix6 = [6]byte{0xfd, 0x7a, 0x11, 0x5c, 0xa1, 0xe0}
Functions ¶
This section is empty.
Types ¶
type ClientAuth ¶
type ClientAuth struct { Web bool // OverlayPrivateKey is the main auth mechanism used to secure the overlay. // Peers are sent this private key to encrypt node communication to the // receiver. Leaking this private key would allow anyone to connect. OverlayPrivateKey key.NodePrivate // ReceiverPublicKey is the public key of the receiver. Node messages are // encrypted to this public key. ReceiverPublicKey key.NodePublic // ReceiverStunAddr is the address that the receiver is reachable over UDP // when the overlay is running in P2P mode. ReceiverStunAddr netip.AddrPort // ReceiverDERPRegionID is the region id that the receiver is reachable over // DERP when the overlay is running in DERP mode. ReceiverDERPRegionID uint16 }
func (*ClientAuth) AuthKey ¶
func (ca *ClientAuth) AuthKey() string
func (*ClientAuth) Parse ¶
func (ca *ClientAuth) Parse(authKey string) error
func (*ClientAuth) PrintDebug ¶ added in v0.0.6
func (ca *ClientAuth) PrintDebug(logf func(str string, args ...any), dm *tailcfg.DERPMap)
type Overlay ¶
type Overlay interface { // listenOverlay(ctx context.Context, kind string) error Recv() <-chan *tailcfg.Node SendTailscaleNodeUpdate(node *tailcfg.Node) IPs() []netip.Addr }
Overlay specifies the mechanism by which senders and receivers exchange Tailscale nodes over a sidechannel.
type Receive ¶
type Receive struct { Logger *slog.Logger HumanLogf Logf DerpMap *tailcfg.DERPMap // SelfPriv is the private key that peers will encrypt overlay messages to. // The public key of this is sent in the auth key. SelfPriv key.NodePrivate // PeerPriv is the main auth mechanism used to secure the overlay. Peers are // sent this private key to encrypt node communication. Leaking this private // key would allow anyone to connect. PeerPriv key.NodePrivate // contains filtered or unexported fields }
func NewReceiveOverlay ¶
func (*Receive) ClientAuth ¶
func (r *Receive) ClientAuth() *ClientAuth
func (*Receive) ListenOverlaySTUN ¶
func (*Receive) SendTailscaleNodeUpdate ¶ added in v0.4.0
type RtcFileMetadata ¶ added in v0.4.0
type RtcMetadata ¶ added in v0.4.0
type RtcMetadata struct { Type string `json:"type"` FileMetadata RtcFileMetadata `json:"fileMetadata"` }
Click to show internal directories.
Click to hide internal directories.