| Branch | Commit message | Author | Age |
| 13685-low-memory-mode-in-logtail-may-no-longer-be-needed | logtail: remove LowMemory mode | Andrea Gottardo | 20 months |
| 13765-taildrive-server-unexpectedly-starts-on-apple-tv | drive/driveimpl: do not serve WebDAV on tvOS | Andrea Gottardo | 20 months |
| 22332-macos-sequoia-hostname | hostinfo: use Foundation APIs to get hostname on macOS | Andrea Gottardo | 22 months |
| Aadi/speedtest-tailscaled | net/dns/resolver: use forwarded dns txid directly | Adrian Dewhurst | 5 years |
| Xe/TS-envvar-name | Update logpolicy.go | Christine Dodrill | 5 years |
| Xe/debug-nixos-build | debug nixos build | Christine Dodrill | 5 years |
| Xe/derphttp-panic-fix | net/tshttpproxy: support basic auth when available | Christine Dodrill | 5 years |
| Xe/disallow-local-ip-for-exit-node | cmd/tailscale/cli: don't permit setting self IP as exit node | Christine Dodrill | 5 years |
| Xe/do-windows-logserver-better | ipn: use LogServer pref | Christine Dodrill | 5 years |
| Xe/envvar-name-TS | logpolicy: rename target env var to TS_LOG_TARGET | Christine Dodrill | 5 years |
| Xe/gitops-pusher-acl-test-error-output | cmd/gitops-pusher: fix minor bug with ACL tests | Xe | 4 years |
| Xe/gitops-pusher-ffcli | cmd/gitops-pusher: fix minor bug with ACL tests | Xe | 4 years |
| Xe/gitops-pusher-three-version-problem | cmd/gitops-pusher: things i forgot to push last PR | Xe | 4 years |
| Xe/hello-vr | cmd/hello: add VR support at /vr | Christine Dodrill | 5 years |
| Xe/log-target-flag | logpolicy: shorten envvar name | Christine Dodrill | 5 years |
| Xe/log-target-registry-key | logpolicy: set log target on windows based on a registry key | Christine Dodrill | 5 years |
| Xe/private-logcatcher-in-process | tstest/integration/vms: use an in-process logcatcher | Christine Dodrill | 5 years |
| Xe/rel-144-fix-ipv6-broken-in-tests | wgengine/tsdns: skip test that requires local IPv6 when IPv6 unavailable | Brad Fitzpatrick | 5 years |
| Xe/reset-logid-on-logout-login | update depaware | Christine Dodrill | 5 years |
| Xe/synology-does-actually-work-with-subnet-routes-til | cmd/tailscale/cli: these features do actually work, at least on my synology d... | Christine Dodrill | 5 years |
| Xe/tailtlsproxy | cmd/tailtlsproxy: introduce HTTPS proxy bridge | Xe | 5 years |
| Xe/test-install-script-libvirtd | scripts/installer: support all distros and oses | Christine Dodrill | 5 years |
| Xe/testcontrol-v6 | tstest/integration/testcontrol: ipv6 support | Christine Dodrill | 5 years |
| Xe/tsnet-funnel | workarounds | Shayne Sweeney | 3 years |
| Xe/winui-bugreport-without-tailscaled | tstime/rate: deflake TestLongRunningQPS | Josh Bleecher Snyder | 4 years |
| aaron/dnsapc | Properly expose cancellation | Aaron Klotz | 5 years |
| aaron/go-ole-ref | go.mod: add replace directive to use dblohm7's fork of go-ole. | Aaron Klotz | 4 years |
| aaron/gocross | use script scope for copying args | Aaron Klotz | 10 months |
| aaron/gocross_ps1_redir | 1 | Aaron Klotz | 4 months |
| aaron/loglog | ipn/ipnserver, log/filelogger, logpolicy: when tailscaled is running as a win... | Aaron Klotz | 5 years |
| aaron/migrate_windows | ipn/ipnlocal: remove windows exception from profile migration | Aaron Klotz | 3 years |
| aaron/oss_17111 | query for connectivity | Aaron Klotz | 7 months |
| aaron/win_buildkite_go_syms | autoflags adjustments for symbol stripping | Aaron Klotz | 3 months |
| aaron/win_process_mitigations | start testing | Aaron Klotz | 3 years |
| actions/licenses | licenses: update license notices | License Updater | 9 weeks |
| adding-address-ips-totestcontrolnode | Added single node test to check Addresses and AllowedIPs | Simeng He | 5 years |
| adrian/conn25-debug | clarify transit IP log | Adrian Dewhurst | 3 months |
| adrian/conn25-dns-scheme | wip: register resolver scheme for apps | Adrian Dewhurst | 8 weeks |
| adrian/fix-vet-failures | wgengine/filter: fix go vet failures | Adrian Dewhurst | 24 months |
| adrian/stricter-labels | util/dnsname: do not allow labels starting with a digit | Adrian Dewhurst | 20 months |
| adrian/vip | wip vip | Adrian Dewhurst | 21 months |
| adrianosela/40052-distribute-services-in-nodecaps | tailcfg,types/netmap: Add (Visible) Services to SelfNode Caps | Adriano Sela Aviles | 2 months |
| adrianosela/40052-service-list-cli-cmd | cmd/tailscale: add --service flag to tailscale status | Adriano Sela Aviles | 9 weeks |
| adrianosela/corp-40648-extend-svcs-for-client-app-actions | tailcfg: extend services model for client application actions | Adriano Sela Aviles | 8 weeks |
| adrianosela/experimental-webrtc-path-in-magicsock | wgengine/magicsock: add webrtc path to magicsock (experimental) | Adriano Sela Aviles | 2 months |
| adrianosela/experimental-webrtc-path-in-magicsock-with-disco | wgengine/magicsock: add webrtc path to magicsock (experimental) | Adriano Sela Aviles | 8 weeks |
| adrianosela/issue-31178-uppercase-ssh-tests | throwaway: update dockerfile | Adriano Sela Aviles | 3 months |
| adrianosela/proxy-svc-experiment | tsnet,client,cmd/tailscale/cli: expose service details on all clients | Adriano Sela Aviles | 2 months |
| adrianosela/visible-services | tailcfg,types/netmap: visible services in netmap | Adriano Sela Aviles | 2 months |
| agottardo-patch-1 | github: update bug-report issue template | Andrea Gottardo | 24 months |
| alexbrainman/use_wg_dns_code | wgengine/router/dns: use wireguard winipcfg package | Alex Brainman | 5 years |
| alexc/better-localbackend-logging | log if/when we paused | Alex Chan | 7 months |
| alexc/mark-break-watcher-conn-recv-flaky | derp/derphttp: mark TestBreakWatcherConnRecv as flaky | Alex Chan | 9 months |
| alexc/more-testing-for-tailscale-up | tbr | Alex Chan | 9 months |
| alexc/reduce-tka-sync-skipping | tka/sync: send checkpoints to ensure far-behind nodes can catch up | Alex Chan | 2 months |
| alexc/remove-seamless-key-renewal | all: remove everything related to non-seamless key renewal | Alex Chan | 2 months |
| alexc/share-tka-tests | tka: don't look up parent/child information from purged AUMs | Alex Chan | 8 months |
| alexc/tka-dont-fetch-unneeded-bootstrap | tka: remove an unnecessary `l` variable | Alex Chan | 8 months |
| alexc/upgrade-jsonv2 | go.mod: update to the latest version of jsonv2 | Alex Chan | 5 months |
| alt | k8s-operator/sessionrecording/ws: unify Read/Write frame parsing (#19227) | Fernando Serboncini | 2 months |
| andrew/bump-esbuild | go.mod, cmd/tsconnect: bump esbuild | Andrew Dunham | 3 years |
| andrew/captive-portal-package | cmd/derper, net/netcheck: improve captive portal checks | Andrew Dunham | 3 years |
| andrew/captive-use-atomic | ipn/ipnlocal: use atomic instead of mutex for captive context | Andrew Dunham | 23 months |
| andrew/cloudenv-location | util/cloudenv: add ApproximateLocation to Cloud | Andrew Dunham | 3 years |
| andrew/context-dedup-errors | control/controlhttp, util/multierr: deduplicate context errors | Andrew Dunham | 19 months |
| andrew/control-key-store | control/controlclient: cache control key | Andrew Dunham | 2 years |
| andrew/controlclient-dial | WIP | Andrew Dunham | 4 years |
| andrew/controlclient-use-last-addr | control/controlclient: try reconnecting to last successful addr | Andrew Dunham | 2 years |
| andrew/current-time | net/{currenttime,tlsdial}: add minimum possible time for TLS | Andrew Dunham | 15 months |
| andrew/debug-integration-tests | tstest/integration: enable debug logs | Andrew Dunham | 2 years |
| andrew/debug-subnet-router | WIP | Andrew Dunham | 4 years |
| andrew/derp-bound-latency | net/netcheck, wgengine/magicsock: bound DERP latency by TCP RTT | Andrew Dunham | 3 years |
| andrew/disco-af-packet-refactor | fixup! wgengine/magicsock: actually use AF_PACKET socket for raw disco | Andrew Dunham | 22 months |
| andrew/dns-fallback | various: add resolver fallback for captive portals | Andrew Dunham | 2 years |
| andrew/dns-more-logging | net/dns/resolver: add a bunch of extra logging | Andrew Dunham | 23 months |
| andrew/dns-wrap-errors | net/dns/resolver: wrap errors with more context | Andrew Dunham | 2 years |
| andrew/dnscache-debugging-1.22.2 | net/dnscache: add a bunch of synthetic failure knobs | Andrew Dunham | 4 years |
| andrew/dnscache-hard-code-localhost | net/dnscache: hard-code localhost resolution | Andrew Dunham | 19 months |
| andrew/doctor-conntrack | doctor/kernellog: add new doctor check to parse kernel log for problems | Andrew Dunham | 3 years |
| andrew/doctor-scutil | doctor, ipnlocal: add scutil check and tweak logging | Andrew Dunham | 3 years |
| andrew/execqueue-metrics | util/execqueue: add metrics | Andrew Dunham | 17 months |
| andrew/fastjson | WIP | Andrew Dunham | 3 years |
| andrew/health-state | health, ipn/ipnlocal: add healthcheck for state/config | Andrew Dunham | 3 years |
| andrew/hostinfo-HavePortMap | WIP | Andrew Dunham | 3 years |
| andrew/ipn-debug-1.42.0 | WIP: more logging during profile migration | Andrew Dunham | 3 years |
| andrew/keyfallback | control/keyfallback: add baked-in fallback for control key | Andrew Dunham | 20 months |
| andrew/linux-router-v4-disabled | WIP | Andrew Dunham | 4 years |
| andrew/metrics-distribution | metrics, tsweb: add Distribution type | Andrew Dunham | 4 years |
| andrew/monitor-link-change | wgengine/monitor: add monitor for link change events | Andrew Dunham | 4 years |
| andrew/net-dns-systemd-no-stub | net/dns: handle systemd-resolved with DNSStubListener=no | Andrew Dunham | 24 months |
| andrew/net-tsaddr-mapviaaddr | net/tsaddr: add MapViaAddr function | Andrew Dunham | 4 years |
| andrew/netns-macos-route | net/netns: use AF_ROUTE socket to determine what to bind to | Andrew Dunham | 4 years |
| andrew/netns-more-logging | net/netns: add more logging to returned interface in getInterfaceIndex | Andrew Dunham | 3 years |
| andrew/netstack-forwarder-debug | wgengine/netstack: add debug page for TCP forwarder | Andrew Dunham | 2 years |
| andrew/nixos-vm-tests | tstest/integration: add initial work on NixOS VM-based integration tests | Andrew Dunham | 2 years |
| andrew/noise-conn-test | control/controlhttp: test that a control conn is healthy before using | Andrew Dunham | 21 months |
| andrew/peer-ipv6-addrs | ipn/ipnlocal: return IPv6 addresses in MagicDNS [capver 84] | Andrew Dunham | 2 years |
| andrew/peer-status-KeyExpiry | ipn: add KeyExpiry to PeerStatus | Andrew Dunham | 3 years |
| andrew/peercap-ipv6-aaaa | ipn/ipnlocal, tailcfg: return AAAA addresses for peers with IPv6 support | Andrew Dunham | 3 years |
| andrew/pr-17281-test | cmd/cloner: add test for nil interface clone | Andrew Dunham | 8 months |
| andrew/prom-omit-metrics | tsweb/promvarz: add bool to omit Prometheus metrics | Andrew Dunham | 2 years |
| andrew/router-drop-ula | wgengine/router: drop non-Tailscale IPv6 traffic from ULA range | Andrew Dunham | 3 years |
| andrew/slicesx-deduplicate | util/slicesx: add Deduplicate/DeduplicateFunc | Andrew Dunham | 3 years |
| andrew/syncs-tsync | syncs/tsync: WIP on initial package | Andrew Dunham | 7 months |
| andrew/topk-no-duplicates | util/topk: prevent duplicate elements | Andrew Dunham | 17 months |
| andrew/tstest-goroutine-ignore | tstest: ignore certain goroutines in ResourceCheck | Andrew Dunham | 4 years |
| andrew/upnp-unfork | net/portmapper: use the upstream goupnp library instead of our fork | Andrew Dunham | 3 years |
| andrew/util-dnsconfig | util/dnsconfig: add new package to parse macOS DNS configuration | Andrew Dunham | 3 years |
| andrew/wgengine-filter-split | wgengine/filter: add single-item version of MatchesFromFilterRules | Andrew Dunham | 16 months |
| andrew/wgengine-router-debug | wgengine/router: add debug logging component logs | Andrew Dunham | 20 months |
| andrew/workgraph | util/workgraph: add package for concurrent execution of DAGs | Andrew Dunham | 24 months |
| angott/23782 | ipnlocal: don't configure resolver with an invalid PeerAPI DNS URL | Andrea Gottardo | 20 months |
| angott/26146-define | util/syspolicy: define RequireReasonToDisconnect | Andrea Gottardo | 17 months |
| angott/allow-thunderbolt-bridge | Check for Thunderbolt interface | Andrea Gottardo | 3 years |
| angott/captive-exit-node-disablement | ipnlocal: support automatic exit node disablement when captive portal detected | Andrea Gottardo | 21 months |
| angott/corp-18441 | version/prop: remove IsMacAppSandboxEnabled | Andrea Gottardo | 2 years |
| angott/dns-cli-stream | cli: implement `tailscale dns stream` | Andrea Gottardo | 21 months |
| angott/dns-warnables | health: use Warnables for system DNS configuration errors | Andrea Gottardo | 24 months |
| angott/doh-clients-sleep-mode | net/dns: close idle DoH connections when entering sleep mode | Andrea Gottardo | 20 months |
| angott/ignore-some-warnings-startup | health: ignore certain Warnables during startup | Andrea Gottardo | 2 years |
| angott/sleep-debug-apis | controlclient, ipn: add endpoints to manage sleep/wake | Andrea Gottardo | 2 years |
| angott/tvos-23087 | tool/gocross: allow building for tvOS Simulator | Andrea Gottardo | 21 months |
| angott/userdefaults-reader | mdm: read user defaults + registry proto | Andrea Gottardo | 3 years |
| annotations | cmd/k8s-operator: remove conffile hashing mechanism (#16335) | Irbe Krumina | 12 months |
| apenwarr/aperture | ipn/ipnlocal: add TS_FORCE_CACHE_NETMAP envknob to force netmap caching | Avery Pennarun | 2 months |
| apenwarr/check184 | ipnlocal: in Start() fast path, don't forget to send Prefs. | Avery Pennarun | 5 years |
| apenwarr/faketun | controlclient: print http errors if result code != 200. | Avery Pennarun | 6 years |
| apenwarr/fixes | controlclient: update Persist.LoginName when it changes. | Avery Pennarun | 5 years |
| apenwarr/flake | tsnet,magicsock: mark tests as flaky on darwin only | Avery Pennarun | 2 months |
| apenwarr/ioslogin | ipn: cc.Login(noninteractive) at start even if WantRunning=false. | Avery Pennarun | 5 years |
| apenwarr/key-extend | control/controlclient: continue map poll during key expiry to receive extensions | Avery Pennarun | 2 months |
| apenwarr/relogin | ipnlocal: fix switching users while logged in + Stopped. | Avery Pennarun | 5 years |
| apenwarr/statefix | ipnlocal: don't pause the controlclient until we get at least one netmap. | Avery Pennarun | 5 years |
| apenwarr/statetest | ipn: mock controlclient.Client; big ipn.Backend state machine test. | Avery Pennarun | 5 years |
| authkey-reissue-restructured | cmd/k8s-proxy: add auth key renewal support | chaosinthecrd | 3 months |
| awly/appconnector-debug-logs | WIP: debug logs for app connector debugging | Andrew Lytvynov | 17 months |
| awly/deadcode-deb | packages/deb: remove unused package | Andrew Lytvynov | 8 weeks |
| awly/deadcode-linuxfwtest | util/linuxfw/linuxfwtest: remove unused package | Andrew Lytvynov | 8 weeks |
| awly/deadcode-pidowner | util/pidowner: remove unused package | Andrew Lytvynov | 8 weeks |
| awly/deadcode-pool | util/pool: remove unused package | Andrew Lytvynov | 8 weeks |
| awly/deadcode-s4u | util/winutil/s4u: remove unused package | Andrew Lytvynov | 8 weeks |
| awly/deadcode-sysresources | util/sysresources: remove unused package | Andrew Lytvynov | 8 weeks |
| awly/deadcode-topk | util/topk: remove unsued package | Andrew Lytvynov | 8 weeks |
| awly/go_124 | go.mod: bump toolchain version | Andrew Lytvynov | 16 months |
| awly/ipnlocal-watchnotifications-clientversion | ipn/ipnlocal: send ClientVersion in initial WatchNotifications message | Andrew Lytvynov | 3 years |
| awly/linux-sudoers-local-admin-poc | ipn: mark /etc/sudoers members as local admin on linux | Andrew Lytvynov | 3 years |
| awly/tpm-command-caps | WIP: print supported tpm commands | Andrew Lytvynov | 12 months |
| awly/tpm-seal-timing | feature/tpm: log timing of TPM commands | Andrew Lytvynov | 12 months |
| awly/version-override | version/mkversion: override patch version to 1 | Andrew Lytvynov | 3 years |
| azure | debugging azure | Denton Gentry | 3 years |
| bm/4via6 | all: support exporting your whole IPv4 LAN via 4via6 | Brad Fitzpatrick | 3 years |
| bm/tsoidc | cmd/tsidp: fix tsnet listener | Maisem Ali | 3 years |
| bradfitz/1.14 | cmd/tailscale: make cert subcommand give hints on access denied | Brad Fitzpatrick | 5 years |
| bradfitz/1.18.1 | wgengine/router: fix checkIPRuleSupportsV6 to actually use IPv6 | Brad Fitzpatrick | 5 years |
| bradfitz/1_16_stress_netmap | wgengine/magicsock: add a stress test | Brad Fitzpatrick | 5 years |
| bradfitz/acl_tags_in_tailscale_status | cmd/tailscale, ipn: WIP XXX: show ACL tags in tailscale status | Brad Fitzpatrick | 6 years |
| bradfitz/acme | WIP: do dns-01 challenge and get a LetsEncrypt cert | Brad Fitzpatrick | 5 years |
| bradfitz/allsrc | cmd/allsrc: WIP tool to print out all a program's source | Brad Fitzpatrick | 5 years |
| bradfitz/api_docs | api.md: add TOC | Brad Fitzpatrick | 5 years |
| bradfitz/appendf | syncs, all: move to using Go's new atomic types instead of ours | Brad Fitzpatrick | 4 years |
| bradfitz/autocert_force | cmd/derper: provide support for forcing autocert renewals | Brad Fitzpatrick | 4 years |
| bradfitz/avoid_initial | net/netcheck: respect DERPRegion.Avoid on initial probe plan too | Brad Fitzpatrick | 19 months |
| bradfitz/bench | derp: add a unique.Make-vs-local map benchmark | Brad Fitzpatrick | 19 months |
| bradfitz/browser_ext | cmd/ts-browser-native-ext: add start of a browser extension | Brad Fitzpatrick | 17 months |
| bradfitz/bumptoolchain | go.toolchain.rev: bump toolchain for Android | Brad Fitzpatrick | 21 months |
| bradfitz/calc_state | control/controlclient: clean up various things in prep for state overhaul | Brad Fitzpatrick | 3 years |
| bradfitz/call_me_maybe_eps | wgengine/magicsock: send, use endpoints in CallMeMaybe messages | Brad Fitzpatrick | 5 years |
| bradfitz/cgnat_disable_v4 | util/linuxfw,wgengine/router: don't filter 100.64.0.0/10 when IPv4 disabled | Brad Fitzpatrick | 7 months |
| bradfitz/cherry-pick-iptables | util/linuxfw: fix 32-bit arm regression with iptables | Brad Fitzpatrick | 8 months |
| bradfitz/cli_admin | cmd/tailscale, ipn/ipn{local,server}: add start of CLI admin API + over Noise | Brad Fitzpatrick | 4 years |
| bradfitz/cli_pretty | cmd/tailscale: make the new 'up' errors prettier and more helpful | Brad Fitzpatrick | 5 years |
| bradfitz/cli_ts2021_hang_test | cmd/tailscale: add debug hacks | Brad Fitzpatrick | 9 months |
| bradfitz/cmd_printmetric | cmd/printmetric: add start of tool to dump usermetrics to JSON | Brad Fitzpatrick | 20 months |
| bradfitz/compontent_logs | wgengine/magicsock: make component debug logging include disco logs | Brad Fitzpatrick | 3 years |
| bradfitz/controll | tstest/controll: add a trolling control server for stressing clients | Brad Fitzpatrick | 17 months |
| bradfitz/countrycode | tailcfg: redefine Location.CountryCode as upper case | Brad Fitzpatrick | 3 years |
| bradfitz/darwin_creds | safesocket, ipn/ipnserver: look up peer creds on Darwin | Brad Fitzpatrick | 5 years |
| bradfitz/darwin_gw | net/interfaces: rewrite the darwin likelyHomeRouterIP from C to Go | Brad Fitzpatrick | 5 years |
| bradfitz/dataplane_logs_no_logs_no_support | ipn/ipnlocal, control/controlclient: keep map poll alive on NoLogsNoSupport +... | Brad Fitzpatrick | 2 years |
| bradfitz/dctp_disco | disco, wgengine/magicsock: add custom disco message support | Brad Fitzpatrick | 3 months |
| bradfitz/debug_tstest | WIP | Brad Fitzpatrick | 2 years |
| bradfitz/deephash_early_exit | WIP | Brad Fitzpatrick | 4 years |
| bradfitz/deephash_methods | util/deephash: move funcs to methods | Brad Fitzpatrick | 5 years |
| bradfitz/demo_client_hijack | client hijack demo | Brad Fitzpatrick | 5 years |
| bradfitz/demo_pinger | XXX: plumb a Pinger down to controlclient | Brad Fitzpatrick | 5 years |
| bradfitz/derp_flow | derp: WIP notes on adding a flow type | Brad Fitzpatrick | 5 years |
| bradfitz/derp_flow_track | derp: start adding flow tracking stats | Brad Fitzpatrick | 21 months |
| bradfitz/derp_mesh | derp/derphttp: fix race in mesh watcher | Brad Fitzpatrick | 3 years |
| bradfitz/derp_steer | tailcfg, net/netcheck: let control mark "Avoid" bit on DERP regions | Brad Fitzpatrick | 5 years |
| bradfitz/derper_gcp | cmd/derper: add GCP cert support | Brad Fitzpatrick | 6 months |
| bradfitz/derpy_cast | tailcfg: add DERPRegion anycast fields | Brad Fitzpatrick | 4 years |
| bradfitz/devdrive | .github/workflows: try using a DevDrive on Windows | Brad Fitzpatrick | 6 months |
| bradfitz/dial_local | net/tsdial, ipn/localapi, client/local: let clients dial non-Tailscale addres... | Brad Fitzpatrick | 2 months |
| bradfitz/disco_change_remove_sync | WIP | Brad Fitzpatrick | 7 months |
| bradfitz/distro_ubuntu | version/distro: detect Ubuntu separately from Debian | Brad Fitzpatrick | 4 years |
| bradfitz/dot | net/dns: add MagicDNS DNS-over-TLS support | Brad Fitzpatrick | 4 years |
| bradfitz/dropped_by_filter_logspam | net/tstun: fix TUN log spam when ACLs drop a packet | Brad Fitzpatrick | 5 years |
| bradfitz/dup_add | derp: don't send duplicate add messages | Brad Fitzpatrick | 21 months |
| bradfitz/eventbus_too_slow | WIP | Brad Fitzpatrick | 7 months |
| bradfitz/evsub | util/eventbus: [DRAFT] add sketch of Subscribe with funcs | Brad Fitzpatrick | 9 months |
| bradfitz/exit_node_forward_dns | net/dns: make exit node DNS ask OSConfigurator for backup resolvers | Brad Fitzpatrick | 5 years |
| bradfitz/expiry_spin | control/controlclient: don't spin when starting up when node key is expired | Brad Fitzpatrick | 6 years |
| bradfitz/explicit_empty_test_3808 | cmd/tailscale/cli: add failing test for empty --operator= value bug | Brad Fitzpatrick | 4 years |
| bradfitz/feature_appconnectors | ipn/ipnlocal, feature/appconnectors: move app connector code out of LocalBacked | Brad Fitzpatrick | 4 months |
| bradfitz/fix_ipn_cloner | ipn: re-run go generate, fix build | Brad Fitzpatrick | 4 years |
| bradfitz/foo | WIP | Brad Fitzpatrick | 9 months |
| bradfitz/freebsd_no_snat | wgengine/router/osrouter: add native FreeBSD routing, no-snat support | Brad Fitzpatrick | 2 months |
| bradfitz/getstatus | wgengine, ipn/ipnlocal, wgengine/magicsock: remove RequestStatus, eventbus-if... | Brad Fitzpatrick | 7 months |
| bradfitz/go_vet | github/workflows: add go vet ./... step | Brad Fitzpatrick | 6 years |
| bradfitz/gocross_cgo_packages_test | tool/gocross: add a failing cgo test | Brad Fitzpatrick | 16 months |
| bradfitz/gocross_wantver | tool/gocross: make gocross-wrapper use GOCROSS_WANTVER if set instead of git | Brad Fitzpatrick | 3 years |
| bradfitz/gok_test | gokrazy: remove go.mod files | Brad Fitzpatrick | 5 months |
| bradfitz/gokrazy_dns | net/dns: make directManager use /tmp/resolv.conf on gokrazy | Brad Fitzpatrick | 3 years |
| bradfitz/grafana_auth_proxy | WIP: grafana auth proxy | Brad Fitzpatrick | 5 years |
| bradfitz/gui_netmap | WIP | Brad Fitzpatrick | 3 years |
| bradfitz/gvisor_netstack | WIP: playing with using gvisor's netstack for pure userspace TCP/relaying | Brad Fitzpatrick | 6 years |
| bradfitz/hello | cmd/hello: new hello.ipn.dev server | Brad Fitzpatrick | 5 years |
| bradfitz/hostinfo_basically_equal | tailcfg: add Hostinfo.BasicallyEqual | Brad Fitzpatrick | 4 years |
| bradfitz/hostinfo_ingress_bit | ipn/ipnlocal: set Hostinfo.WireIngress when ingress enabled | Brad Fitzpatrick | 4 years |
| bradfitz/ignore_ula | net/interfaces: ignore non-Tailscale ULA address changes for state equality | Brad Fitzpatrick | 3 years |
| bradfitz/integration_more_tun | WIP | Brad Fitzpatrick | 3 years |
| bradfitz/integration_tests | tstest/integration: add testcontrol.RequireAuth mode, new test | Brad Fitzpatrick | 5 years |
| bradfitz/ios_ish | WIP | Brad Fitzpatrick | 9 months |
| bradfitz/ip_of | cmd/tailscale/cli: add ip --of | Brad Fitzpatrick | 5 years |
| bradfitz/ipn_empty | ipn: treat zero-length file state store file as missing | Brad Fitzpatrick | 6 years |
| bradfitz/ipv6_link_local_strip | net/interfaces: skip IPv6 link-local interfaces like we do for IPv4 | Brad Fitzpatrick | 5 years |
| bradfitz/ipx_set_contains | wgengine/filter: add experiment to use ART for filter packet checks | Brad Fitzpatrick | 3 years |
| bradfitz/issue_1840_rebased_tree | tstest/integration: add testNode.AwaitListening, DERP+STUN, improve proxy trap | Brad Fitzpatrick | 5 years |
| bradfitz/issue_1849_rebased_tree | tstest/integration: add testNode.AwaitListening, DERP+STUN, improve proxy trap | Brad Fitzpatrick | 5 years |
| bradfitz/json2 | types/views: add MarshalJSONV2 to Slice | Brad Fitzpatrick | 23 months |
| bradfitz/key_rotation_prep | control/controlhttp: send expected control public key in upgrade request | Brad Fitzpatrick | 4 years |
| bradfitz/keyboard-interactive | cmd/ssh-auth-none-demo: WIP demo of KeyboardInteractive | Brad Fitzpatrick | 4 years |
| bradfitz/kmod | util/kmod: call unix.Capget directly, without kernel.org/pub/linux/libs/secur... | Brad Fitzpatrick | 4 years |
| bradfitz/lanscaping | lanscaping: remove TSMP | Brad Fitzpatrick | 17 months |
| bradfitz/lazy_wg_pushdown2 | WIP | Brad Fitzpatrick | 7 months |
| bradfitz/linux_default_route_interface | net/netns, net/interfaces: move defaultRouteInterface, add Android fallback | Brad Fitzpatrick | 6 years |
| bradfitz/linux_v6_off | wgengine/router: don't configure IPv6 on Linux when IPv6 is unavailable | Brad Fitzpatrick | 5 years |
| bradfitz/linuxfw_nil_table | util/linuxfw: don't panic on delete of chain in nil table | Brad Fitzpatrick | 3 years |
| bradfitz/lite-on-restart | control/controlclient: don't send dup lite map update requests | Brad Fitzpatrick | 9 months |
| bradfitz/lite_endpoint_update | control/controlclient: use lite map request handler to avoid aborting streams | Brad Fitzpatrick | 5 years |
| bradfitz/log_rate_test | WIP log rate limiting test | Brad Fitzpatrick | 5 years |
| bradfitz/login_retry | ipn/ipnlocal: avoid StartLoginInteractive crash with hacky retry loop | Brad Fitzpatrick | 2 years |
| bradfitz/machine_key | go.mod: bump wireguard-go for x/sys/unix symbol loss | Brad Fitzpatrick | 6 years |
| bradfitz/macos_progress | ipn{,/ipnlocal}: in direct file receive mode, don't rename partial file | Brad Fitzpatrick | 5 years |
| bradfitz/magicsock_relayserver | wgengine/magicsock: disable some code paths when relay server is removed from... | Brad Fitzpatrick | 9 months |
| bradfitz/matrix | .github/workflows: try (ab)using matrix for CI tests | Brad Fitzpatrick | 3 years |
| bradfitz/mcp | cmd/tsmcp: add a MCP implementation | Brad Fitzpatrick | 14 months |
| bradfitz/mesh_vpc | prober: support probing DERP regions with nodes in mixed VPCs | Brad Fitzpatrick | 20 months |
| bradfitz/mutex_debug | syncs: start working on mutex debugging, registration | Brad Fitzpatrick | 7 months |
| bradfitz/negdep | tstest/deptest: add test-only package to unify negative dep tests | Brad Fitzpatrick | 3 years |
| bradfitz/netstack_drop_silent | wgengine/netstack: avoid delivering incoming packets to both netstack + host | Brad Fitzpatrick | 5 years |
| bradfitz/netstack_fwd_close | wgengine/netstack: close forwarded TCP connections when incoming TCP dies | Brad Fitzpatrick | 4 years |
| bradfitz/netstack_port_map | wgengine/netstack: add netstack port rewriting mechanism | Brad Fitzpatrick | 5 years |
| bradfitz/nm_cache | types/netmap: remove some useless denormalized fields from NetworkMap | Brad Fitzpatrick | 7 months |
| bradfitz/nm_cache_disk | ipn/ipnlocal: add start of netmap caching | Brad Fitzpatrick | 7 months |
| bradfitz/nodectx_ctx | ipn/ipnlocal: pass along localNodeContext lock state in context | Brad Fitzpatrick | 14 months |
| bradfitz/nodepublic_uniq | types/key: shrink NodePublic by using unique.Handle representation | Brad Fitzpatrick | 19 months |
| bradfitz/nogreentea | .github/workflows: try turning off greenteagc for Windows CI | Brad Fitzpatrick | 3 months |
| bradfitz/noise_debug_more | cmd/tailscale: WIP more noise debug | Brad Fitzpatrick | 3 years |
| bradfitz/notify_delta | ipn: define new Notify messages for incremental node/user updates | Brad Fitzpatrick | 15 months |
| bradfitz/percy/unforked-ssh-try-gomod | ssh/tailssh: try out new AuthBanner API | Percy Wegmann | 20 months |
| bradfitz/ping | control/controlclient: finish wiring up PingRequest TSMP support | Brad Fitzpatrick | 4 years |
| bradfitz/ping_notes | tailcfg: ping request notes WIP | Brad Fitzpatrick | 5 years |
| bradfitz/plan9 | wgengine/magicsock: fix typo in comment | Brad Fitzpatrick | 15 months |
| bradfitz/port_intercept | ipn/ipnlocal, wgengine/netstack: start handling ports for future serving | Brad Fitzpatrick | 4 years |
| bradfitz/portmap_gh_actions | net/portmapper: remove GITHUB_ACTIONS check | Brad Fitzpatrick | 5 years |
| bradfitz/portmap_test | net/portmapper: add sketch of a TestIGD for portmapper testing | Brad Fitzpatrick | 5 years |
| bradfitz/porttrack | net/porttrack: change magic listen address format for Go 1.26 | Brad Fitzpatrick | 3 months |
| bradfitz/proposed-1.4.5 | wgengine/tstun: reply to MagicDNS pings | Brad Fitzpatrick | 5 years |
| bradfitz/proposed_1.4.6 | wgengine/router: don't touch interface routes | David Anderson | 5 years |
| bradfitz/quic_dns | cmd/quictest: WIP | Brad Fitzpatrick | 21 months |
| bradfitz/recursive_controlknob | net/dnsfallback, control/controlknobs: add knob to disable recursive resolver | Brad Fitzpatrick | 3 years |
| bradfitz/release-branch-1.0 | control/controlclient: reset timeout timer on non-keepalive map updates | Brad Fitzpatrick | 6 years |
| bradfitz/resume | clientupdate/distsign: resume partial downloads | Brad Fitzpatrick | 24 months |
| bradfitz/rm_lazy_wg | wgengine, all: remove LazyWG, use wireguard-go callback API for on-demand peers | Brad Fitzpatrick | 8 weeks |
| bradfitz/rm_usermetrics_66KB | WIP | Brad Fitzpatrick | 9 months |
| bradfitz/sassy | WIP: sassy demo | Brad Fitzpatrick | 3 years |
| bradfitz/sessionactivetimeout | wgengine/magicsock: add controlknob tunable for session timeout experiments | Brad Fitzpatrick | 3 years |
| bradfitz/set_prefs_locked | ipn/ipnlocal: add LocalBackend setPrefsLocked | Brad Fitzpatrick | 4 years |
| bradfitz/shared_split_dns | ipn/ipnlocal: put DNS suffixes of shared nodes as split DNS routes | Brad Fitzpatrick | 4 years |
| bradfitz/silentdisco_knob | example for jordan | Brad Fitzpatrick | 3 years |
| bradfitz/sleep | control/controlclient, tailcfg: add Debug.SleepSeconds (mapver 19) | Brad Fitzpatrick | 5 years |
| bradfitz/ssh_auth_none_demo | cmd/ssh-auth-none-demo: add SSH demo server w/ auth type none | Brad Fitzpatrick | 4 years |
| bradfitz/ssh_banner | ssh/tailssh: start moving auth checks earlier, adding banner | Brad Fitzpatrick | 4 years |
| bradfitz/ssh_config_from_env | ssh/tailssh: allow setting some Tailscale SSH config from env vars | Brad Fitzpatrick | 20 months |
| bradfitz/ssh_policy_earlier | tailcfg, ssh/tailssh: optionally support SSH public keys in wire policy | Brad Fitzpatrick | 4 years |
| bradfitz/ssh_tsnet | tsnet: add opt-in SSH support | Brad Fitzpatrick | 3 months |
| bradfitz/syspolicy_key | util/syspolicy/policyclient: add Client interface to the syspolicy universe | Brad Fitzpatrick | 17 months |
| bradfitz/tailmac | tstest/build-macos-base-vm: cache IPSW in ~/.cache with freshness checks | Brad Fitzpatrick | 2 months |
| bradfitz/tailpipe | WIP tailpipe | Brad Fitzpatrick | 4 years |
| bradfitz/tailscale_get | cmd/tailscale/cli: add "tailscale get" command | Brad Fitzpatrick | 2 months |
| bradfitz/tailssh_crash | ssh/tailssh: fix observed crash in Tailscale SSH | Brad Fitzpatrick | 5 months |
| bradfitz/tbug | debug | Brad Fitzpatrick | 3 years |
| bradfitz/tcp_flows | wgengine/filter: do stateful TCP connection tracking | Brad Fitzpatrick | 4 years |
| bradfitz/test | test | Brad Fitzpatrick | 8 months |
| bradfitz/tidy | go.mod: run "go mod tidy" to add missing entries | Brad Fitzpatrick | 4 years |
| bradfitz/tinyderpclient | lol | Brad Fitzpatrick | 12 months |
| bradfitz/tkasig_type | types/tkatype: change MarshaledSignature from []byte to string | Brad Fitzpatrick | 3 years |
| bradfitz/u32 | wgengine/router: allow disco packets through iptables on Linux | Brad Fitzpatrick | 4 years |
| bradfitz/umaskless_permissions | all: adjust Unix permissions for those without umasks | Brad Fitzpatrick | 5 years |
| bradfitz/updates | version/updates: start of version updates policy package | Brad Fitzpatrick | 5 years |
| bradfitz/use_netstack_upstream | cmd/derpprobe: check derper TLS certs too | Brad Fitzpatrick | 4 years |
| bradfitz/vizerrinternal2 | util/vizerror: add func WithInternal, Error.InternalError accessor | Brad Fitzpatrick | 20 months |
| bradfitz/vizinternal | util/vizerror: add ErrorWithInternal type and func WithInternal | Brad Fitzpatrick | 20 months |
| bradfitz/vmtest_record | tstest/natlab/vmtest: add web UI for watching VM tests live | Brad Fitzpatrick | 2 months |
| bradfitz/vnet2 | tstest/natlab/vnet: treat network wan/lan interface separately | Maisem Ali | 22 months |
| bradfitz/wait_unpause | control/controlclient: remove some channels (quit, updateCh) | Brad Fitzpatrick | 3 years |
| bradfitz/wasm_play | wasm play | Brad Fitzpatrick | 4 years |
| bradfitz/wgengine_monitor_windows_take2 | take 2 (doesn't work) | Brad Fitzpatrick | 6 years |
| bradfitz/win_default_route | net/interfaces: fix default route lookup on Windows | Brad Fitzpatrick | 5 years |
| bradfitz/win_delete_retry | ipn/ipnlocal: put a retry loop around Windows file deletes | Brad Fitzpatrick | 5 years |
| bradfitz/win_firewall_async | wgengine/router: make Windows firewall configuration async | Brad Fitzpatrick | 6 years |
| bradfitz/win_unattended_warning | ipn/ipnlocal: return error on missing --unattended on CLI up on Windows | Brad Fitzpatrick | 3 years |
| bradfitz/win_wpad_pac | net/tshttpproxy: new package, support WPAD/PAC proxies on Windows | Brad Fitzpatrick | 6 years |
| bradfitz/windns | net/dns: windows DNS experiments | Brad Fitzpatrick | 5 years |
| bradfitz/ws_arg_test | ipn/ipnlocal: add more serve tests | Brad Fitzpatrick | 4 months |
| bradtest | misc/genreadme,tempfork/pkgdoc,tsnet: generate README.md files from godoc | Brad Fitzpatrick | 8 weeks |
| brafitz/remote-config | cmd/tailscale, ipn: add start of remote-config support | Brad Fitzpatrick | 2 years |
| brendan/convert-mdx-release-notes-to-goreleaser-chlog | cmd: add mkchglog and --changelog flag to mkpkg | Brendan Creane | 4 months |
| brianp/controlclient-timings | controlclient: add timing metrics for control requests | Brian Palmer | 16 months |
| buildjet | CI: use BuildJet & large Windows runners | Denton Gentry | 4 years |
| buildjet-vs-github | CI: try GitHub's Large runners | Denton Gentry | 4 years |
| c22wen/api-docs | API.md: revise documentation to be more consistent | Christina Wen | 5 years |
| c22wen/magicsock.go | revising error message to include version number | Christina Wen | 6 years |
| c22wen/route-addr | wgengine/router/router_linux.go: Switched `cidrDiff("addr")` and `cidrDiff("r... | Christina Wen | 6 years |
| c761d10 | ipn/ipnlocal: prevent changing serve config if conf.Locked | Maisem Ali | 3 years |
| catzkorn/addrsend | wgengine/magicsock: handle addr selection for wireguard nodes | Charlotte Brandhorst-Satzkorn | 3 years |
| catzkorn/derp-benchmark | wip | Charlotte Brandhorst-Satzkorn | 4 years |
| catzkorn/jira | wip | Charlotte Brandhorst-Satzkorn | 2 years |
| catzkorn/netcheckuout | net/netns: indicate when android protect func is no longer nil | Charlotte Brandhorst-Satzkorn | 3 years |
| catzkorn/otel-derp | wip | Charlotte Brandhorst-Satzkorn | 4 years |
| catzkorn/otel-init | wip | Charlotte Brandhorst-Satzkorn | 4 years |
| chaosinthecrd/adding-server-url-multi-tailnet | adding server url to proxygroups when a custom tailnet has been specified | chaosinthecrd | 3 months |
| chaosinthecrd/authkey-reissue | cmd/{containerboot,k8s-operator}: reissue auth keys for broken proxies | Tom Proctor | 4 months |
| chaosinthecrd/configure-proxyclass-via-annotation | k8s-operator: use iota-based enums (#14323) | chaosinthecrd | 14 months |
| chaosinthecrd/k8s-operator-ha-ingress-readiness | cmd/k8s-operator: unadvertise the tailscale service when Services referenced ... | chaosinthecrd | 7 months |
| chaosinthecrd/k8s-operator-network-proxy-ha-mode | k8s-operator: saving progress on reconciler | chaosinthecrd | 14 months |
| chaosinthecrd/k8s-operator-proxygroup-event-filter | cmd/k8s-operator: add event filter that checks for a ProxyGroup annotation on... | chaosinthecrd | 12 months |
| chaosinthecrd/k8s-operator-tailscale-service-ports | cmd/k8s-operator: explicitly set tcp on VIPService port configuration for Ing... | chaosinthecrd | 12 months |
| chaosinthecrd/map-error-response | fix test, update deps | chaosinthecrd | 4 months |
| chaosinthecrd/node-not-found-warnable | adding NodeRemoved to notablenotify func | chaosinthecrd | 4 months |
| chaosinthecrd/query-dns-resolve-containerboot | cmd/containerboot: switch to tsclient QueryDNS to convert FQDN to Tailscale IPs | chaosinthecrd | 5 months |
| chaosinthecrd/query-dns-resolve-for-containerboot | cmd/containerboot: switch to tsclient QueryDNS to convert FQDN to Tailscale IPs | chaosinthecrd | 6 months |
| chaosinthecrd/tsrecorder-authkey-renewal | cmd/k8s-operator: adding authkey renewal for tsrecorder | chaosinthecrd | 2 months |
| chaosinthecrd/userspace-tsnet-proxy | cmd/k8s-proxy,kube/k8s-proxy: starting userspace proxy | chaosinthecrd | 5 months |
| chart/k8s-operator | Add Grafana dashboard for Tailscale K8s operator monitoring | Raj Singh | 15 months |
| clairew/add-disco-pong-padding | disco: add padding to pong message | Claire Wang | 2 years |
| clairew/add-latitude-longitude | add latitude longitude poc | Claire Wang | 2 years |
| clairew/client-suggest-node-poc | probing | Claire Wang | 2 years |
| clairew/handle-auto-exit-node-value | ipn/ipnlocal: handle auto value for ExitNodeID syspolicy | Claire Wang | 2 years |
| clairew/log-dst-exit-node | wgenging/logger: add log control knob | Claire Wang | 2 years |
| clairew/mdm-interface | wip | Claire Wang | 3 years |
| clairew/peer-node-capability-documentation | tailcfg: document use of CapMap for peers | Adrian Dewhurst | 2 years |
| clairew/receive-icmp-errors | wip | Claire Wang | 2 years |
| clairew/refactor-new-timer | tstime: replace time.NewTimer with tstime.Clock timer | Claire Wang | 3 years |
| clairew/revert-storing-last-suggested | Revert "ipnlocal, magicsock: store last suggested exit node id in local backe... | Claire Wang | 2 years |
| clairew/suggest-non-mullvad-exit-node | cmd/tailscale/cli: suggest exit node | Claire Wang | 2 years |
| clairew/test-wrapper-file | wip | Claire Wang | 3 years |
| clairew/test-wrapper-write-file | wip | Claire Wang | 3 years |
| clairew/tsnet_get_own_ip | ipn/ipnlocal: Fill out self IP addresses in StatusWithoutPeers | Claire Wang | 4 years |
| clairew/tstime-net | net: use tstime | Claire Wang | 3 years |
| clairew/tstime-wgengine | wgengine: use tstime | Claire Wang | 3 years |
| clairew/use-tstime-etc | *: use tstime | Claire Wang | 3 years |
| clone | cmd/cloner, tailcfg: fix nil vs len 0 issues, add tests, use for Hostinfo | Brad Fitzpatrick | 6 years |
| cloner | util/codegen: Remove year from copyright header. | Denton Gentry | 3 years |
| cmol/add_upnp_release_timeout | net/portmapper: add UPnP-IGD release timeout | Claus Lensbøl | 8 months |
| cmol/debug-write-netmap-to-disk | DEBUG DO NOT MERGE: write netmap to disk | Claus Lensbøl | 4 months |
| cmol/decouple_magicsock_ipnlocal | ipnlocal,magicsock: decouple magicsock from ipnlocal | Claus Lensbøl | 10 months |
| cmol/delay-disco-key-exchange | wgengine: delay disco key exchange when control is unavailable | Claus Lensbøl | 6 months |
| cmol/exchange_disco_key_both_ways | net/{packet,tstun},wgengine: add options byte to TSMP disco for request | Claus Lensbøl | 2 months |
| cmol/experimental_wake_on_lan | WOL WIP EXPERIMENT | Claus Lensbøl | 3 months |
| cmol/gokrazy-switch-to-official-kernel-builds | gokrazy: rebuild builddirs when switching kernels | Claus Lensbøl | 5 months |
| cmol/load_home_derp_from_cache | wgengine/magicsock,ipn/ipnlocal: store and load homeDERP from cache | Claus Lensbøl | 8 weeks |
| cmol/natlab-experiments | WIP: improve reliability of natlab | Claus Lensbøl | 6 months |
| cmol/natlab_tsmp_test | tstest/{integration,natlab}: add test for async caching case | Claus Lensbøl | 3 months |
| cmol/portupdate_eventbus_direct | wgengine/router: pull out interface method only needed in Linux | Claus Lensbøl | 9 months |
| cmol/run_portmapper_in_exec_queue | net/portmapper: put mappings and releases into an execqueue | Claus Lensbøl | 5 months |
| containerboot-exit-code | cmd/containerboot: exit with non-zero code on unexpected tailscaled death | Raj Singh | 8 months |
| crawshaw/accumulatorcfg | tailcfg: add accumulator API | David Crawshaw | 4 years |
| crawshaw/activesum | net/activesum: network activity summary | David Crawshaw | 3 years |
| crawshaw/art-table | wip: fuzz test net/art | David Crawshaw | 3 years |
| crawshaw/br1 | controlclient: handle nil Logf option | David Crawshaw | 6 years |
| crawshaw/cgi | cmd/tailscale: add web subcommand | David Crawshaw | 5 years |
| crawshaw/cloner | tailcfg: add Clone method for RegisterResponse | David Crawshaw | 6 years |
| crawshaw/deephash | util/deephash: simplify hex encode | David Crawshaw | 5 years |
| crawshaw/derp-nokeepalives | controlclient: use per-peer KeepAlive signal | David Crawshaw | 6 years |
| crawshaw/derpdial | wgengine/magicsock: dial derp without holding send lock | David Crawshaw | 6 years |
| crawshaw/derpdial2 | wgengine/magicsock: remove TODO | David Crawshaw | 6 years |
| crawshaw/derptimeout | cmd/derper: set a write timeout | David Crawshaw | 6 years |
| crawshaw/dnsguid | wgengine/router/dns: reduce windows registry key open timeout | David Crawshaw | 5 years |
| crawshaw/dnswslhackery | net/dns: crimes against unix and windows | David Crawshaw | 5 years |
| crawshaw/e2e_test | magicsock: unskip tests that are reliable | David Crawshaw | 6 years |
| crawshaw/e2etest | magicsock: call RequestStatus when DERP connects | David Crawshaw | 6 years |
| crawshaw/envtype | tailcfg, hostinfo: put envtype in Hostinfo | David Crawshaw | 4 years |
| crawshaw/filchsync | filch: use F_NOCACHE on macOS | David Crawshaw | 5 years |
| crawshaw/hostinfo | controlclient: do not send duplicate hostinfo/netinfo | David Crawshaw | 6 years |
| crawshaw/httpconnect | net/httpconnect: HTTP CONNECT implementation | David Crawshaw | 3 years |
| crawshaw/ipn | ipn: when enforcing defaults, set UsePacketFilter=true | David Crawshaw | 6 years |
| crawshaw/ipn2 | ipn: drop unchanged network map updates | David Crawshaw | 6 years |
| crawshaw/ipuint | net/interfaces: use a uint32_t for ipv4 address | David Crawshaw | 5 years |
| crawshaw/jsonhandler | tsweb: when unwrapping HTTPError, record the user-facing message also in the log | David Crawshaw | 6 years |
| crawshaw/lnclose | tsnet: avoid deadlock on close | David Crawshaw | 3 years |
| crawshaw/loadtest | tailcfg: add Clone methods to Login and DNSConfig | David Crawshaw | 6 years |
| crawshaw/localapi404 | ipn/localapi: 404 on bad endpoints | David Crawshaw | 5 years |
| crawshaw/magicdnsalways | net/dns/resolver: have quad100 respond to suffix-less magicdns requests | David Crawshaw | 5 years |
| crawshaw/magicsock | magicsock: lookup AddrSet by key from DERP | David Crawshaw | 6 years |
| crawshaw/magicsock-infping | [WIP] magicsock: infinite ping test | David Crawshaw | 6 years |
| crawshaw/movefiles | ipnlocal: add MoveFilesTo method | David Crawshaw | 5 years |
| crawshaw/newbackendserver | ipn: allow b to be nil in NewBackendServer | David Crawshaw | 5 years |
| crawshaw/ondemanddomains | tailcfg, etc: plumb OnDemandDomains from the server | David Crawshaw | 3 years |
| crawshaw/peerdoh | ipnlocal, resolver, etc: add peer API DoH | David Crawshaw | 5 years |
| crawshaw/pidlisten | net/pidlisten: new package that restricts dials to the current process | David Crawshaw | 3 years |
| crawshaw/pinger2 | wgengine: ensure pingers are gone before returning from Close | David Crawshaw | 6 years |
| crawshaw/preservenetinfo | controlclient: preserve NetInfo on Hostinfo update | David Crawshaw | 4 years |
| crawshaw/rebind | wgengine: remove IpcSetOperation on LinkChange | David Crawshaw | 6 years |
| crawshaw/restartlimit | tailscaled.service: use default restart limiting | David Crawshaw | 6 years |
| crawshaw/socket | client/tailscale, cmd/tailscale/cli: plumb --socket through | David Crawshaw | 5 years |
| crawshaw/spray | wgengine: add pinger to generate initial spray packets | David Crawshaw | 6 years |
| crawshaw/stunchild | cmd/derper: serve STUN responses out of a separate process | David Crawshaw | 3 years |
| crawshaw/stunname | wip | David Crawshaw | 4 years |
| crawshaw/syno | cmd/tailscale/cli: don't report outdated auth URL to web UI | David Crawshaw | 5 years |
| crawshaw/tailcfg | tailcfg: remove outdated comments about Clone methods | David Crawshaw | 6 years |
| crawshaw/tailscalestatus | ipnstate, ipnlocal: add AuthURL to status | David Crawshaw | 5 years |
| crawshaw/tsnet1 | tsnet: always attempt to create storage directory | David Crawshaw | 3 years |
| crawshaw/tswebextra | tsweb: extra logging fields for HTTP handlers | David Crawshaw | 6 years |
| crawshaw/updatefallback | net/dnsfallback: update derp11a record | David Crawshaw | 5 years |
| crawshaw/upjson | cmd/tailscale: add up -json flag | David Crawshaw | 5 years |
| crawshaw/wslresolvconf | net/dns: some WSL wiring | David Crawshaw | 5 years |
| crawshaw/xdp | net/tstun: veth+AF_XDP WIP | David Crawshaw | 4 years |
| cross-android | .github/workflows: add cross-android | James Tucker | 4 years |
| danderson/backport | cmd/containerboot: allow disabling secret storage in k8s. | David Anderson | 4 years |
| danderson/bootstrap | net/dnsfallback: update the burned-in bootstrap DNS map. | David Anderson | 4 years |
| danderson/debug-garden | wip | David Anderson | 3 years |
| danderson/ebpf | ebpf: experiments. | David Anderson | 5 years |
| danderson/helm | WIP helm chart | David Anderson | 3 years |
| danderson/k8s | docs/k8s: record the Tailscale device ID in a k8s annotation. | David Anderson | 4 years |
| danderson/kernel-tailscale | WIP: kernel accelerated tailscaled | David Anderson | 5 years |
| danderson/lru-rollback | Revert "util/lru: replace container/list with a custom ring implementation" | David Anderson | 3 years |
| danderson/magicsock-discokey | wgengine/magicsock: remove uses of tailcfg.DiscoKey. | David Anderson | 5 years |
| danderson/magicsock-node-key | wgengine/magicsock: remove use of key.{Public,Private}. | David Anderson | 5 years |
| danderson/mkversion | Dockerfile: fix docker build | David Anderson | 3 years |
| danderson/nodekey-cleanup | types/key: remove node key AsPublic/AsPrivate compat shims. | David Anderson | 5 years |
| danderson/nodekey-delete-old | types/key: delete legacy undifferentiated key types. | David Anderson | 5 years |
| danderson/nodekey-move | tailcfg: move NodeKey type to types/key. | David Anderson | 5 years |
| danderson/tsburrito | cmd/tswrap,portlist: switch tswrap to portlist, add pid to portlist | James Tucker | 4 years |
| danderson/tsweb-server | cmd/hello: refactor to use tsweb.Server. | David Anderson | 4 years |
| danderson/version-private3 | .github/workflows: add armv5 and armv7 cross tests | David Anderson | 3 years |
| davidb/containerboot-disconnect-control | cmd/{containerboot,k8s-proxy}: disconnect from control before shutdown | David Bond | 8 months |
| davidb/dns-config-node-selector | cmd/k8s-operator: add nodeSelector to `DNSConfig` resource | David Bond | 2 months |
| davidb/reconciler-moving | cmd/k8s-operator: move dnsrecords and nameserver into their own packages | David Bond | 3 months |
| dctp | ssh/tailssh: add DCTP hooks | Brad Fitzpatrick | 3 months |
| dctp-1 | all: add some experimental hooks | Brad Fitzpatrick | 3 months |
| dctp1 | all: add some experimental hooks | Brad Fitzpatrick | 3 months |
| debug-testwrapper | debug testwrapper | Tom Proctor | 5 months |
| dependabot/github_actions/DeterminateSystems/nix-installer-action-22 | .github: Bump DeterminateSystems/nix-installer-action from 21 to 22 | dependabot[bot] | 3 months |
| dependabot/github_actions/actions/setup-go-6.4.0 | .github: Bump actions/setup-go from 6.3.0 to 6.4.0 | dependabot[bot] | 3 months |
| dependabot/github_actions/github/codeql-action-4.35.1 | .github: Bump github/codeql-action from 4.34.1 to 4.35.1 | dependabot[bot] | 3 months |
| dependabot/github_actions/golangci/golangci-lint-action-2d7e7b678591ee3321638e5c5621ca689628daa4 | .github: Bump golangci/golangci-lint-action | dependabot[bot] | 3 months |
| dependabot/github_actions/slackapi/slack-github-action-3.0.1 | .github: Bump slackapi/slack-github-action from 2.1.1 to 3.0.1 | dependabot[bot] | 3 months |
| dependabot/go_modules/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream-1.7.8 | build(deps): bump github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream | dependabot[bot] | 2 months |
| dependabot/go_modules/github.com/aws/aws-sdk-go-v2/service/s3-1.97.3 | build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 | dependabot[bot] | 2 months |
| dependabot/go_modules/github.com/docker/cli-29.2.0incompatible | build(deps): bump github.com/docker/cli | dependabot[bot] | 3 months |
| dependabot/go_modules/github.com/go-git/go-git/v5-5.18.0 | build(deps): bump github.com/go-git/go-git/v5 from 5.17.1 to 5.18.0 | dependabot[bot] | 2 months |
| dependabot/go_modules/github.com/moby/buildkit-0.28.1 | build(deps): bump github.com/moby/buildkit from 0.20.2 to 0.28.1 | dependabot[bot] | 8 weeks |
| dependabot/go_modules/github.com/moby/spdystream-0.5.1 | build(deps): bump github.com/moby/spdystream from 0.5.0 to 0.5.1 | dependabot[bot] | 8 weeks |
| dependabot/go_modules/go.opentelemetry.io/otel-1.41.0 | build(deps): bump go.opentelemetry.io/otel from 1.39.0 to 1.41.0 | dependabot[bot] | 8 weeks |
| dependabot/go_modules/golang.org/x/image-0.38.0 | build(deps): bump golang.org/x/image from 0.27.0 to 0.38.0 | dependabot[bot] | 8 weeks |
| dependabot/go_modules/google.golang.org/grpc-1.79.3 | build(deps): bump google.golang.org/grpc from 1.78.0 to 1.79.3 | dependabot[bot] | 2 months |
| dependabot/go_modules/helm.sh/helm/v3-3.20.2 | build(deps): bump helm.sh/helm/v3 from 3.19.0 to 3.20.2 | dependabot[bot] | 8 weeks |
| dependabot/npm_and_yarn/client/web/flatted-3.4.2 | build(deps): bump flatted from 3.2.9 to 3.4.2 in /client/web | dependabot[bot] | 3 months |
| dependabot/npm_and_yarn/client/web/lodash-4.18.1 | build(deps): bump lodash from 4.17.23 to 4.18.1 in /client/web | dependabot[bot] | 2 months |
| dependabot/npm_and_yarn/client/web/picomatch-2.3.2 | build(deps): bump picomatch from 2.3.1 to 2.3.2 in /client/web | dependabot[bot] | 3 months |
| dependabot/npm_and_yarn/client/web/postcss-8.5.10 | build(deps-dev): bump postcss from 8.5.6 to 8.5.10 in /client/web | dependabot[bot] | 8 weeks |
| dependabot/npm_and_yarn/client/web/rollup-4.59.0 | build(deps): bump rollup from 4.52.5 to 4.59.0 in /client/web | dependabot[bot] | 4 months |
| dependabot/npm_and_yarn/client/web/vite-6.4.2 | build(deps-dev): bump vite from 5.4.21 to 6.4.2 in /client/web | dependabot[bot] | 2 months |
| dependabot/npm_and_yarn/cmd/tsconnect/picomatch-2.3.2 | build(deps): bump picomatch from 2.3.1 to 2.3.2 in /cmd/tsconnect | dependabot[bot] | 3 months |
| dgentry-authkey | cmd/get-authkey: add expiry argument | Denton Gentry | 3 years |
| dgentry-b10911 | net/portmapper: add huawei RootXML test. | Denton Gentry | 2 years |
| dgentry-coverage | Test commit | Denton Gentry | 3 years |
| dgentry-istoreos | version/distro: identify iStoreOS as a distro. | Denton Gentry | 3 years |
| dgentry-nix-flake | .github/workflows: rename update-flake to disambiguate from test flakes. | Denton Gentry | 3 years |
| dgentry/atomicfile | atomicfile: only run test on Linux. | Denton Gentry | 3 years |
| dgentry/sniproxy-dns | cmd/sniproxy: reimplement DNS server | Denton Gentry | 3 years |
| dns-proxygroup | cmd/k8s-operator: Enhance DNS record handling for ProxyGroup egress services | Raj Singh | 11 months |
| docker_state | cmd/containerboot: introduce `TS_STATE` env var | Lee Briggs | 18 months |
| dshynkev/dns-autoset | wip | Dmytro Shynkevych | 6 years |
| dshynkev/dns-name | tailcfg: dns name mangling | Dmytro Shynkevych | 6 years |
| dshynkev/dns-refactor | wgengine/router: split off windows dns | Dmytro Shynkevych | 6 years |
| dsnet/admin-cli | cmd/tailscale: add basic support for admin subcommand | Joe Tsai | 5 years |
| dsnet/httpio | util/httpio: prototype design for handling I/O in HTTP | Joe Tsai | 2 years |
| dsnet/jsonimports-ci | all: apply consistent imports of "json" packages | Joe Tsai | 7 months |
| dsnet/jsonv1in2 | all: use "github.com/go-json-experiment/json/v1" over "encoding/json" | Joe Tsai | 11 months |
| dsnet/logpolicy-metrics | logpolicy: expose certain metrics as clientmetrics | Joe Tsai | 6 months |
| dsnet/logtail-iopipe | logtail/iopipe: new log buffer implementation | Joe Tsai | 9 months |
| dsnet/logtail-zstd-single-segment | logtail: perform zstd compression with single-segment mode | Joe Tsai | 4 years |
| dsnet/migrate-omitzero | all: migrate omitempty to omitzero | Joe Tsai | 7 months |
| dsnet/netlog-tailcfg | tailcfg: support LogUploadAuth and empty DataPlaneAuditLogID | Joe Tsai | 5 months |
| dsnet/slices-collect | all: use slices.Collect with maps.Keys instead of xmaps.Keys | Joe Tsai | 20 months |
| dsnet/statestore | ipn/store: improve FileStore.WriteState atomicity | Joe Tsai | 3 years |
| dsnet/syncs-lock | syncs: add LockFunc, LockValue, LockValues, and Mutex | Joe Tsai | 23 months |
| dsnet/tsnet-logging | tsnet: do not log using log.Printf by default | Joe Tsai | 4 years |
| dsnet/tsweb-499s | tsweb: add HandlerOptions.Quiet499s | Joe Tsai | 4 years |
| dsnet/tunstats-v2 | net/tunstats: more efficient stats gatherer | Joe Tsai | 4 years |
| dsnet/update-jsonv2 | all: update github.com/go-json-experiment/json | Joe Tsai | 12 months |
| dsnet/viewer-jsonv2 | cmd/viewer: support v2 JSON methods | Joe Tsai | 3 years |
| dylan/debug-peer-relay-sessions | client, cmd/tailscale/cli, feature/relayserver, net/udprelay: implement tails... | Dylan Bargatze | 10 months |
| dylan/derp-hosting-provider | tailcfg: regenerate tailcfg_view.go | Dylan Bargatze | 12 months |
| enable-exit-node-dst-logs | exit node dst wip | Claire Wang | 2 years |
| enable-exit-node-dst-logs-2 | wip | Claire Wang | 2 years |
| erisa/peppermint-debian | scripts/installer.sh: add PeppermintOS as Debian derivative | Erisa A | 2 months |
| exclude_int | run gofmt | Lee Briggs | 13 months |
| fix/connector-appconnector-empty-routes | k8s-operator: remove minItems=1 from appConnector routes | Raj Singh | 3 months |
| fix/operator-truncate-long-labels | cmd/k8s-operator: remove empty metrics_resources_test.go, use hyphens in test... | chaosinthecrd | 2 months |
| flyingsquirrel_bak | tailfs: initial implementation | Percy Wegmann | 2 years |
| fran/appc-domain-delte-prototype | Rate limiting the update of lastseen date for route. | Kevin Liang | 2 years |
| fran/appc-ensmallen-gh-preset | cmd/connector-gen: reduce the routes for github | Fran Bull | 2 years |
| fran/appc-store-routes-by-source | When deleting a domain, only remove a route if the route is no longer used in... | Kevin Liang | 2 years |
| fran/conn25-dns | wip | Fran Bull | 5 months |
| fran/conn25-dynamic-peerapi-dns-resolvers | wip | Fran Bull | 2 months |
| fran/conn25-send-ips-to-connector-2 | feature/conn25: stop adding multiple entries for same domain+dst | Fran Bull | 4 months |
| fran/fix-appc-routes | ipn/ipnlocal: clear app connector storage on 'down' | Fran Bull | 20 months |
| fran/fix-appc-write-new-domain | appc: fix writing route info | Fran Bull | 24 months |
| fran/franwip2 | allowedPeers -> auth obj | Fran Bull | 16 months |
| fran/franwip3 | wip | Fran Bull | 16 months |
| fran/natc-consensus-prototype | remove clusterPeers and use peers and tags to find peers | Fran Bull | 21 months |
| fran/natc-raft | wip | Fran Bull | 19 months |
| fran/noodle | wip | Fran Bull | 2 months |
| fserb/githook-version | misc/git_hook: propagate shared HOOK_VERSION | Fernando Serboncini | 8 weeks |
| fserb/main | misc/genreadme,tempfork/pkgdoc,tsnet: generate README.md files from godoc | Brad Fitzpatrick | 8 weeks |
| fserb/natlab-flaky | DO NOT SUBMIT: tsnet/natlab flaky investigation | Fernando Serboncini | 4 months |
| fserb/signed-off-check | .github/workflows: require Signed-off-by trailer on commit messages | Fernando Serboncini | 9 weeks |
| george/corp-39272-match-subdomains | appc, feature/conn25: treat configured domains as wildcards | George Jones | 3 months |
| gesa/ssh-client-session-monitoring | ssh/tailssh: explore client connection monitoring | Gesa Stupperich | 7 months |
| gesa/ssh-crash-local-user | ssh/tailssh: store c.info and c.localUser as values | Gesa Stupperich | 4 months |
| go126 | go.toolchain.branch: switch to Go 1.26 | Brad Fitzpatrick | 3 months |
| hwh33/add-unix-sockets-to-serve | Commit untested Windows code | Harry Harpham | 7 months |
| hwh33/fix-tsnet-listen-service-whois-lookups | ipn/ipnlocal: make WhoIs lookups work for proxied serve connections | Harry Harpham | 2 months |
| hwh33/gokrazy-natlab-qemu-check | gokrazy: add check for qemu | Harry Harpham | 3 months |
| hwh33/offline-integration-test | (wip) tstest/integration: skip log check in TestNode.AwaitResponding | Harry Harpham | 3 months |
| icio/go1.24-testwrapper | cmd/testwrapper: fix for go1.24 | Paul Scott | 16 months |
| icio/opt-nojsonv2 | types/opt: make jsonv2 dependency optional behind ts_omit_jsonv2 tag | Paul Scott | 16 months |
| icio/public-key-short | cmd/tailscale/cli: use tabwriter for output and add --ids, --headers flags to... | Paul Scott | 2 years |
| icio/testwrapper2 | cmd/testwrapper: wip idea | Paul Scott | 16 months |
| ip6tables | WIP: tolerate ip6tables failures. | Denton Gentry | 4 years |
| ipv6-nameserver | k8s-operator: add IPv6 support for DNS records | Raj Singh | 9 months |
| irbekrm/accept_routes | cmd/k8s-operator,k8s-operator: allow proxies accept advertized routes. | Irbe Krumina | 2 years |
| irbekrm/byocerts | WIP: BYO TLS certs for Ingress | Irbe Krumina | 2 years |
| irbekrm/cert_share | initial | Irbe Krumina | 16 months |
| irbekrm/cert_share_kubestore | ipn/store/kubestore,kube,envknob,cmd/tailscaled/depaware.txt: allow kubestore... | Irbe Krumina | 15 months |
| irbekrm/certsharev2 | Initial | Irbe Krumina | 15 months |
| irbekrm/chartandcli | tool: download helm CLI | Irbe Krumina | 3 years |
| irbekrm/cherry_fix_panic | cmd/tailscale/cli: fix configuring partially empty kubeconfig | Irbe Krumina | 2 years |
| irbekrm/cigocacher_tmp | .github/actions/go-cache: put cigocacher bin in /tmp always | Irbe Krumina | 5 months |
| irbekrm/clustermagicdns | WIP: MagicDNS resolution in cluster | Irbe Krumina | 2 years |
| irbekrm/conf | Try to pass config file to tailscaled | Irbe Krumina | 2 years |
| irbekrm/connector_multireplica | WIP: Connector multi-replica | Irbe Krumina | 19 months |
| irbekrm/containerboot_healthz | cmd/containerboot: fix healthcheck | Irbe Krumina | 19 months |
| irbekrm/containerbootdeclarativeconf | cmd/containerboot: optionally configure tailscaled with a configfile | Irbe Krumina | 2 years |
| irbekrm/debug | wip | Irbe Krumina | 19 months |
| irbekrm/dnat | cmd/k8s-operator,k8s-operator/apis/v1alpha1: allow Connector to route traffic... | Irbe Krumina | 23 months |
| irbekrm/dnstest | net/dns: check if Manager.knobs isn't nil before using it | Irbe Krumina | 2 years |
| irbekrm/doc_tags | cmd/k8s-operator: clarify tag requirements | Irbe Krumina | 14 months |
| irbekrm/egress | cmd/k8s-operator: add --enable-dns flag | Irbe Krumina | 3 years |
| irbekrm/egress-dns | WIP: dns reconciler | irbekrm | 3 years |
| irbekrm/egressc | WIP: update | Irbe Krumina | 18 months |
| irbekrm/egressconfig | VIP | Irbe Krumina | 20 months |
| irbekrm/egressha | egress HA: WIP | Irbe Krumina | 22 months |
| irbekrm/egresshapm | egress HA via portmapping prototype | Irbe Krumina | 21 months |
| irbekrm/eks | WIP | Irbe Krumina | 23 months |
| irbekrm/external_services | Initial work | Irbe Krumina | 2 years |
| irbekrm/extsvcnftableslb | Initial commit | Irbe Krumina | 2 years |
| irbekrm/fix | net/dns: check if Manager.knobs isn't nil before using it | Irbe Krumina | 2 years |
| irbekrm/fix_logout_loop | controlclient: make logout a no-op if already logged out | Irbe Krumina | 3 years |
| irbekrm/fixsubnets | wgengine/netstack: fix 4via6 subnet routes | Irbe Krumina | 2 years |
| irbekrm/funnel_on | tailcfg: add a new TailscaleFunnelUsageDetected method | Irbe Krumina | 17 months |
| irbekrm/improve_logout | ttest/integration: adds an integration test for logout | Irbe Krumina | 3 years |
| irbekrm/ingress_services | k8s-operator: adding final tests | chaosinthecrd | 13 months |
| irbekrm/k8s-autopilot | cmd/k8s-operator: ensures proxy can run on GKE Autopilot | Irbe Krumina | 3 years |
| irbekrm/k8s-nftables | WIP:cmd/k8s-operator: use nftables for proxy | Irbe Krumina | 3 years |
| irbekrm/k8sipnft | cmd/containerboot,cmd/k8s-operator: ingress/egress proxy can optionally use n... | Irbe Krumina | 3 years |
| irbekrm/k8sipnftheuristics | cmd/containerboot: improve netlink config engine selection | Irbe Krumina | 3 years |
| irbekrm/kube_build_tags | k8s-operator: remove build tags that exclude plan9 | Irbe Krumina | 3 years |
| irbekrm/kubeipnft | cmd/containerboot,cmd/k8s-operator: ingress/egress proxy can optionally use n... | Irbe Krumina | 3 years |
| irbekrm/kubetestsetup | wip | Irbe Krumina | 23 months |
| irbekrm/lcdeprecated | client/tailscale: add deprecation notice to the internal ts API client | Irbe Krumina | 17 months |
| irbekrm/le | WIP:cmd/k8s-operator: run tailscaled and api server proxy on for leader replicas | Irbe Krumina | 3 years |
| irbekrm/log_invalid_order | ipn/ipnlocal: log ACME Order URL for invalid Orders | Irbe Krumina | 14 months |
| irbekrm/manifests_crd | cmd/k8s-operator: add CRD to static manifest | Irbe Krumina | 2 years |
| irbekrm/maybe_fix_v6 | util/linuxfw: allow IPv6 routes when ip6tables are unavailable | Irbe Krumina | 2 years |
| irbekrm/operator_linux_only | cmd/k8s-operator,k8s-operator,scripts: only build on linux | Irbe Krumina | 24 months |
| irbekrm/operatorversion | cmd/k8s-operator: annotate proxy StatefulSets with operator version | Irbe Krumina | 2 years |
| irbekrm/os | cmd/k8s-operator: ensure that operator can write to config dir | Irbe Krumina | 2 years |
| irbekrm/pc_pretendpoints | cmd/k8s-operator,k8s-operator: WIP: allow setting static endpoints via ProxyC... | Irbe Krumina | 16 months |
| irbekrm/pretendpoints | cmd/k8s-operator, k8s-operator: support direct connections on ProxyGroups | chaosinthecrd | 13 months |
| irbekrm/proxycidrs | WIP | Irbe Krumina | 22 months |
| irbekrm/proxyclass | Wip | Irbe Krumina | 2 years |
| irbekrm/proxyclass2 | Wip | Irbe Krumina | 2 years |
| irbekrm/pull_in_certs | cmd/k8s-operator,ipn: prototype- user provisioned certs | Irbe Krumina | 3 years |
| irbekrm/reload_config | code review feedback | Irbe Krumina | 22 months |
| irbekrm/serve_log | ipn/ipnlocal: log if ServeConfig cannot be configured | Irbe Krumina | 20 months |
| irbekrm/set_args | cmd/containerboot: provide extra args to 'tailscale set' | Irbe Krumina | 2 years |
| irbekrm/splitkeys | Ingress for VIP | Irbe Krumina | 2 years |
| irbekrm/static_crd | cmd/k8s-operator/deploy/manifests: update generated static manifest | Irbe Krumina | 2 years |
| irbekrm/svc_conditions | cmd/k8s-operator: proxy Service conditions | irbekrm | 3 years |
| irbekrm/tunmssg | net/tstun: make tun creation error diagnostic more container friendly | Irbe Krumina | 18 months |
| irbekrm/udp_fwd | wip | Irbe Krumina | 17 months |
| irbekrm/vip_svcs_api | client/tailscale: add logic to get/put/delete VIPServices | Irbe Krumina | 17 months |
| irbekrm/websocket | cmd/k8s-operator,k8s-operator/session-recording: implement support for WebSoc... | Irbe Krumina | 23 months |
| jamesbrad/controlhttp-race-dial | control/controlhttp: simplify, fix race dialing, remove priority concept | Brad Fitzpatrick | 9 months |
| jasonodonnell/sync | tailsync | Jason O'Donnell | 3 months |
| jaxxstorm/ssm_kms | ipn/store/awsstore: allow providing a KMS key | Lee Briggs | 16 months |
| jaxxstorm/static_endpoints | switch back to omitempty | Lee Briggs | 7 months |
| jknodt/bw_rep2 | Create logger for derp bandwidth | julianknodt | 5 years |
| jknodt/derp_flow | derp: add session flows | Brad Fitzpatrick | 5 years |
| jknodt/integ_test | tstest/integration: taildrop integration test | julianknodt | 5 years |
| jknodt/io-uring | add capability check | kadmin | 5 years |
| jknodt/logging | wgengine: log connection metrics | julianknodt | 5 years |
| jknodt/periodic_probe | Remove old portmapping code | julianknodt | 5 years |
| jknodt/portmap_test | net/portmapper: add sketch of a TestIGD for portmapper testing | Brad Fitzpatrick | 5 years |
| jknodt/upnp | Move upnp portmap to separate fn | julianknodt | 5 years |
| jknodt/upnp_reuse | net/portmapper: reuse root device across calls | julianknodt | 5 years |
| jknodt/userderp | tailcfg: Add user derps field to derpmap | julianknodt | 5 years |
| jknodt/vms_ref | tstest/integration/vms: mv into own fns | julianknodt | 5 years |
| jonathan/deadlock-fix | ipn/ipnlocal: fix deadlock in ipn bus watcher | Jonathan Nobels | 2 months |
| jonathan/derp-health-spam | health: skip no-derp-home warnings when not connected | Jonathan Nobels | 5 months |
| jonathan/dns_loopback | net/netns, version: enable interface binding for loopback addrs on sandboxed ... | Jonathan Nobels | 14 months |
| jonathan/missing_resolvers | net/netmon: add netmon hook for os-derived network change notifications | Jonathan Nobels | 22 months |
| jonathan/netns_probe | use net/art | Jonathan Nobels | 5 months |
| josh/IPWithPort | ip.WithPort | Josh Bleecher Snyder | 5 years |
| josh/NewIPPort | netaddr.NewIPPort | Josh Bleecher Snyder | 5 years |
| josh/coarsetime | convert more things to use coarsetime | Josh Bleecher Snyder | 5 years |
| josh/de-select-tstun-wrapper | net/tstun: add inner loop to poll | Josh Bleecher Snyder | 5 years |
| josh/debug-TestLikelyHomeRouterIPSyscallExec | net/interfaces: add debugging code for crawshaw | Josh Bleecher Snyder | 5 years |
| josh/debug-flake | debug | Josh Bleecher Snyder | 5 years |
| josh/deflake-pipe-again | run pipe test many times | Josh Bleecher Snyder | 5 years |
| josh/fast-time | flex | Josh Bleecher Snyder | 5 years |
| josh/immutable-views | WIP snapshot | Josh Bleecher Snyder | 5 years |
| josh/io_uring | fix include line | Josh Bleecher Snyder | 5 years |
| josh/longblock | WIP | Josh Bleecher Snyder | 5 years |
| josh/no-goroutine-per-udp-read-2 | try a stupider way to have one goroutine per udp read (doesn't work) | Josh Bleecher Snyder | 6 years |
| josh/opt-dp-wip | internal/deepprint: handle common map types specially | Josh Bleecher Snyder | 5 years |
| josh/opt-getstatus | optimize: calc size, use values | Josh Bleecher Snyder | 5 years |
| josh/peermap | wgengine/magicsock: call peerMap.validate at the end of SetNetworkMap | Josh Bleecher Snyder | 5 years |
| josh/remove-ipcgetfilter | wgengine: remove IpcGetOperation filter | Josh Bleecher Snyder | 5 years |
| josh/simplify-filch | logtail/filch: use bufio.ScanLines | Josh Bleecher Snyder | 5 years |
| josh/tswebflags | tsweb: add DebugHandler.FlagSet | Josh Bleecher Snyder | 4 years |
| josh/udp-alloc-less | wgengine/magicsock: remove an allocation in ReceiveIPv4 | Josh Bleecher Snyder | 5 years |
| josh/wip/create-endpoint-no-public-key | WIP: encode peer public key in endpoint | Josh Bleecher Snyder | 5 years |
| josh/wip/endpoint-serialize | WIP, do not review | Josh Bleecher Snyder | 5 years |
| jwhited/android-packet-vectors | wgengine/magicsock: enable batching ops for android | Jordan Whited | 2 years |
| jwhited/derp-cmm-timestamp | derp,wgengine/magicsock: more call-me-maybe tracing | Jordan Whited | 3 years |
| jwhited/derp-https-tcp-connect | net/netcheck: change DERP HTTPS latency measurement to TCP connect time | Jordan Whited | 22 months |
| jwhited/disable-peer-relay-if-cryptorouting-disabled | wgengine/magicsock: disable Peer Relay if CryptoRouting is disabled | Jordan Whited | 10 months |
| jwhited/ep-relay-capable | fixup! wgengine/magicsock: hook relay server alloc into path discovery | Jordan Whited | 13 months |
| jwhited/gVisor-gso-gro | net/tstun,wgengine/netstack: GSO from gVisor experiment | Jordan Whited | 23 months |
| jwhited/gvisor-revert-gro | Revert "wgengine/netstack: increase gVisor's TCP send and receive buffer size... | Jordan Whited | 22 months |
| jwhited/lazy-endpoint-control-knobs | wgengine/magicsock: apply cryptorouting knob to periodic/init msg eval | Jordan Whited | 10 months |
| jwhited/peer-relay-pathological-intervals | wgengine/magicsock: adjust peer relay path discovery interval | Jordan Whited | 11 months |
| jwhited/peer-verify-every-packet-batch | wgengine/magicsock: always use Cryptokey Routing identification | Jordan Whited | 12 months |
| jwhited/qd-slice | prober: qd example using slice | Jordan Whited | 18 months |
| jwhited/relay-handshake | wgengine/magicsock: start to shape relayManager handshaking | Jordan Whited | 13 months |
| jwhited/relay-manager-alloc-req-no-keepalives | wgengine/magicsock: don't reuse TCP conns across peer relay alloc reqs | Jordan Whited | 11 months |
| jwhited/relay-manager-logs | wgengine/magicsock: add relayManager event logs | Jordan Whited | 9 months |
| jwhited/relay-peerapi | ipn/ipnlocal: add peerapi endpoint for relay server endpoint allocation | Jordan Whited | 14 months |
| jwhited/relay-set-flags-config | ipn: add peer relay set flags to ConfigVAlpha config format | Jordan Whited | 7 months |
| jwhited/test-local-forwarder | wgengine/netstack: hacky iperf loopback via quad-100 | Jordan Whited | 22 months |
| jwhited/testing-mod-capver-checks | various relay fixes | Jordan Whited | 12 months |
| jwhited/udprelay-metrics-per-batch | net/udprelay: per packet batch example | Jordan Whited | 6 months |
| jwhited/udprelay-xdp | net/udprelay: XDP PoC | Jordan Whited | 6 months |
| jwhited/unsafe-exp | net/tstun: DO NOT MERGE fast path similar packets | Jordan Whited | 3 years |
| jwhited/verify-peer-periodically | wgengine/magicsock: resolve [epAddr] collisions across peer relay conns | Jordan Whited | 11 months |
| jwhited/wireguard-go-vectorized-bind | wgengine/magicsock: implement wireguard-go conn.VectorBind | Jordan Whited | 4 years |
| k8s-idp | cmd/k8s-operator: add IDP CRD for OpenID Connect identity provider | Raj Singh | 11 months |
| k8s-proxy-authkey-renewal-v2 | cmd/k8s-proxy: add auth key renewal support | chaosinthecrd | 3 months |
| k8s-proxy-l4-tcpforward | cmd/k8s-proxy: use L4 TCPForward instead of L7 HTTP proxy | chaosinthecrd | 4 months |
| k8s_priority_class | cmd/k8s-operator,k8s-operator: allow setting a `priorityClassName` | Lee Briggs | 11 months |
| kari/nilbus | ipn/ipnlocal: fix nil bus panic | kari-ts | 12 months |
| kari/saftaildrop | ipn,ipnlocal,taildrop: use SAF for Android files | kari-ts | 14 months |
| kari/taildropsaf | TO DO: | kari-ts | 14 months |
| kari/taildropsaf2 | ipn,ipnlocal,taildrop: use SAF for Android files | Nick Khyl | 13 months |
| kevin/Split_Remove_advertised_routes_from_pref | add debug cmd for routeInfo | Kevin Liang | 2 years |
| kevin/add_services_flag_to_tailscale_serve_and_enrich_output | cmd/tailscale/cli: Add clear subcommand to serve | KevinLiang10 | 13 months |
| kevin/add_services_to_status_subcommand_for_serve | cmd/tailscale/cli: Add output for services to serve status | KevinLiang10 | 15 months |
| kevin/allow_serve_remote_destination | cmd/tailscale/cli: allow remote target as service destination | KevinLiang10 | 7 months |
| kevin/allow_service_host_access_hosted_service_test | test | KevinLiang10 | 5 months |
| kevin/packet_to_vipService_by_ip_instead_of_host | cmd/tailscale/cli: change parameter of IsTCPForwardingOnPort | KevinLiang10 | 12 months |
| kevin/test_for_applyCheckoutAddr | add a test for applyCheckoutAddr | Kevin Liang | 13 months |
| knyar/derpmesh | derp/derphttp: add watch reconnection tests from #9719 | Anton Tolchanov | 3 years |
| knyar/dnstest | WIP: debug DNS test | Anton Tolchanov | 14 months |
| knyar/install | .github: allow triggering installer.sh check manually | Anton Tolchanov | 17 months |
| knyar/install2 | installer.sh: do not run `pacman -Sy` | Anton Tolchanov | 2 years |
| knyar/installmore | .github: test installer script on latest ubuntu with wget | Anton Tolchanov | 17 months |
| knyar/lp | cmd/lopower: expose metrics and tsnet logs | Anton Tolchanov | 13 months |
| knyar/metricshelp | metrics: do not export MultiLabelMap with no variables | Anton Tolchanov | 20 months |
| knyar/metrictype | metrics: use constants for metric types | Anton Tolchanov | 22 months |
| knyar/morebuntu | .github: run tests on Ubuntu 24.04 rather than 22.04 | Anton Tolchanov | 14 months |
| knyar/netmapdiff2 | getting confused by cmp.diff | Anton Tolchanov | 9 months |
| knyar/nodekey | cmd/nodekey: add a tool to print nodekey | Anton Tolchanov | 3 months |
| knyar/posturemac | Add serial number example for linux | Kristoffer Dalby | 3 years |
| knyar/renew | cmd/tailscale: add the renew command | Anton Tolchanov | 2 years |
| knyar/restartmap | ipn/ipnlocal: restart the map poll when posture checking is enabled | Anton Tolchanov | 3 years |
| knyar/serve-grants-headers | Populate nm.PacketFilter, use b.SetControlClientStatus | Anton Tolchanov | 9 months |
| knyar/sshcap | WIP expiring caps | Anton Tolchanov | 9 months |
| knyar/tnlocktest | ipn/ipnlocal: group LocalBackend changes, remove unnecessary check | Anton Tolchanov | 13 months |
| knyar/userfacing-metrics | move tailscaled_health_messages to the health package | Anton Tolchanov | 22 months |
| knyar/usermetrics-wgengine | Add AggregateCounter | Anton Tolchanov | 21 months |
| knyar/worklifeposture | work life posture | Anton Tolchanov | 2 years |
| kradalby-keys-db-interface | types/key: add database scan/value to publickeys | Kristoffer Dalby | 3 years |
| kradalby/chaos | no panic | Kristoffer Dalby | 2 years |
| kradalby/chaos-oss | cmd/chaos: add load testing util | Kristoffer Dalby | 10 months |
| kradalby/disable-logtail-per-instance | logtail,control/controlclient,ipn/ipnlocal: add tests for per-instance Disabl... | Kristoffer Dalby | 3 months |
| kradalby/keys-db-interface | types/key: add database scan/value to publickeys | Kristoffer Dalby | 3 years |
| kradalby/nix-dont-overlap-tool | tool: use same helm regardless of Nix | Kristoffer Dalby | 17 months |
| kradalby/nixos-module | nixos: add shared services propagation VM test | Kristoffer Dalby | 3 months |
| kradalby/qnap-xml | release/dist/qnap: preserve .codesigning files as build artifacts | Kristoffer Dalby | 2 months |
| kradalby/ssh-exit-status-ordering | ssh/tailssh: add integration tests for exit codes, half-close, and SIGHUP | Kristoffer Dalby | 2 months |
| kradalby/userfacing-metrics-moar | debug set subnet routes | Kristoffer Dalby | 21 months |
| kradalby/usermetrics-wgengine-errors | wgengine: add userfacing error metrics | Kristoffer Dalby | 20 months |
| kradalby/view-only-type | cmd/viewer: add view-only option | Kristoffer Dalby | 2 years |
| kristoffer/editable-tailnet-displayname | posture: ignore not found serial errors | Kristoffer Dalby | 3 years |
| kristoffer/enable-mips-pkgs | release: enable mipsle and mips64le pkgs for Debian | Kristoffer Dalby | 3 years |
| kube_exp | Experimental | Irbe Krumina | 2 years |
| licenses/android | licenses: update android licenses | License Updater | 2 years |
| licenses/cli | licenses: update tailscale{,d} licenses | License Updater | 2 years |
| licenses/corp | licenses: update win/apple licenses | License Updater | 2 years |
| lp | cmd/lopower: fix typo | Brad Fitzpatrick | 19 months |
| lykathia/posture | posture: add HealthTracker for serial number retrieval | Evan Lowry | 2 months |
| lzjluzijie/227_http_proxy | control/controlclient: use PAC from registry on Windows | Zijie Lu | 6 years |
| lzjluzijie/all_proxy | use ALL_PROXY for http client | Zijie Lu | 6 years |
| macsys-update | clientupdate: return NOTREACHED for macsys | Chris Palmer | 3 years |
| main | all: fix duplicate package docs and tighten TestPackageDocs | Brad Fitzpatrick | 8 weeks |
| maisem/doc | client/tailscale/apitype,tailcfg: document WhoIsResponse fields | Maisem Ali | 3 years |
| maisem/exp-k8s | wip | Maisem Ali | 2 years |
| maisem/fix-deadlock | ssh/tailssh: remove deprecated local recording envknob | Maisem Ali | 3 years |
| maisem/flake-3 | tsweb: deflake TestStdHandler_ConnectionClosedDuringBody | Maisem Ali | 23 months |
| maisem/hi | ipn/ipnlocal: store HostinfoView on LocalBackend | Maisem Ali | 3 years |
| maisem/k8s-cache | ipn/store/kubestore: cache state in memory | Maisem Ali | 3 years |
| maisem/ni | ipn/ipnlocal: move tailcfg.Netinfo ownership to LocalBackend | Maisem Ali | 3 years |
| maisem/proxy-1 | wip | Maisem Ali | 2 years |
| maisem/tsnet-forward | tsnet: expose ForwardTCPHandler from netstack | Maisem Ali | 21 months |
| marwan/altmem_stash | ipn, ipn/ipnlocal: add Foreground field for ServeConfig | Marwan Sulaiman | 3 years |
| marwan/displayname | ipn/ipnlocal,others: add tailnet display name to user profile | Marwan Sulaiman | 3 years |
| marwan/noconstructor | portlist: move sync.Once up and Close on err | Marwan Sulaiman | 3 years |
| marwan/noconstructor2 | wip | Marwan Sulaiman | 3 years |
| marwan/offunc | util/set: add SetOfFunc | Marwan Sulaiman | 23 months |
| marwan/polleropts | portlist: Accept Options for NewPoller | Marwan Sulaiman | 3 years |
| marwan/portlistrefactor | Ensure ticker stop | Marwan Sulaiman | 3 years |
| marwan/postmem | ipn, ipn/ipnlocal: add Foreground field for ServeConfig | Marwan Sulaiman | 3 years |
| marwan/scmem | ipn, ipn/ipnlocal: add an in memory serve config | Marwan Sulaiman | 3 years |
| marwan/servedev | cmd/tailscale: combine funnel and serve under dev flag | Marwan Sulaiman | 3 years |
| marwan/tmp | Remove loopback for tcp | Marwan Sulaiman | 3 years |
| merge-tag | Merge tag 'v1.24.0' | James Tucker | 4 years |
| mihaip/delete-all-profiles | ipn/localapi: add LocalAPI support for removing all profiles | Mihai Parparita | 4 years |
| mihaip/fas | ipn/localapi: basic LocalAPI endpoints for profiles | Mihai Parparita | 4 years |
| mihaip/js-cli | cmd/tailscale/cli: remove special-casing of JS/WASM | Mihai Parparita | 4 years |
| mihaip/logout-async-start | ipn/ipnlocal: fix controlclient reentrancy when deleting profile during logout | Mihai Parparita | 4 years |
| mihaip/wasm-taildrop | wasm: implement Taildrop receiving | Mihai Parparita | 4 years |
| mikeodr/add-nixos-modules | Test, will squash | Mike O'Driscoll | 8 months |
| mikeodr/cache-sorted-peers | control/controlclient: cache sortedPeers result across calls | Mike O'Driscoll | 2 months |
| mikeodr/peer-gone-perf-38509 | derp/derpserver: add server-level not-here cache for absent peer drops | Mike O'Driscoll | 3 months |
| miriah-3808-reset-operator | cmd/tailscale: remove commented code | soypete | 4 years |
| mjf/exactitude | util/eventbus: check for extra events in a test stream | M. J. Fromberger | 8 weeks |
| mjf/nmc-omit-selective | ipn/ipnlocal: disable netmap caching for ios | M. J. Fromberger | 2 months |
| mjf/nmc-status | ipn/ipn{local,state}: add a status indicator for a cached netmap | M. J. Fromberger | 3 months |
| mjf/no-ws-on-ios | {control/controlhttp,derp/derphttp}: restore websocket dependency tests | M. J. Fromberger | 13 months |
| mkramlich/macos-brew | Homebrew packaging of the non-IPNExtension, unsandboxed tailscale{d} releases... | Mike Kramlich | 5 years |
| mkramlich/macos-brew2 | brew: added TODO; revised README; added to formula caveats and test | Mike Kramlich | 5 years |
| mpminardi/bump-go-patch | various: bump go dependeny to 1.23.5 | Mario Minardi | 17 months |
| mpminardi/deadlock-test | go.{mod,sum}: testing deadlock detector | Mario Minardi | 17 months |
| mpminardi/derp-experiments | Experiment with ideal connect flow | Mario Minardi | 19 months |
| mpminardi/derp-ideal-reconnect | derp/derphttp: automatically reconnect to ideal DERP node | Mario Minardi | 18 months |
| mpminardi/dsm-7-2-builds-fix | release: add proper min and max versions for DSM 7.x builds | Mario Minardi | 20 months |
| mpminardi/flaky-test-ssh | temp | Mario Minardi | 4 months |
| mpminardi/policy-debugging | Temp for debugging | Mario Minardi | 11 months |
| mpminardi/temp | cmd/tailscale: get command for printing settings | Simon Law | 14 months |
| mpminardi/test-cache-experiments | temp | Mario Minardi | 15 months |
| mpminardi/tsnet-test | testing | Mario Minardi | 5 months |
| mzb/authreconfig-debounce-from-extension | move debounce to ExtensionHost | Michael Ben-Ami | 3 months |
| mzb/conn25-access-to-ext | sketch | Michael Ben-Ami | 2 months |
| mzb/conn25-arch-noodle | rearrange things | Michael Ben-Ami | 8 weeks |
| mzb/conn25-handle-address-assignment-experimental | sync test for handleAddressAssignment, separate test for enqueing to channel | Michael Ben-Ami | 3 months |
| mzb/corp-30906/direct-dnstype | fix up unit tests | Michael Ben-Ami | 10 months |
| mzb/corp-35989/conn25-filters | ipnlocal,wgengine/filter: integrate filters with Connectors 2025 app | Michael Ben-Ami | 4 months |
| mzb/corp-39317/self-routed-domains | appc,feature/conn25,types/appctype: configure and check self-routed domains | Michael Ben-Ami | 2 months |
| mzb/dnat-exp | [DRAFT] appc,wgengine: sketch how connectors 2025 hooks into the | Michael Ben-Ami | 4 months |
| naman/ephem-expand-range | net/tsaddr: expand ephemeral nodes range to /64 | Naman Sood | 5 years |
| naman/netstack-bump-version | Don't change hardcoded IP | Naman Sood | 5 years |
| naman/netstack-incoming | wgengine/netstack: forward incoming connections to localhost | Naman Sood | 5 years |
| naman/netstack-outgoing-udp-test | wgengine, cmd/tailscaled: refactor netstack, forward TCP to hello as demo | Naman Sood | 5 years |
| naman/netstack-request-logging | use net.JoinHostPort | Naman Sood | 5 years |
| naman/netstack-subnet-routing | merge with main | Naman Sood | 5 years |
| naman/netstack-use-tailscale-ip | Merge with main | Naman Sood | 5 years |
| naman/serveconf-endpointinfo-tests | broken don't merge: tests | Naman Sood | 6 months |
| naman/web-client-update-fixes | client/web: fix UI bug in self-update card | Naman Sood | 20 months |
| net-audit-log/1.32 | syncs: add Map (#6260) | Joe Tsai | 4 years |
| netstat-unsafe | net/netstat: add some paranoia around syscall | Josh Bleecher Snyder | 6 years |
| nickkhyl/appendmatchingpeers | ipn/ipnlocal: fix taildrop deadlock | Nick Khyl | 14 months |
| nickkhyl/authreconfig-defer-unlock | ipn/ipnlocal: ensure b.mu is always unlocked in (*LocalBackend).authReconfig | Nick Khyl | 12 months |
| nickkhyl/authreconfig-once | ipn/ipnlocal: call authReconfig once per cc status update | Nick Khyl | 13 months |
| nickkhyl/authurl-notify-backport | ipn/ipnlocal: always send auth URL notifications when a user requests interac... | Nick Khyl | 22 months |
| nickkhyl/context-with-lock | util/ctxlock: enforce mutex lock ordering defined by its rank | Nick Khyl | 13 months |
| nickkhyl/ctxlock-generics | util/ctxlock: make ctxlock.Context generic | Nick Khyl | 14 months |
| nickkhyl/fix-dialplan-resets | ipn/ipnlocal: move resetDialPlan to after cc.Logout() returns | Nick Khyl | 14 months |
| nickkhyl/healthnotify-on-release | health: fix TestControlHealthNotifies on release branches | Nick Khyl | 8 months |
| nickkhyl/http2-for-win-safesocket | client/tailscale,ipn/ipnserver: use h2c (for http/2 multiplexing) for LocalAP... | Nick Khyl | 21 months |
| nickkhyl/ipn-user-identity | ipn, ipn/ipnauth: implement API surface for LocalBackend access checking | Nick Khyl | 2 years |
| nickkhyl/lb-statemachine2 | ipn/ipnlocal: serialize authReconfig calls via the event bus | Nick Khyl | 8 months |
| nickkhyl/locksmith | Revert "ipn/ipnlocal: replace the LockedOnEntry pattern with conventional loc... | Nick Khyl | 10 months |
| nickkhyl/nodecontext-lifecycle | ipn/ipnlocal: signal localNodeContext readiness and shutdown | Nick Khyl | 14 months |
| nickkhyl/posture-sn-override | posture, util/syspolicy: append DeviceSerialNumber from syspolicy on Windows | Nick Khyl | 24 months |
| nickkhyl/rioconn | net/rioconn/rioperf: add CLI to measure UDPConn performance | Nick Khyl | 4 months |
| nickkhyl/syspolicy-new | uti/syspolicy: user policy support, auto-refresh and initial preparation for ... | Nick Khyl | 23 months |
| nickkhyl/tailscaled-deferredinit | cmd/tailscaled: defer COM initialization and enabling GP lock restrictions on... | Nick Khyl | 17 months |
| nickkhyl/tsvnic-experiment | net/{batching,sockopts,udprelay},wgengine/magicsock: create batching.Conn early | Nick Khyl | 5 months |
| nickkhyl/viewer-improvements | tailcfg,types/netmap,wgengine/filter/filtertype: generate a read-only netmap.... | Nick Khyl | 14 months |
| nix-shell | comment out the shell.nix file | Christine Dodrill | 5 years |
| nocross | tool/gocross: make gocross opt-in instead of opt-out | Brad Fitzpatrick | 12 months |
| noerror-not-notimp | wgengine/tsdns: return NOERROR instead of NOTIMP for most records | Smitty | 5 years |
| noncombatant/add-hello-systemd | cmd/hello: add a systemd configuration file | Chris Palmer | 2 years |
| noncombatant/large-int-string | cli: print large ints as strings | Chris Palmer | 3 years |
| noncombatant/safeweb-cleanup | safeweb: try out some ideas [WIP] [DO NOT MERGE] | Chris Palmer | 2 years |
| nyghtowl/fix-resolved | net/dns: fix resolved dbus issue | nyghtowl | 4 years |
| nyghtowl/tailnet-name2 | tailconfig: add tailnet field to node | nyghtowl | 4 years |
| onebinary | cmd/tailscale{,d}: combine into a single binary | Denton Gentry | 5 years |
| operator_direct_connections | Set dns policy to `ClusterFirstWithHostNet` | Lee Briggs | 17 months |
| ox/11854 | ssh/tailssh: add integration tests for ssh | Percy Wegmann | 2 years |
| ox/11854-3-sftp | Ineffective attempt making sftp work with pam | Percy Wegmann | 2 years |
| ox/11954-3 | WIP | Percy Wegmann | 2 years |
| ox/corp-19592 | drive/driveimpl: rewrite text/html Content-Type to text/plain | Percy Wegmann | 2 years |
| oxtoacart/automount | cmd/tailscale,ipn:add support for automounting TailFS shares on MacOS | Percy Wegmann | 2 years |
| oxtoacart/dsnet_codereview_fixes | tailfs: improve doc comments for compositefs | Percy Wegmann | 2 years |
| oxtoacart/golden_memory | GC before and after router configuration | Percy Wegmann | 2 years |
| oxtoacart/immediately_access_shares | Immediately access shares when adding them | Percy Wegmann | 2 years |
| oxtoacart/no_indent_status | ipn/localapi: don't indent status response | Percy Wegmann | 2 years |
| patrickod/backport-csrf-fix | client/web: fix CSRF handler order in web UI (#15143) | Patrick O'Doherty | 16 months |
| patrickod/bradtfitz-flow-rebased | derp: start adding flow tracking stats | Brad Fitzpatrick | 18 months |
| patrickod/bump-circl | go.mod: bump github.com/cloudflare/circl@v1.6.1 | Patrick O'Doherty | 12 months |
| patrickod/hardware-attestation-key | control/controlclient: add HardwareAttestationKey to MapRequest | Patrick O'Doherty | 9 months |
| patrickod/reverse-web-handler-order-csrf | client/web: fix CSRF handler order in web UI | Patrick O'Doherty | 16 months |
| patrickod/safeweb-sec-fetch-site | safeweb: replace gorilla with Sec-Fetch-Site check | Patrick O'Doherty | 14 months |
| patrickod/swtpm-integration-test | feature/tpm: add swtpm-based integration tests | Patrick O'Doherty | 7 months |
| patrickod/webui-sec-fetch-site | client/web: deprecate gorilla/csrf | Patrick O'Doherty | 14 months |
| percy/cherry-pick-2648d475d751b47755958f47a366e300b6b6de0a | drive: don't allow DELETE on read-only shares | Percy Wegmann | 2 years |
| percy/corp27066-vizerror-wrapf | util/vizerror: add Wrapf function that combines Errorf with Wrap | Percy Wegmann | 15 months |
| percy/corp35008 | Try to get rid of tstest.Clock | Percy Wegmann | 6 months |
| percy/derp-jwt | DERP JWT POC | Percy Wegmann | 20 months |
| percy/derp-track-drop-distribution | derp: track histograms of packet drops by client | Percy Wegmann | 17 months |
| percy/derp-track-queue-depth | attempt 1 | Percy Wegmann | 17 months |
| percy/derp_sequence_diagram | derp: add sequence diagrams to README | Percy Wegmann | 19 months |
| percy/derpopt | quic-go experimentation | Percy Wegmann | 18 months |
| percy/drive-verbose | More verbose Taildrive logging, DO NOT MERGE TO main | Percy Wegmann | 12 months |
| percy/issue14393 | ipn/ipnlocal: add more logging for initializing peerAPIListeners | Percy Wegmann | 15 months |
| percy/issue16983 | WIP | Percy Wegmann | 9 months |
| percy/issue24522-1-continuous-bandwidth | cmd/derpprobe,prober: add ability to continuously probe bandwidth and track q... | Percy Wegmann | 19 months |
| percy/issue24522-2-region-restrict-yaml | cmd/derpprobe,prober: add ability to restrict specific kind of derp probes to... | Percy Wegmann | 19 months |
| percy/issue8593 | go.mod: use tailscale/golang-x-crypto that only includes acme package | Percy Wegmann | 2 years |
| percy/issue8593-prep | ssh/tailssh: remove unused public key authentication logic | Percy Wegmann | 2 years |
| percy/movelocalapi | WIP | Percy Wegmann | 16 months |
| percy/oss14025 | cmd/tailscaled: actually derive statedir from statepath | Percy Wegmann | 9 months |
| percy/oss14025-2 | cmd/tailscaled: update comment on --statedir flag to no longer claim that it ... | Percy Wegmann | 9 months |
| percy/unforked-ssh-try | ssh/tailssh: try out new AuthBanner API | Percy Wegmann | 20 months |
| peske/elnotfound | Merge branch 'main' into peske/elnotfound | Aleksandar Pesic | 5 years |
| peske/ifacewatcher | Implement interface change logging. | Aleksandar Pesic | 5 years |
| proxyclass/sa | cmd/k8s-operator: reset the svc account name in test | Lee Briggs | 13 months |
| ptruby/initial-tailscale-ui-components-integration | client/web: integrate tailscale-ui-components repo | Paul Rubritz | 8 months |
| push-otwrlsqunmon | WIP: internal debugging machinery | David Anderson | 15 months |
| push-tyyxlsmpmlvz | WIP: arena-based packet buffer abstraction | David Anderson | 11 months |
| push-wmvmtoxuoumt | .github: disable the actions cache on all CI steps | David Anderson | 15 months |
| push-ykxypyzonmux | ipn/localapi: enable TLS cert issuance API on android | David Anderson | 14 months |
| raggi/accept-routes-filter | ipn,ipn/ipnlocal,cmd/tailscale/cli: add support for passing a route filter vi... | James Tucker | 4 years |
| raggi/atomiccloseonce | wgengine: avoid the need to reenter the engine lock on double close | James Tucker | 3 years |
| raggi/bump-goreleaserv2 | go.mod,cmd/mkpkg,packages,release/dist: update to goreleaser v2 | James Tucker | 3 years |
| raggi/callmebaby | wgengine/magicsock: fix the freshness of endpoints in callmemaybe | James Tucker | 22 months |
| raggi/cmdname | version: compute CmdName from in-memory build info, not on-disk scan | Ubuntu | 8 weeks |
| raggi/derp-204-cache-control | derp/derphttp: set cache-control to disallow caching of captive portal checks | James Tucker | 17 months |
| raggi/derp-intern-key | derp: intern key.NodePublic across the server | James Tucker | 19 months |
| raggi/derp-probe-stun-loss | prober: make DERP probes fail when stun requests fail | James Tucker | 3 years |
| raggi/derp-route-optimization | wgengine/magicsock: remove DERP routes on peer gone even if there's a conn ch... | James Tucker | 23 months |
| raggi/disco-key-rotate-graceful | disco,ipn/ipnlocal,wgengine/magicsock: add graceful disco key rotation | James Tucker | 7 months |
| raggi/disco-key-tsmp | net,wgengine: add support for disco key exchnage via TSMP | James Tucker | 7 months |
| raggi/disco-key-tsmp2 | net,wgengine: add support for disco key exchnage via TSMP | James Tucker | 7 months |
| raggi/dnsfallback | net/dnsfallback: update DNS fallback derpmap | James Tucker | 23 months |
| raggi/document-deprecated-approach | ipn/policy,tailcfg: document desire to not extend peerapi service advertiseme... | James Tucker | 3 years |
| raggi/envknobs-gso-gro | net/batching: add envknobs to disable UDP GRO & GSO | James Tucker | 7 months |
| raggi/eperm-health | wgengine/magicsock: report health warnings when blocked by firewalls | James Tucker | 21 months |
| raggi/experiment-queues | net/tstun: provide exactly one buffer of readahead on tun | James Tucker | 4 years |
| raggi/gocross-empty-goos-goarch | net/netcheck,wgengine/magicsock: add potential workaround for Palo Alto DIPP ... | James Tucker | 2 years |
| raggi/gofuzz | *: replace ossfuzz with go native fuzz invocations | James Tucker | 3 years |
| raggi/gotoolchain | tool/gocross: ensure there is no mid-build toolchain change | James Tucker | 3 years |
| raggi/gvisor-hostarch-deptest | tstest/linuxdeps: add test to reject gvisor.dev/gvisor/pkg/hostarch | James Tucker | 3 years |
| raggi/heartbeat-timebomb | wgengine/magicsock: ensure that an existing timer is stopped | James Tucker | 3 years |
| raggi/hello-temp | control/controlclient: add debug netmap refcount | James Tucker | 17 months |
| raggi/icmplistener | net/icmplistener: add a way to create ICMP DGRAM sockets | James Tucker | 3 years |
| raggi/iptables-kernel-bug-message | util/linuxfw: add improved health message for bad kernels | James Tucker | 15 months |
| raggi/latencyqueue | util/latencyqueue: use util/ringbuffer for improved memory cost | James Tucker | 7 months |
| raggi/linux6644 | go.mod: bump wireguard-go to 6.6.44 mitigation test | James Tucker | 22 months |
| raggi/mkversion-pre | version/mkversion: support tags ending in -pre | James Tucker | 17 months |
| raggi/natc-6 | cmd/natc: add an explicit error for missing peer state | James Tucker | 15 months |
| raggi/natc-upstream-keepalive | cmd/natc: send TCP keepalives to upstreams | James Tucker | 17 months |
| raggi/netfilter-add-modes | cmd/tailscale,ipn,types/preftype,wgengine/router: introduce netfilter modes r... | James Tucker | 3 years |
| raggi/netfilter-runtime | wgengine/router: create netfilter runner in setNetfilterMode | James Tucker | 3 years |
| raggi/netmon-darwin-route-restart | net/netmon: add socket reopen to darwin route monitor | James Tucker | 16 months |
| raggi/netstack_fwd_close | wgengine/netstack: close forwarded TCP connections when incoming TCP dies | Brad Fitzpatrick | 4 years |
| raggi/rand | util/rands: add a cheap non-escaping rand type | James Tucker | 2 years |
| raggi/restore-extra-records-dns | ipn/ipnlocal: restore empty slice for extra dns records | James Tucker | 3 years |
| raggi/rsh-prototype | feature/rsh: add a non-ssh encapsulated remote shell | James Tucker | 4 months |
| raggi/ssh-shutdown | ssh/tailssh: fix exit-status ordering and improve signal/exit code handling | James Tucker | 5 months |
| raggi/startupprof | cmd/{startupprof,tailscaled}: add startup profiling tools | James Tucker | 8 weeks |
| raggi/stun-reply-source | net/stunserver: reply from the address at which STUN was received | James Tucker | 16 months |
| raggi/stun-subprocess | cmd/derper: implement an option to run stun in a subprocess | James Tucker | 2 years |
| raggi/stunc | cmd/stunc: add features for imperative debugging of stun services | James Tucker | 3 years |
| raggi/stunc2 | cmd/stunc: improve CLI interface for diagnostics | James Tucker | 16 months |
| raggi/tsdebugger | wgengine: do not terminate the process when in a debugger breakpoint | James Tucker | 3 years |
| raggi/tsnet-ippacket | tsnet,wgengine/netstack: add a way to handle packets directly | James Tucker | 5 months |
| raggi/tsnet-listenservice-alongsidetun | WIP | James Tucker | 5 months |
| raggi/tsweb-compression | tsweb: add transparent compression for StdHandler | James Tucker | 4 years |
| raggi/v6masq | ipn,net/tstun,tailcfg,tstest,wgengine/: add support for IPv6 masquerade | James Tucker | 3 years |
| raggi/web-zst-precompress | client/web: add zstd, remove brotli for precompressed assets | James Tucker | 4 months |
| rajsingh/36126-stdin-recording | cmd/k8s-operator: record stdin | Raj Singh | 5 months |
| rajsingh/fix-apiserver-pg-ownership-reclaim | cmd/k8s-operator: allow VIP ownership reclaim after operator recreation | Raj Singh | 5 months |
| rajsingh/fix-vip-dnsmap-addr-family | net/tsdial: add VIP service names to dnsmap with correct address family selec... | Raj Singh | 3 months |
| rajsingh/persist-nodekey-before-register | controlclient: persist node key after login, don't wait for netmap | Raj Singh | 3 months |
| rajsingh/reduce-wglock-contention | wgengine/userspace: reduce wgLock contention for large peer sets | Raj Singh | 2 months |
| rajsinghtech/cmd/k8s-operator/enphemeral-proxy | Update values | Raj Singh | 15 months |
| rajsinghtech/k8s-operator-ingress-ha-externalname | ttl | Raj Singh | 5 months |
| rajsinghtech/k8s-operator/enphemeral | Operator and Proxy Enphemeral flags with CRD updates and cleanup | Raj Singh | 15 months |
| rajsinghtech/peer-connection-metrics | wgengine/magicsock: add peer connection path metrics | Raj Singh | 5 months |
| rajsinghtech/peercaps-service-vips | ipn/ipnlocal: include service VIP addresses in PeerCaps resolution | Raj Singh | 3 months |
| rajsinghtech/serve-h2c-all-http2 | ipn/ipnlocal: use h2c for all HTTP/2 requests to plaintext backends | Raj Singh | 4 months |
| rajsinghtech/tsidp-kubestore | cmd/tsidp: This change enables tsidp to store its operational state in a Kube... | Raj Singh | 11 months |
| rate-limiting | Remove unnecessary ratelimiting in tests (part 2) | Wendi Yu | 6 years |
| rec_in_use_after_5_sec | derp/: Switch approach for metrics | julianknodt | 5 years |
| releaase | VERSION.txt: this is v1.88.4 | Will Hannah | 8 months |
| release-branch/1.0 | logpolicy: consider /var/lib/tailscale when no STATE_DIRECTORY | Brad Fitzpatrick | 6 years |
| release-branch/1.10 | VERSION.txt: this is v1.10.2. | David Anderson | 5 years |
| release-branch/1.12 | VERSION.txt: this is v1.12.4 | Maisem Ali | 5 years |
| release-branch/1.14 | VERSION.txt: this is v1.14.6 | Denton Gentry | 5 years |
| release-branch/1.16 | VERSION.txt: this is v1.16.2 | Denton Gentry | 5 years |
| release-branch/1.18 | VERSION.txt: this is v1.18.2 | Denton Gentry | 5 years |
| release-branch/1.2 | wgengine/tsdns: fix error response marshaling, improve bad query logs | Brad Fitzpatrick | 6 years |
| release-branch/1.20 | VERSION.txt: this is v1.20.4 | Denton Gentry | 4 years |
| release-branch/1.22 | VERSION.txt: this is v1.22.2 | Denton Gentry | 4 years |
| release-branch/1.24 | cmd/tailscaled: change Windows service shutdown and add optional event logging | Aaron Klotz | 4 years |
| release-branch/1.26 | VERSION.txt: this is v1.26.2 | Denton Gentry | 4 years |
| release-branch/1.28 | VERSION.txt: this is v1.28.0 | Denton Gentry | 4 years |
| release-branch/1.30 | VERSION.txt: this is v1.30.2 | Denton Gentry | 4 years |
| release-branch/1.32 | VERSION.txt: this is v1.32.3 | Denton Gentry | 4 years |
| release-branch/1.34 | VERSION.txt: this is v1.34.2 | Denton Gentry | 3 years |
| release-branch/1.36 | cmd/tailscale: use request Schema+Host for QNAP authLogin.cgi | Denton Gentry | 3 years |
| release-branch/1.38 | VERSION.txt: this is v1.38.4 | Rhea Ghosh | 3 years |
| release-branch/1.4 | VERSION.txt: this is v1.4.6 | David Anderson | 5 years |
| release-branch/1.40 | VERSION.txt: this is v1.40.1 | Rhea Ghosh | 3 years |
| release-branch/1.42 | VERSION.txt: this is v1.42.1 | Denton Gentry | 3 years |
| release-branch/1.44 | VERSION.txt: this is v1.44.3 | Andrew Lytvynov | 2 years |
| release-branch/1.46 | ipn/{ipnlocal,localapi}: actually renew certs before expiry (#8731) | Andrew Lytvynov | 3 years |
| release-branch/1.48 | VERSION.txt: this is v1.48.2 | James Tucker | 3 years |
| release-branch/1.50 | net/dns/resolver, ipnlocal: fix ExitDNS on Android and iOS | Brad Fitzpatrick | 3 years |
| release-branch/1.52 | VERSION.txt: this is v1.52.1 | Tyler Smalley | 3 years |
| release-branch/1.54 | VERSION.txt: this is v1.54.1 | Tyler Smalley | 3 years |
| release-branch/1.56 | VERSION.txt: this is v1.56.1 | Sonia Appasamy | 3 years |
| release-branch/1.58 | VERSION.txt: this is v1.58.2 | kari-ts | 2 years |
| release-branch/1.6 | tailcfg: bump CurrentMapRequestVersion, forgotten earlier | Brad Fitzpatrick | 5 years |
| release-branch/1.60 | VERSION.txt: this is v1.60.1 | Percy Wegmann | 2 years |
| release-branch/1.62 | VERSION.txt: this is v1.62.1 | Irbe Krumina | 2 years |
| release-branch/1.64 | VERSION.txt: this is v1.64.2 | Jenny Zhang | 2 years |
| release-branch/1.64.0 | VERSION.txt: this is v1.64.0 | Jenny Zhang | 2 years |
| release-branch/1.66 | cmd/tailscale/cli: allow 'tailscale up' to succeed if --stateful-filtering is... | Irbe Krumina | 2 years |
| release-branch/1.68 | VERSION.txt: this is v1.68.2 | Anton Tolchanov | 24 months |
| release-branch/1.70 | VERSION.txt: this is v1.70.0 | Aaron Klotz | 23 months |
| release-branch/1.72 | VERSION.txt: this is v1.72.2 | Andrea Gottardo | 22 months |
| release-branch/1.74 | VERSION.txt: this is v1.74.2 | Andrea Gottardo | 21 months |
| release-branch/1.76 | VERSION.txt: this is v1.76.6 | Jonathan Nobels | 19 months |
| release-branch/1.78 | cmd/tailscale/cli: only exit silently if len(args) == 0 [gokrazy] | Michael Stapelberg | 17 months |
| release-branch/1.8 | VERSION.txt: this is v1.8.7 | David Anderson | 5 years |
| release-branch/1.80 | VERSION.txt: this is v1.80.3 (#15185) | Nick O'Neill | 16 months |
| release-branch/1.82 | VERSION.txt: this is v1.82.5 (#15723) | kari-ts | 14 months |
| release-branch/1.84 | VERSION.txt: this is v1.84.3 (#16393) | Irbe Krumina | 12 months |
| release-branch/1.86 | VERSION.txt: this is v1.86.5 | Tom Proctor | 10 months |
| release-branch/1.88 | VERSION.txt: this is v1.88.4 | Will Hannah | 8 months |
| release-branch/1.90 | VERSION.txt: this is v1.90.9 | Nick Khyl | 7 months |
| release-branch/1.90.0 | VERSION.txt: this is v1.90.0 | Nick Khyl | 8 months |
| release-branch/1.92 | VERSION.txt: this is v1.92.5 (#18345) | Irbe Krumina | 5 months |
| release-branch/1.94 | VERSION.txt: this is v1.94.2 | Nick O'Neill | 4 months |
| release-branch/1.96 | VERSION.txt: this is v1.96.5 | Jonathan Nobels | 3 months |
| revert-11590-catzkorn/penguin | Revert "tailscale: update tailfs file and package names (#11590)" | Charlotte Brandhorst-Satzkorn | 2 years |
| revert-15839-zofrex/refactor-control-health | Revert "control/controlclient,health,tailcfg: refactor control health message... | Paul Scott | 13 months |
| rhea/apple-test | taildrop macos testing | Rhea Ghosh | 3 years |
| rhea/egress | update DNAT routing rules | Rhea Ghosh | 3 years |
| rhea/hackweek-taildrive | hackery | Rhea Ghosh | 8 weeks |
| rhea/taildrop-resume | placeholder to be amended for moving taildrop | Rhea Ghosh | 3 years |
| richard/15037 | net/dns/resolver: add subdomain resolver support in MagicDNS | Richard Castro | 3 years |
| richard/15037-2 | net/dns/resolver: add subdomain resolver support in MagicDNS | Richard Castro | 3 years |
| richard/15372 | cmd/sniproxy: add support for sniproxy as subnet router | Richard Castro | 3 years |
| rosszurowski/cli-fix-typo | cmd/tailscale: fix typo in error message | Ross Zurowski | 5 years |
| s/eq | cmd/equaler: add command to generate Equal() methods | salman | 3 years |
| s/pmtud | WIP wgengine: inject ICMP PTB for oversize packets | salman | 3 years |
| s/tsnetd | cmd/tsnetd: tsnet-based tcp proxy | salman | 3 years |
| sam/tailscale-up-with-jwt | cmd/tailscale/cli/up.go: add support for OIDC JWT authkeys | Sam Linville | 11 months |
| scottjab/add-sparsefile-punching | util/sparse: add a sparse file PunchAt method | James Scott | 16 months |
| sfllaw/routecheck-for-reachability | ipn/ipnlocal: use routecheck reports to make exit node suggestions | Simon Law | 8 weeks |
| sfllaw/tailscale-ping-for-client-side-reachability | ipn/ipnlocal: determine client-side-reachability by pinging | Simon Law | 8 months |
| sfllaw/traffic-steering/debug-set-location | cmd/tailscale/cli: add subcommand: tailscale debug location | Simon Law | 11 months |
| sfllaw/traffic-steering/suggest-exit-node-steering | ipn/ipnlocal: parse priority out of suggest-exit-node capability | Simon Law | 10 months |
| shayne/funnel_cmd | cmd/tailscale/cli: [funnel] add https:<port> ... ability | Shayne Sweeney | 3 years |
| shayne/k8s-serve | cmd/{containerboot,k8s-operator}: add serve support | Shayne Sweeney | 3 years |
| shayne/serve_empty_text_handler | cmd/tailscale/cli: allow empty text ("") serve | Shayne Sweeney | 4 years |
| simeng-pingtest | More logging :( | Simeng He | 5 years |
| simenghe/add-httphandlers-ping | Added basic handler placeholder and route in testcontrol | Simeng He | 5 years |
| simenghe/add-ping-route-testcontrol-mux | Added routes for testcontrol ping communication, added integration tests for ... | Simeng He | 5 years |
| simenghe/add-tsmpping-call | control/controlclient: add call to tsmpPing | Simeng He | 5 years |
| simenghe/admin-ping-test | normal control is working with hardcoded mapresponses | Simeng He | 5 years |
| simenghe/flakeresolve | tstest/integration: fix TestAddPingRequest flaking | Simeng He | 5 years |
| simenghe/isoping | net/isoping: add isoping package | Simeng He | 5 years |
| simenghe/isoping-experiment | bad news | Simeng He | 5 years |
| simenghe/pingresult-work | ipn/ipnstate: add json struct tags to PingResult | Simeng He | 5 years |
| simenghe/tcpnodeping | Logs | Simeng He | 5 years |
| skriptble/ssh-recording-persist | ssh: add session hauling implementation | Kris Brandow | 3 years |
| soniaappasamy/fix-test-flake | client/web: fix data race in test | Sonia Appasamy | 3 years |
| soniaappasamy/fix-web-client-lock | client/web: fix lock/unlock order when updating s.self | Sonia Appasamy | 3 years |
| soniaappasamy/serve-funnel-ui | client/web: add serve/funnel view | Sonia Appasamy | 2 years |
| soniaappasamy/use-swr | wip | Sonia Appasamy | 3 years |
| soniaappasamy/web-auth-restructure | wip | Sonia Appasamy | 3 years |
| tim/installer-id_like | scripts/installer.sh: add ID_LIKE parsing | Tim Walters | 4 months |
| tom/derp | cmd/derper: add default-off debug endpoint for profiling | Tom DNetto | 3 years |
| tom/disco | disco,types,wgengine: implement Knock,KnockReply disco messages | Tom DNetto | 3 years |
| tom/integration | github actions: resume running Nix-based integration tests | Tom DNetto | 4 years |
| tom/iptables | cmd/derper,derp: implement per-client rate limits | Tom DNetto | 4 years |
| tom/tka2 | tka: implement machinery for node-key denylist | Tom DNetto | 4 years |
| tom/tka4 | tsweb: set charset when exporting vars to prometheus | Tom DNetto | 2 years |
| tom/tka6 | tka: implement filesystem chonk garbage collection | Tom DNetto | 3 years |
| tomhjp/cigocacher-cache | .github: speed up cigocacher build with a small bootstrap cache | Tom Proctor | 6 months |
| tomhjp/cigocacher-token-from-env | turn off tool/go debug | Tom Proctor | 5 months |
| tomhjp/cigocacher-tool | tool: add cigocacher | Tom Proctor | 6 months |
| tomhjp/cigocacher-with-ci | WIP: separate shell script | Tom Proctor | 7 months |
| tomhjp/comparable-struct-as-key | Comparable struct as map key | Tom Proctor | 21 months |
| tomhjp/consistent-state-test | Finish up the fix, automated test | Tom Proctor | 18 months |
| tomhjp/debug-gocross | debug gocross | Tom Proctor | 3 months |
| tomhjp/dns-01-test-env | ipn/ipnlocal: hacky client changes for test TLS certs | Tom Proctor | 17 months |
| tomhjp/faster-cache-keys | .github/workflows: speed up cache key calculation | Tom Proctor | 3 months |
| tomhjp/filtered-vet-test | test | Tom Proctor | 3 months |
| tomhjp/handle-multiple-messages-per-ws-frame | k8s-operator: handle multiple messages per WebSocket frame | Tom Proctor | 11 months |
| tomhjp/ingress-preshutdown | cmd/{containerboot,k8s-operator},kube/kubetypes: unadvertise ingress services... | Tom Proctor | 15 months |
| tomhjp/k8s-proxy-2 | Merge branch 'main' into tomhjp/k8s-proxy-2 | Tom Proctor | 13 months |
| tomhjp/k8s-proxy-3 | cmd/{k8s-operator,k8s-proxy}: support new ProxyGroup type kube-apiserver | Tom Proctor | 12 months |
| tomhjp/magicsock-endpoints | wgengine/magicsock: skip stun4localport if explicitconf endpoints available | Tom Proctor | 12 months |
| tomhjp/mock-acme-server | ipn/ipnlocal: poc level of effort to mock the ACME server | Tom Proctor | 15 months |
| tomhjp/poc-peer-relay-proxygroup | k8s-operator,ipn: add new ProxyGroup Type peer-relay | Tom Proctor | 9 months |
| tomhjp/set-contains-all | util/set: add ContainsSet and ContainsAll | Tom Proctor | 8 weeks |
| tomhjp/tailscaled-kube-conf | WIP: Support --config=kube:<secret-name> | Tom Proctor | 20 months |
| tomhjp/test-git-bash-tool-go | test | Tom Proctor | 2 months |
| tps/tailscaled | fix DHCP | Brad Fitzpatrick | 5 years |
| tsweb/client-ui | stash | Will Norris | 3 years |
| tyler/serve-status | cmd/tailscale/cli: update {serve,funnel} status | Tyler Smalley | 3 years |
| unraid-web | cmd/tailscale/cli: [web] update JS in web.html for Unraid support | Shayne Sweeney | 3 years |
| upnpdebug | net/portmapper: fix UPnP probing, work against all ports | Brad Fitzpatrick | 5 years |
| valscale/ptb | tmp: introduce wire/user/safe mtu | Val | 3 years |
| vm | Try running vm.yml on a 22.04 runner. | Denton Gentry | 4 years |
| walter/ts-19470 | Remove tempfork/pkgdoc_test.go | Walter Poupore | 8 weeks |
| will-systray | cmd/systray: WIP of a linux systray app | Will Norris | 23 months |
| will/containerboot-webui | cmd/containerboot: add TS_WEBUI var to run web UI | Will Norris | 2 years |
| will/enforce-hostname | tsweb: add EnforceHostname helper for DNS rebinding mitigation | Will Norris | 4 years |
| will/sonia/web-tailscaled | ipn/ipnlocal,client/web: add web client to tailscaled | Sonia Appasamy | 3 years |
| will/status-tailnet | cmd/tailscale: add tailnet info to status output | Will Norris | 18 months |
| will/systray-colors | client/systray: support several different color themes | Will Norris | 2 months |
| will/tsnet-udp | tsnet: WIP: add Server.ListenPacket | Will Norris | 2 years |
| will/webclient-csrf | client/web: switch to custom fork of gorilla/csrf | Will Norris | 2 years |
| will/webclient-mobile | ipn/ipnlocal: allow running webclient on mobile | Will Norris | 2 years |
| willh/rc-updates | clientupdate: support updating to release candidates | Will Hannah | 5 months |
| zach/temporary-cert-testing | (do not merge) local dev hack to send device certs | Zach Hauser | 16 months |
| zofrex/auto-login-comments | control/controlclient: update docs for map & auth context | James Sanderson | 8 months |
| zofrex/fix-test-wg-engine-status-race | wip: fix TestWGEngineStatusRace | James Sanderson | 9 months |
| zofrex/poc-health-v2 | wip, health status icons now work | James Sanderson | 14 months |
| zofrex/set-url-wg-status-race-2 | WIP: alternative option for fixing race condition in requestEngineStatusAndWa... | James Sanderson | 9 months |
| zofrex/testwrapper-json-output | cmd/testwrapper: add -json option to emit json test results | James Sanderson | 16 months |
| zofrex/x-poc-e2e-netmap-packetfilter-test | WIP: Testing Netmaps + client packet filter end to end | James Sanderson | 17 months |
| |
| Tag | Download | Author | Age |
| v1.98.3 | tailscale-1.98.3.tar.xz tailscale-1.98.3.zip | Jonathan Nobels | 4 weeks |
| v1.98.2 | tailscale-1.98.2.tar.xz tailscale-1.98.2.zip | Jonathan Nobels | 5 weeks |
| v1.98.1 | tailscale-1.98.1.tar.xz tailscale-1.98.1.zip | Jonathan Nobels | 6 weeks |
| v1.99.0-pre | tailscale-1.99.0-pre.tar.xz tailscale-1.99.0-pre.zip | Jonathan Nobels | 6 weeks |
| v1.98.0 | tailscale-1.98.0.tar.xz tailscale-1.98.0.zip | Jonathan Nobels | 6 weeks |
| v1.96.5 | tailscale-1.96.5.tar.xz tailscale-1.96.5.zip | Jonathan Nobels | 3 months |
| v1.96.4 | tailscale-1.96.4.tar.xz tailscale-1.96.4.zip | Nick Khyl | 3 months |
| v1.96.3 | tailscale-1.96.3.tar.xz tailscale-1.96.3.zip | Nick Khyl | 3 months |
| v1.96.2 | tailscale-1.96.2.tar.xz tailscale-1.96.2.zip | Nick O'Neill | 3 months |
| v1.96.1 | tailscale-1.96.1.tar.xz tailscale-1.96.1.zip | Jonathan Nobels | 3 months |
| v1.97.0-pre | tailscale-1.97.0-pre.tar.xz tailscale-1.97.0-pre.zip | Jonathan Nobels | 3 months |
| v1.96.0 | tailscale-1.96.0.tar.xz tailscale-1.96.0.zip | Jonathan Nobels | 3 months |
| v1.94.2 | tailscale-1.94.2.tar.xz tailscale-1.94.2.zip | Nick O'Neill | 4 months |
| v1.94.1 | tailscale-1.94.1.tar.xz tailscale-1.94.1.zip | Nick O'Neill | 5 months |
| v1.95.0-pre | tailscale-1.95.0-pre.tar.xz tailscale-1.95.0-pre.zip | Nick O'Neill | 5 months |
| v1.94.0 | tailscale-1.94.0.tar.xz tailscale-1.94.0.zip | Nick O'Neill | 5 months |
| v1.92.5 | tailscale-1.92.5.tar.xz tailscale-1.92.5.zip | Andrew Lytvynov | 5 months |
| v1.92.4 | tailscale-1.92.4.tar.xz tailscale-1.92.4.zip | chaosinthecrd | 6 months |
| v1.92.3 | tailscale-1.92.3.tar.xz tailscale-1.92.3.zip | Jonathan Nobels | 6 months |
| cmd/cigocacher/d0d993f5d6576b5d97d0242c64bbe2de049d6486 | tailscale-cmd/cigocacher/d0d993f5d6576b5d97d0242c64bbe2de049d6486.tar.xz tailscale-cmd/cigocacher/d0d993f5d6576b5d97d0242c64bbe2de049d6486.zip | Tom Proctor | 6 months |
| v1.92.2 | tailscale-1.92.2.tar.xz tailscale-1.92.2.zip | Jonathan Nobels | 6 months |
| v1.92.1 | tailscale-1.92.1.tar.xz tailscale-1.92.1.zip | Jonathan Nobels | 6 months |
| v1.93.0-pre | tailscale-1.93.0-pre.tar.xz tailscale-1.93.0-pre.zip | Jonathan Nobels | 7 months |
| v1.92.0 | tailscale-1.92.0.tar.xz tailscale-1.92.0.zip | Jonathan Nobels | 7 months |
| v1.90.9 | tailscale-1.90.9.tar.xz tailscale-1.90.9.zip | Nick Khyl | 7 months |
| v1.90.8 | tailscale-1.90.8.tar.xz tailscale-1.90.8.zip | Nick Khyl | 7 months |
| v1.90.7 | tailscale-1.90.7.tar.xz tailscale-1.90.7.zip | Nick Khyl | 7 months |
| v1.90.6 | tailscale-1.90.6.tar.xz tailscale-1.90.6.zip | Nick Khyl | 8 months |
| v1.90.5 | tailscale-1.90.5.tar.xz tailscale-1.90.5.zip | Nick Khyl | 8 months |
| v1.90.4 | tailscale-1.90.4.tar.xz tailscale-1.90.4.zip | Nick Khyl | 8 months |
| v1.90.3 | tailscale-1.90.3.tar.xz tailscale-1.90.3.zip | Nick Khyl | 8 months |
| v1.90.2 | tailscale-1.90.2.tar.xz tailscale-1.90.2.zip | Nick Khyl | 8 months |
| v1.90.1 | tailscale-1.90.1.tar.xz tailscale-1.90.1.zip | Nick Khyl | 8 months |
| v1.91.0-pre | tailscale-1.91.0-pre.tar.xz tailscale-1.91.0-pre.zip | Nick Khyl | 8 months |
| v1.90.0 | tailscale-1.90.0.tar.xz tailscale-1.90.0.zip | Nick Khyl | 8 months |
| v1.88.4 | tailscale-1.88.4.tar.xz tailscale-1.88.4.zip | Will Hannah | 8 months |
| v1.88.3 | tailscale-1.88.3.tar.xz tailscale-1.88.3.zip | Will Hannah | 9 months |
| v1.88.2 | tailscale-1.88.2.tar.xz tailscale-1.88.2.zip | Will Hannah | 9 months |
| v1.88.1 | tailscale-1.88.1.tar.xz tailscale-1.88.1.zip | Will Hannah | 9 months |
| v1.89.0-pre | tailscale-1.89.0-pre.tar.xz tailscale-1.89.0-pre.zip | Will Hannah | 9 months |
| v1.88.0 | tailscale-1.88.0.tar.xz tailscale-1.88.0.zip | Will Hannah | 9 months |
| v1.86.5 | tailscale-1.86.5.tar.xz tailscale-1.86.5.zip | Tom Proctor | 10 months |
| v1.86.4 | tailscale-1.86.4.tar.xz tailscale-1.86.4.zip | Jonathan Nobels | 10 months |
| v1.86.3 | tailscale-1.86.3.tar.xz tailscale-1.86.3.zip | Jonathan Nobels | 10 months |
| v1.86.2 | tailscale-1.86.2.tar.xz tailscale-1.86.2.zip | Aaron Klotz | 11 months |
| v1.86.1 | tailscale-1.86.1.tar.xz tailscale-1.86.1.zip | Aaron Klotz | 11 months |
| v1.87.0-pre | tailscale-1.87.0-pre.tar.xz tailscale-1.87.0-pre.zip | Aaron Klotz | 11 months |
| v1.86.0 | tailscale-1.86.0.tar.xz tailscale-1.86.0.zip | Aaron Klotz | 11 months |
| v1.84.3 | tailscale-1.84.3.tar.xz tailscale-1.84.3.zip | Irbe Krumina | 12 months |
| v1.84.2 | tailscale-1.84.2.tar.xz tailscale-1.84.2.zip | Nick O'Neill | 12 months |
| v1.84.1 | tailscale-1.84.1.tar.xz tailscale-1.84.1.zip | Jonathan Nobels | 13 months |
| v1.84.0 | tailscale-1.84.0.tar.xz tailscale-1.84.0.zip | Nick O'Neill | 13 months |
| v1.85.0-pre | tailscale-1.85.0-pre.tar.xz tailscale-1.85.0-pre.zip | Jonathan Nobels | 13 months |
| v1.82.5 | tailscale-1.82.5.tar.xz tailscale-1.82.5.zip | kari-ts | 14 months |
| v1.82.4 | tailscale-1.82.4.tar.xz tailscale-1.82.4.zip | kari-ts | 14 months |
| v1.82.3 | tailscale-1.82.3.tar.xz tailscale-1.82.3.zip | kari-ts | 14 months |
| v1.82.2 | tailscale-1.82.2.tar.xz tailscale-1.82.2.zip | kari-ts | 14 months |
| v1.82.0 | tailscale-1.82.0.tar.xz tailscale-1.82.0.zip | kari-ts | 15 months |
| v1.83.0-pre | tailscale-1.83.0-pre.tar.xz tailscale-1.83.0-pre.zip | Irbe Krumina | 15 months |
| v1.80.3 | tailscale-1.80.3.tar.xz tailscale-1.80.3.zip | Nick O'Neill | 16 months |
| v1.80.2 | tailscale-1.80.2.tar.xz tailscale-1.80.2.zip | Andrea Gottardo | 16 months |
| v1.80.1 | tailscale-1.80.1.tar.xz tailscale-1.80.1.zip | Andrea Gottardo | 16 months |
| v1.81.0-pre | tailscale-1.81.0-pre.tar.xz tailscale-1.81.0-pre.zip | Andrea Gottardo | 17 months |
| v1.80.0 | tailscale-1.80.0.tar.xz tailscale-1.80.0.zip | Andrea Gottardo | 17 months |
| v1.78.3 | tailscale-1.78.3.tar.xz tailscale-1.78.3.zip | Nick Khyl | 18 months |
| v1.78.2 | tailscale-1.78.2.tar.xz tailscale-1.78.2.zip | Nick Khyl | 18 months |
| v1.79.0-pre | tailscale-1.79.0-pre.tar.xz tailscale-1.79.0-pre.zip | Nick Khyl | 18 months |
| v1.78.1 | tailscale-1.78.1.tar.xz tailscale-1.78.1.zip | Nick Khyl | 18 months |
| v1.78.0 | tailscale-1.78.0.tar.xz tailscale-1.78.0.zip | Nick Khyl | 18 months |
| v1.77.0-pre | tailscale-1.77.0-pre.tar.xz tailscale-1.77.0-pre.zip | Jonathan Nobels | 19 months |
| v1.76.6 | tailscale-1.76.6.tar.xz tailscale-1.76.6.zip | Jonathan Nobels | 19 months |
| v1.76.3 | tailscale-1.76.3.tar.xz tailscale-1.76.3.zip | Nick Khyl | 20 months |
| v1.76.1 | tailscale-1.76.1.tar.xz tailscale-1.76.1.zip | Andrea Gottardo | 20 months |
| v1.76.0 | tailscale-1.76.0.tar.xz tailscale-1.76.0.zip | Andrea Gottardo | 20 months |
| v1.74.1 | tailscale-1.74.1.tar.xz tailscale-1.74.1.zip | Andrea Gottardo | 21 months |
| v1.75.0-pre | tailscale-1.75.0-pre.tar.xz tailscale-1.75.0-pre.zip | kari-ts | 21 months |
| v1.74.0 | tailscale-1.74.0.tar.xz tailscale-1.74.0.zip | kari-ts | 21 months |
| v1.72.1 | tailscale-1.72.1.tar.xz tailscale-1.72.1.zip | Andrea Gottardo | 22 months |
| v1.73.0-pre | tailscale-1.73.0-pre.tar.xz tailscale-1.73.0-pre.zip | Andrea Gottardo | 22 months |
| v1.72.0 | tailscale-1.72.0.tar.xz tailscale-1.72.0.zip | Andrea Gottardo | 22 months |
| v1.71.0-pre | tailscale-1.71.0-pre.tar.xz tailscale-1.71.0-pre.zip | Aaron Klotz | 23 months |
| v1.70.0 | tailscale-1.70.0.tar.xz tailscale-1.70.0.zip | Aaron Klotz | 23 months |
| v1.68.2 | tailscale-1.68.2.tar.xz tailscale-1.68.2.zip | Anton Tolchanov | 24 months |
| v1.68.1 | tailscale-1.68.1.tar.xz tailscale-1.68.1.zip | Percy Wegmann | 2 years |
| v1.69.0-pre | tailscale-1.69.0-pre.tar.xz tailscale-1.69.0-pre.zip | Mario Minardi | 2 years |
| v1.68.0 | tailscale-1.68.0.tar.xz tailscale-1.68.0.zip | Mario Minardi | 2 years |
| v1.66.4 | tailscale-1.66.4.tar.xz tailscale-1.66.4.zip | Andrew Lytvynov | 2 years |
| v1.66.3 | tailscale-1.66.3.tar.xz tailscale-1.66.3.zip | Nick O'Neill | 2 years |
| v1.66.2 | tailscale-1.66.2.tar.xz tailscale-1.66.2.zip | Nick O'Neill | 2 years |
| v1.66.1 | tailscale-1.66.1.tar.xz tailscale-1.66.1.zip | Nick O'Neill | 2 years |
| v1.67.0-pre | tailscale-1.67.0-pre.tar.xz tailscale-1.67.0-pre.zip | Nick O'Neill | 2 years |
| v1.66.0 | tailscale-1.66.0.tar.xz tailscale-1.66.0.zip | Nick O'Neill | 2 years |
| v1.64.2 | tailscale-1.64.2.tar.xz tailscale-1.64.2.zip | Jenny Zhang | 2 years |
| v1.64.1 | tailscale-1.64.1.tar.xz tailscale-1.64.1.zip | Jenny Zhang | 2 years |
| v1.65.0-pre | tailscale-1.65.0-pre.tar.xz tailscale-1.65.0-pre.zip | Jenny Zhang | 2 years |
| v1.64.0 | tailscale-1.64.0.tar.xz tailscale-1.64.0.zip | Jenny Zhang | 2 years |
| v1.62.1 | tailscale-1.62.1.tar.xz tailscale-1.62.1.zip | Irbe Krumina | 2 years |
| v1.63.0-pre | tailscale-1.63.0-pre.tar.xz tailscale-1.63.0-pre.zip | Anton Tolchanov | 2 years |
| v1.62.0 | tailscale-1.62.0.tar.xz tailscale-1.62.0.zip | Anton Tolchanov | 2 years |
| v1.60.1 | tailscale-1.60.1.tar.xz tailscale-1.60.1.zip | Percy Wegmann | 2 years |
| v1.61.0-pre | tailscale-1.61.0-pre.tar.xz tailscale-1.61.0-pre.zip | Percy Wegmann | 2 years |
| v1.60.0 | tailscale-1.60.0.tar.xz tailscale-1.60.0.zip | Percy Wegmann | 2 years |
| gitops-1.58.2 | tailscale-gitops-1.58.2.tar.xz tailscale-gitops-1.58.2.zip | Will Norris | 2 years |
| v1.58.2 | tailscale-1.58.2.tar.xz tailscale-1.58.2.zip | kari-ts | 2 years |
| v1.58.1 | tailscale-1.58.1.tar.xz tailscale-1.58.1.zip | kari-ts | 2 years |
| v1.58.0 | tailscale-1.58.0.tar.xz tailscale-1.58.0.zip | kari-ts | 2 years |
| v1.44.3 | tailscale-1.44.3.tar.xz tailscale-1.44.3.zip | Andrew Lytvynov | 2 years |
| v1.56.1 | tailscale-1.56.1.tar.xz tailscale-1.56.1.zip | Sonia Appasamy | 3 years |
| v1.56.0 | tailscale-1.56.0.tar.xz tailscale-1.56.0.zip | Sonia Appasamy | 3 years |
| v1.54.1 | tailscale-1.54.1.tar.xz tailscale-1.54.1.zip | Tyler Smalley | 3 years |
| v1.54.0 | tailscale-1.54.0.tar.xz tailscale-1.54.0.zip | Denton Gentry | 3 years |
| v1.52.1 | tailscale-1.52.1.tar.xz tailscale-1.52.1.zip | Tyler Smalley | 3 years |
| v1.52.0 | tailscale-1.52.0.tar.xz tailscale-1.52.0.zip | Tyler Smalley | 3 years |
| v1.50.1 | tailscale-1.50.1.tar.xz tailscale-1.50.1.zip | Denton Gentry | 3 years |
| v1.50.0 | tailscale-1.50.0.tar.xz tailscale-1.50.0.zip | Aaron Klotz | 3 years |
| v1.48.2 | tailscale-1.48.2.tar.xz tailscale-1.48.2.zip | James Tucker | 3 years |
| v1.48.1 | tailscale-1.48.1.tar.xz tailscale-1.48.1.zip | Andrew Lytvynov | 3 years |
| v1.48.0 | tailscale-1.48.0.tar.xz tailscale-1.48.0.zip | Andrew Lytvynov | 3 years |
| v1.46.1 | tailscale-1.46.1.tar.xz tailscale-1.46.1.zip | Andrea Gottardo | 3 years |
| v1.46.0 | tailscale-1.46.0.tar.xz tailscale-1.46.0.zip | Andrea Gottardo | 3 years |
| v1.44.2 | tailscale-1.44.2.tar.xz tailscale-1.44.2.zip | salman | 3 years |
| v1.44.0 | tailscale-1.44.0.tar.xz tailscale-1.44.0.zip | Charlotte Brandhorst-Satzkorn | 3 years |
| v1.42.1 | tailscale-1.42.1.tar.xz tailscale-1.42.1.zip | Denton Gentry | 3 years |
| v1.42.0 | tailscale-1.42.0.tar.xz tailscale-1.42.0.zip | Will Norris | 3 years |
| v1.40.1 | tailscale-1.40.1.tar.xz tailscale-1.40.1.zip | Rhea Ghosh | 3 years |
| v1.40.0 | tailscale-1.40.0.tar.xz tailscale-1.40.0.zip | Denton Gentry | 3 years |
| v1.38.4 | tailscale-1.38.4.tar.xz tailscale-1.38.4.zip | Shayne Sweeney | 3 years |
| v1.38.3 | tailscale-1.38.3.tar.xz tailscale-1.38.3.zip | Shayne Sweeney | 3 years |
| v1.38.2 | tailscale-1.38.2.tar.xz tailscale-1.38.2.zip | Denton Gentry | 3 years |
| v1.38.1 | tailscale-1.38.1.tar.xz tailscale-1.38.1.zip | Denton Gentry | 3 years |
| v1.38.0 | tailscale-1.38.0.tar.xz tailscale-1.38.0.zip | Denton Gentry | 3 years |
| v1.36.2 | tailscale-1.36.2.tar.xz tailscale-1.36.2.zip | Denton Gentry | 3 years |
| v1.36.1 | tailscale-1.36.1.tar.xz tailscale-1.36.1.zip | Denton Gentry | 3 years |
| v1.36.0 | tailscale-1.36.0.tar.xz tailscale-1.36.0.zip | Denton Gentry | 3 years |
| coral-gitops | tailscale-coral-gitops.tar.xz tailscale-coral-gitops.zip | License Updater | 3 years |
| v1.34.2 | tailscale-1.34.2.tar.xz tailscale-1.34.2.zip | Denton Gentry | 3 years |
| v1.34.1 | tailscale-1.34.1.tar.xz tailscale-1.34.1.zip | Denton Gentry | 4 years |
| v1.34.0 | tailscale-1.34.0.tar.xz tailscale-1.34.0.zip | Denton Gentry | 4 years |
| v1.32.3 | tailscale-1.32.3.tar.xz tailscale-1.32.3.zip | Denton Gentry | 4 years |
| v1.32.2 | tailscale-1.32.2.tar.xz tailscale-1.32.2.zip | Denton Gentry | 4 years |
| nginx-auth-0.1.2 | tailscale-nginx-auth-0.1.2.tar.xz tailscale-nginx-auth-0.1.2.zip | Denton Gentry | 4 years |
| v1.32.1 | tailscale-1.32.1.tar.xz tailscale-1.32.1.zip | Denton Gentry | 4 years |
| v1.32.0 | tailscale-1.32.0.tar.xz tailscale-1.32.0.zip | Denton Gentry | 4 years |
| v1.30.2 | tailscale-1.30.2.tar.xz tailscale-1.30.2.zip | Denton Gentry | 4 years |
| v1.30.1 | tailscale-1.30.1.tar.xz tailscale-1.30.1.zip | Denton Gentry | 4 years |
| gitops-1.30.0 | tailscale-gitops-1.30.0.tar.xz tailscale-gitops-1.30.0.zip | Xe Iaso | 4 years |
| v1.30.0 | tailscale-1.30.0.tar.xz tailscale-1.30.0.zip | Denton Gentry | 4 years |
| v1.28.0 | tailscale-1.28.0.tar.xz tailscale-1.28.0.zip | Denton Gentry | 4 years |
| v1.26.2 | tailscale-1.26.2.tar.xz tailscale-1.26.2.zip | Denton Gentry | 4 years |
| v1.26.1 | tailscale-1.26.1.tar.xz tailscale-1.26.1.zip | Denton Gentry | 4 years |
| v1.26.0 | tailscale-1.26.0.tar.xz tailscale-1.26.0.zip | Denton Gentry | 4 years |
| v1.24.2 | tailscale-1.24.2.tar.xz tailscale-1.24.2.zip | Brad Fitzpatrick | 4 years |
| v1.24.1 | tailscale-1.24.1.tar.xz tailscale-1.24.1.zip | Brad Fitzpatrick | 4 years |
| v1.24.0 | tailscale-1.24.0.tar.xz tailscale-1.24.0.zip | Denton Gentry | 4 years |
| v1.22.2 | tailscale-1.22.2.tar.xz tailscale-1.22.2.zip | Denton Gentry | 4 years |
| v1.22.1 | tailscale-1.22.1.tar.xz tailscale-1.22.1.zip | Denton Gentry | 4 years |
| v1.22.0 | tailscale-1.22.0.tar.xz tailscale-1.22.0.zip | Denton Gentry | 4 years |
| v1.20.4 | tailscale-1.20.4.tar.xz tailscale-1.20.4.zip | Denton Gentry | 4 years |
| v1.20.3 | tailscale-1.20.3.tar.xz tailscale-1.20.3.zip | Denton Gentry | 4 years |
| v1.20.2 | tailscale-1.20.2.tar.xz tailscale-1.20.2.zip | Denton Gentry | 4 years |
| v1.20.1 | tailscale-1.20.1.tar.xz tailscale-1.20.1.zip | Denton Gentry | 4 years |
| v1.20.0 | tailscale-1.20.0.tar.xz tailscale-1.20.0.zip | Denton Gentry | 4 years |
| v1.18.2 | tailscale-1.18.2.tar.xz tailscale-1.18.2.zip | Denton Gentry | 5 years |
| v1.18.1 | tailscale-1.18.1.tar.xz tailscale-1.18.1.zip | Denton Gentry | 5 years |
| v1.18.0 | tailscale-1.18.0.tar.xz tailscale-1.18.0.zip | Denton Gentry | 5 years |
| v1.16.2 | tailscale-1.16.2.tar.xz tailscale-1.16.2.zip | Denton Gentry | 5 years |
| v1.16.1 | tailscale-1.16.1.tar.xz tailscale-1.16.1.zip | Denton Gentry | 5 years |
| v1.16.0 | tailscale-1.16.0.tar.xz tailscale-1.16.0.zip | Denton Gentry | 5 years |
| v1.14.6 | tailscale-1.14.6.tar.xz tailscale-1.14.6.zip | Denton Gentry | 5 years |
| v1.14.5 | tailscale-1.14.5.tar.xz tailscale-1.14.5.zip | Denton Gentry | 5 years |
| v1.14.4 | tailscale-1.14.4.tar.xz tailscale-1.14.4.zip | Denton Gentry | 5 years |
| v1.14.3 | tailscale-1.14.3.tar.xz tailscale-1.14.3.zip | Denton Gentry | 5 years |
| v1.14.0 | tailscale-1.14.0.tar.xz tailscale-1.14.0.zip | Denton Gentry | 5 years |
| v1.12.4 | tailscale-1.12.4.tar.xz tailscale-1.12.4.zip | Maisem Ali | 5 years |
| v1.12.3 | tailscale-1.12.3.tar.xz tailscale-1.12.3.zip | Denton Gentry | 5 years |
| v1.12.2 | tailscale-1.12.2.tar.xz tailscale-1.12.2.zip | Maisem Ali | 5 years |
| v1.12.1 | tailscale-1.12.1.tar.xz tailscale-1.12.1.zip | Denton Gentry | 5 years |
| v1.12.0 | tailscale-1.12.0.tar.xz tailscale-1.12.0.zip | Denton Gentry | 5 years |
| v1.10.2 | tailscale-1.10.2.tar.xz tailscale-1.10.2.zip | David Anderson | 5 years |
| v1.10.1 | tailscale-1.10.1.tar.xz tailscale-1.10.1.zip | David Crawshaw | 5 years |
| v1.10.0 | tailscale-1.10.0.tar.xz tailscale-1.10.0.zip | David Anderson | 5 years |
| v1.8.8 | tailscale-1.8.8.tar.xz tailscale-1.8.8.zip | David Crawshaw | 5 years |
| v1.8.7 | tailscale-1.8.7.tar.xz tailscale-1.8.7.zip | David Anderson | 5 years |
| v1.8.6 | tailscale-1.8.6.tar.xz tailscale-1.8.6.zip | Denton Gentry | 5 years |
| v1.8.5 | tailscale-1.8.5.tar.xz tailscale-1.8.5.zip | David Anderson | 5 years |
| v1.8.4 | tailscale-1.8.4.tar.xz tailscale-1.8.4.zip | Maisem Ali | 5 years |
| v1.8.3 | tailscale-1.8.3.tar.xz tailscale-1.8.3.zip | David Anderson | 5 years |
| v1.8.2 | tailscale-1.8.2.tar.xz tailscale-1.8.2.zip | David Anderson | 5 years |
| v1.8.1 | tailscale-1.8.1.tar.xz tailscale-1.8.1.zip | David Anderson | 5 years |
| v1.8.0 | tailscale-1.8.0.tar.xz tailscale-1.8.0.zip | David Crawshaw | 5 years |
| v1.6.0 | tailscale-1.6.0.tar.xz tailscale-1.6.0.zip | David Anderson | 5 years |
| v1.4.6 | tailscale-1.4.6.tar.xz tailscale-1.4.6.zip | David Anderson | 5 years |
| v1.4.5 | tailscale-1.4.5.tar.xz tailscale-1.4.5.zip | David Anderson | 5 years |
| v1.4.4 | tailscale-1.4.4.tar.xz tailscale-1.4.4.zip | David Anderson | 5 years |
| v1.4.3 | tailscale-1.4.3.tar.xz tailscale-1.4.3.zip | Brad Fitzpatrick | 5 years |
| v1.4.2 | tailscale-1.4.2.tar.xz tailscale-1.4.2.zip | David Anderson | 5 years |
| v1.4.1 | tailscale-1.4.1.tar.xz tailscale-1.4.1.zip | David Anderson | 5 years |
| v1.4.0 | tailscale-1.4.0.tar.xz tailscale-1.4.0.zip | David Anderson | 5 years |
| v1.2.10 | tailscale-1.2.10.tar.xz tailscale-1.2.10.zip | David Anderson | 6 years |
| v1.2.9 | tailscale-1.2.9.tar.xz tailscale-1.2.9.zip | Avery Pennarun | 6 years |
| v1.2.8 | tailscale-1.2.8.tar.xz tailscale-1.2.8.zip | David Anderson | 6 years |
| v1.2.7 | tailscale-1.2.7.tar.xz tailscale-1.2.7.zip | David Anderson | 6 years |
| v1.2.6 | tailscale-1.2.6.tar.xz tailscale-1.2.6.zip | David Anderson | 6 years |
| v1.2.5 | tailscale-1.2.5.tar.xz tailscale-1.2.5.zip | Avery Pennarun | 6 years |
| v1.2.3 | tailscale-1.2.3.tar.xz tailscale-1.2.3.zip | David Crawshaw | 6 years |
| v1.2.2 | tailscale-1.2.2.tar.xz tailscale-1.2.2.zip | David Anderson | 6 years |
| v1.2.1 | tailscale-1.2.1.tar.xz tailscale-1.2.1.zip | David Anderson | 6 years |
| v1.2.0 | tailscale-1.2.0.tar.xz tailscale-1.2.0.zip | Avery Pennarun | 6 years |
| v1.0.5 | tailscale-1.0.5.tar.xz tailscale-1.0.5.zip | Brad Fitzpatrick | 6 years |
| v1.0.4 | tailscale-1.0.4.tar.xz tailscale-1.0.4.zip | Brad Fitzpatrick | 6 years |
| v1.0.3 | tailscale-1.0.3.tar.xz tailscale-1.0.3.zip | David Anderson | 6 years |
| v1.0.2 | tailscale-1.0.2.tar.xz tailscale-1.0.2.zip | David Anderson | 6 years |
| v1.0.1 | tailscale-1.0.1.tar.xz tailscale-1.0.1.zip | David Anderson | 6 years |
| v1.1.0 | tailscale-1.1.0.tar.xz tailscale-1.1.0.zip | David Anderson | 6 years |
| v1.0.0 | tailscale-1.0.0.tar.xz tailscale-1.0.0.zip | David Anderson | 6 years |
| v0.100.0-153 | tailscale-0.100.0-153.tar.xz tailscale-0.100.0-153.zip | Brad Fitzpatrick | 6 years |
| v0.100.0-107 | tailscale-0.100.0-107.tar.xz tailscale-0.100.0-107.zip | Brad Fitzpatrick | 6 years |
| v0.100.0 | tailscale-0.100.0.tar.xz tailscale-0.100.0.zip | Brad Fitzpatrick | 6 years |
| v0.99.1 | tailscale-0.99.1.tar.xz tailscale-0.99.1.zip | David Anderson | 6 years |
| v0.99.0 | tailscale-0.99.0.tar.xz tailscale-0.99.0.zip | David Anderson | 6 years |
| v0.98.1 | tailscale-0.98.1.tar.xz tailscale-0.98.1.zip | David Anderson | 6 years |
| v0.98 | tailscale-0.98.tar.xz tailscale-0.98.zip | David Anderson | 6 years |
| v0.98.0 | tailscale-0.98.0.tar.xz tailscale-0.98.0.zip | David Anderson | 6 years |
| v0.97 | tailscale-0.97.tar.xz tailscale-0.97.zip | David Anderson | 6 years |
| v0.96.1 | tailscale-0.96.1.tar.xz tailscale-0.96.1.zip | David Anderson | 6 years |
| v0.96 | tailscale-0.96.tar.xz tailscale-0.96.zip | David Anderson | 6 years |