Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/tailscale/tailcat
/ functions
Functions
179 in github.com/tailscale/tailcat
⨍
Functions
179
◇
Types & classes
21
↓ 1 callers
Function
fetchWasm
()
web/app.js:95
↓ 1 callers
Function
findChromium
()
web/wasm_test.go:73
↓ 1 callers
Function
findRegionIDFromSubstring
or returns 0 on no match
cmd/tailcat/tailcat.go:1167
↓ 1 callers
Function
genKey
()
cmd/tailcat/tailcat.go:981
↓ 1 callers
Function
getHostKeys
getHostKeys returns the SSH host key signers, generating an ed25519 key in ~/.config/tailcat/ssh/ if one doesn't exist.
tailcat_ssh.go:315
↓ 1 callers
Function
hashSink
(conn)
web/app.js:240
↓ 1 callers
Function
hex
(digest)
web/app.js:58
↓ 1 callers
Function
hostKeyFileOrCreate
(keyDir string)
tailcat_ssh.go:349
↓ 1 callers
Method
initLocked
initLocked builds the client's network stack (WireGuard engine and netstack) on first use, with defaults for unset config fields. It does no network a
tailcat.go:1463
↓ 1 callers
Function
loginShell
loginShell returns the user's login shell.
tailcat_ssh.go:289
↓ 1 callers
Function
nodeHasAddr
nodeHasAddr reports whether ip is one of n's tailcat addresses.
tailcat.go:1149
↓ 1 callers
Function
nodePublicAsDiscoPublic
nodePublicAsDiscoPublic converts a NodePublic to a DiscoPublic by reusing the same raw key bytes. This is used in tailcat where the server's node publ
tailcat.go:1838
↓ 1 callers
Method
onMeow
onMeow handles a MeowPing from the client with node key src and disco key discoPub, adding it as a WireGuard peer. It reports whether the client is al
tailcat.go:1260
↓ 1 callers
Function
parsePortSet
(s string)
cmd/tailcat/tailcat.go:865
↓ 1 callers
Function
pickDERPMapURL
()
web/app.js:21
↓ 1 callers
Method
ping
ping sends a single meow ping and waits for the meowed ack. The client must be started.
tailcat.go:1660
↓ 1 callers
Function
pingUntil
pingUntil retries the meow/meowed handshake until it succeeds or ctx expires. The first pings can be lost while either side's DERP connection is still
web/main_js.go:185
↓ 1 callers
Function
portRanges
portRanges coalesces the ascending-sorted ports into contiguous port ranges.
cmd/tailcat/tailcat.go:922
↓ 1 callers
Function
receiveText
(conn, li, progress)
web/app.js:205
↓ 1 callers
Function
renumberRegion
renumberRegion returns a copy of dm with its single region 1 renumbered to newID. Tests pass an arbitrary ID (at most the DERP maximum of 999) so that
web/wasm_test.go:120
↓ 1 callers
Function
runDevDERP
(logf logger.Logf)
cmd/tailcat/tailcat.go:933
↓ 1 callers
Function
runWithPTY
runWithPTY runs cmd attached to a pseudo-terminal.
tailcat_ssh.go:110
↓ 1 callers
Function
runWithPipes
runWithPipes runs cmd with stdin/stdout/stderr pipes (no PTY).
tailcat_ssh.go:207
↓ 1 callers
Function
sendStream
(addr, size, readChunk, progressEl)
web/app.js:264
↓ 1 callers
Function
server
(logf logger.Logf)
cmd/tailcat/tailcat.go:674
↓ 1 callers
Function
setupSSHEnv
(t *testing.T)
tailcat_ssh_test.go:29
↓ 1 callers
Method
sshClient
sshClient dials the server's SSH port and returns a connected gossh.Client.
tailcat_ssh_test.go:62
↓ 1 callers
Function
sshKeyDir
()
tailcat_ssh.go:331
↓ 1 callers
Function
startListener
()
web/app.js:136
↓ 1 callers
Function
tailcatDial
tailcatDial connects to a tailcat server and dials one TCP stream over the tunnel. It takes one options object argument: { addr: string, /
web/main_js.go:136
↓ 1 callers
Function
tailcatListen
tailcatListen starts a tailcat server in the browser. It takes one options object argument: { derpMapURL: string, // absolute URL of the JS
web/main_js.go:55
↓ 1 callers
Function
tcpipStackOf
tcpipStackOf returns ns's unexported gVisor *stack.Stack. TODO(bradfitz): add an exported accessor to wgengine/netstack.Impl upstream and delete this
tailcat.go:584
↓ 1 callers
Function
versionString
versionString returns the version set at release build time, falling back to the module version from the Go build info.
cmd/tailcat/tailcat.go:186
Method
Close
()
tailcat.go:248
Method
Get
(url string)
tailcat.go:823
Method
Get
(url string)
cmd/tailcat/tailcat.go:328
Method
HandleTailscaleSSHConn
(c net.Conn)
tailcat_ssh_stub.go:16
Method
HandleTailscaleSSHConn
HandleTailscaleSSHConn handles an incoming TCP connection as an SSH session. Authentication is not required — the WireGuard tunnel provides identity.
tailcat_ssh.go:46
Method
MarshalBinary
MarshalBinary implements encoding.BinaryMarshaler for CBOR serialization, encoding the raw 32-byte key without the "nodekey:" text prefix.
tailcat.go:171
Function
NewClient
NewClient returns a client that will connect to the server identified by the given token. It is shorthand for &Client{Server: server}; see [Client] fo
tailcat.go:1455
Function
PickBestRegion
PickBestRegion is a stub for js/wasm, where netcheck's STUN probes are unavailable (browsers can't send raw UDP). It always returns 0, which makes [Co
pickregion_js.go:19
Method
Put
(url string, data []byte, etag string)
tailcat.go:830
Method
Put
(url string, data []byte, etag string)
cmd/tailcat/tailcat.go:347
Method
Start
()
tailcat.go:1161
Method
Status
()
tailcat.go:1322
Function
SupportsSSHServer
SupportsSSHServer reports whether the platform supports running the built-in auth-free SSH server.
tailcat_ssh.go:36
Function
TestBrowserReceives
TestBrowserReceives has the browser listen and a Go tailcat client send it random bytes, netcat style, verifying the browser received exactly what was
web/wasm_test.go:224
Function
TestBrowserReceivesTextUI
TestBrowserReceivesTextUI has the browser listen with the regular interface (not the test-mode hash sink), sends it text from a Go tailcat client, cli
web/wasm_test.go:466
Function
TestBrowserSends
TestBrowserSends has a Go tailcat server listen and the browser dial it and send random bytes, verifying the server received exactly what the browser
web/wasm_test.go:322
Function
TestBrowserSendsTextUI
TestBrowserSendsTextUI drives the send form like a user: it types an address and a message into the page, clicks "Send text", and verifies a Go tailca
web/wasm_test.go:404
Function
TestClassifySOCKSAddr
(t *testing.T)
cmd/tailcat/socks_test.go:25
Function
TestConnBlob
(t *testing.T)
tailcat_test.go:284
Function
TestFetchDERPMapMemoryCache
TestFetchDERPMapMemoryCache verifies the default in-memory DERP map cache: a second fetch of the same URL within the freshness window makes no network
tailcat_test.go:428
Function
TestHalfClose
TestHalfClose tests that a client's write shutdown (CloseWrite) propagates through the server's TCP proxying as a half-close rather than tearing down
tailcat_test.go:120
Function
TestHandler
(t *testing.T)
webdemo/webdemo_test.go:34
Function
TestHandlerIncompleteDist
(t *testing.T)
webdemo/webdemo_test.go:26
Function
TestNormalizeListenAddrPort
(t *testing.T)
cmd/tailcat/socks_test.go:226
Function
TestPipeMode
TestPipeMode runs the built tailcat binary in its two stdin/stdout pipe modes against a local DERP server, emulating a pipeline like "tailcat | tar -z
cmd/tailcat/pipe_test.go:30
Function
TestSOCKSClientKey
TestSOCKSClientKey verifies that "tailcat socks" presents the --key client identity rather than a fresh ephemeral node key, by connecting to a server
cmd/tailcat/socks_test.go:155
Function
TestSSHDestHost
(t *testing.T)
cmd/tailcat/ssh_test.go:37
Function
TestSSHProxyCommandDERPMap
(t *testing.T)
cmd/tailcat/ssh_test.go:15
Function
TestSSHSuite
(t *testing.T)
tailcat_ssh_test.go:83
Function
TestServerCloseClosesActiveConnections
(t *testing.T)
tailcat_test.go:219
Function
TestTailcat
(t *testing.T)
tailcat_test.go:38
Function
TestWireFieldNames
TestWireFieldNames verifies that every field of every wire type has a CBOR field name matching wireFieldNames, so that the same Go field name always g
wire_test.go:43
Function
TestWireRegionRoundTrip
TestWireRegionRoundTrip tests the mapping between the upstream tailcfg DERP types (as fetched from the control plane's DERP map) and tailcat's wire ty
wire_test.go:84
Method
UnmarshalBinary
UnmarshalBinary implements encoding.BinaryUnmarshaler for CBOR deserialization.
tailcat.go:176
Function
clientSSHMode
(logf logger.Logf)
cmd/tailcat/ssh_stub.go:16
Function
lookupNetIP
lookupNetIP resolves host using the local resolver, for [classifySOCKSAddr].
cmd/tailcat/tailcat.go:596
Function
main
()
cmd/tailcat/tailcat.go:196
Function
main
()
cmd/tailcat-webdist/tailcat-webdist.go:25
Function
main
()
cmd/tailcat-web/tailcat-web.go:31
Function
main
()
web/main_js.go:28
Function
onConnection
(conn)
web/app.js:157
Method
onEngineStatus
onEngineStatus is the wgengine status callback. It watches for changes to our magicsock UDP endpoints (learned via STUN and from local interfaces) and
tailcat.go:1083
Method
peerAllowedIPs
peerAllowedIPs returns the prefixes that the peer with public key k is allowed to originate traffic from. It is the engine's per-peer WireGuard config
tailcat.go:1020
Method
peerForIP
peerForIP is the [wgengine.Engine.SetPeerForIPFunc] callback, mapping a tailcat IPv6 address to its node in the network map. The engine uses it to fin
tailcat.go:1059
Function
sessionHandler
sessionHandler handles a single SSH session (shell or exec).
tailcat_ssh.go:67
Function
transform
(chunk, controller)
web/app.js:74
← previous
101–179 of 179, ranked by callers