| Age | Commit message (Expand) | Author | Files | Lines |
| 2025-08-05 | wgengine/router: rely on events for deleted IP rules (#16744) | Claus Lensbøl | 10 | -29/+89 |
| 2025-05-12 | util/linuxfw,wgengine/router: add new netfilter rules for HA ingresses (#15896) | Irbe Krumina | 1 | -0/+8 |
| 2025-04-16 | net/netmon: publish events to event bus | David Anderson | 1 | -2/+8 |
| 2025-04-03 | wgengine/router: default to a fake router on android | David Anderson | 2 | -0/+31 |
| 2025-04-02 | wgengine/router: add Plan 9 implementation | Brad Fitzpatrick | 2 | -1/+157 |
| 2025-01-03 | wgengine/router: refactor udm-pro into broader ubnt support | Jason Barnett | 2 | -10/+10 |
| 2024-12-21 | wgengine/router: add ip rules for unifi udm-pro | Jason Barnett | 2 | -10/+64 |
| 2024-10-03 | cmd/containerboot,util/linuxfw: create a SNAT rule for dst/src only once, cle... | Irbe Krumina | 1 | -1/+1 |
| 2024-09-29 | cmd/containerboot,kube,util/linuxfw: configure kube egress proxies to route t... | Irbe Krumina | 1 | -0/+11 |
| 2024-08-22 | go.mod: update to github.com/tailscale/netlink library that doesn't require v... | Percy Wegmann | 1 | -1/+1 |
| 2024-07-18 | wgengine/router: use quad-100 as the nexthop on Windows | Nick Khyl | 1 | -26/+48 |
| 2024-06-14 | health: begin work to use structured health warnings instead of strings, pipe... | Andrea Gottardo | 2 | -17/+27 |
| 2024-06-11 | cmd/tailscaled, net/dns, wgengine/router: start Windows child processes with ... | Aaron Klotz | 1 | -1/+6 |
| 2024-05-29 | wgengine/router: probe generally-unused "ip" command style lazily | Brad Fitzpatrick | 1 | -18/+30 |
| 2024-05-20 | various: disable stateful filtering by default (#12197) | Andrew Lytvynov | 1 | -1/+1 |
| 2024-05-09 | wgengine/router: print Docker warning when stateful filtering is enabled | Andrew Dunham | 2 | -3/+55 |
| 2024-05-06 | various: implement stateful firewalling on Linux (#12025) | Andrew Lytvynov | 4 | -21/+150 |
| 2024-04-28 | net/{interfaces,netmon}, all: merge net/interfaces package into net/netmon | Brad Fitzpatrick | 1 | -2/+2 |
| 2024-04-27 | net/netns, net/dns/resolver, etc: make netmon required in most places | Brad Fitzpatrick | 1 | -1/+1 |
| 2024-04-26 | health, all: remove health.Global, finish plumbing health.Tracker | Brad Fitzpatrick | 10 | -16/+28 |
| 2024-04-25 | health: break Warnable into a global and per-Tracker value halves | Brad Fitzpatrick | 1 | -3/+3 |
| 2024-04-25 | health: add Tracker type, in prep for removing global variables | Brad Fitzpatrick | 1 | -1/+1 |
| 2024-04-23 | wgengine/router: consolidate routes before reconfiguring router for mobile cl... | Percy Wegmann | 2 | -0/+127 |
| 2024-04-23 | cmd{containerboot,k8s-operator},util/linuxfw: support ExternalName Services (... | Irbe Krumina | 1 | -0/+4 |
| 2024-04-19 | wgengine\router: fix the Tailscale-In firewall rule to work on domain networks | Nick Khyl | 2 | -2/+2 |
| 2024-04-16 | all: use Go 1.22 range-over-int | Brad Fitzpatrick | 4 | -5/+5 |
| 2024-04-15 | wgengine/router: don't attempt route cleanup on Synology | Brad Fitzpatrick | 1 | -2/+17 |
| 2024-04-09 | cmd/tailscaled: move cleanup to an implicit action during startup | James Tucker | 7 | -14/+14 |
| 2024-04-07 | wgengine/netstack: remove SubnetRouterWrapper | Maisem Ali | 1 | -1/+6 |
| 2024-04-04 | wgengine/router: enable ip forwarding on gokrazy | Joonas Kuorilehto | 1 | -0/+28 |
| 2024-03-29 | util/linuxfw,wgengine/router: skip IPv6 firewall configuration in partial ipt... | Irbe Krumina | 2 | -9/+25 |
| 2024-03-21 | util/linuxfw,wgengine/router: enable IPv6 configuration when netfilter is dis... | James Tucker | 1 | -3/+9 |
| 2024-02-15 | wgengine/router: fix ip rule restoration | Jason Barnett | 1 | -1/+1 |
| 2024-02-13 | wgengine/router: make the Windows ifconfig implementation reuse existing MibI... | Aaron Klotz | 2 | -95/+125 |
| 2024-02-08 | all: use reflect.TypeFor now available in Go 1.22 (#11078) | Joe Tsai | 1 | -1/+1 |
| 2024-01-10 | wgengine/router: look up absolute path to netsh.exe on Windows | Andrew Dunham | 2 | -1/+61 |
| 2023-12-21 | all: cleanup unused code, part 2 (#10670) | Andrew Lytvynov | 2 | -18/+1 |
| 2023-12-20 | all: cleanup unused code, part 1 (#10661) | Andrew Lytvynov | 1 | -4/+0 |
| 2023-12-07 | wgengine/router: implement UpdateMagicsockPort for CallbackRouter (#10494) | Naman Sood | 1 | -0/+7 |
| 2023-12-05 | util/linuxfw, wgengine: allow ingress to magicsock UDP port on Linux (#10370) | Naman Sood | 7 | -0/+156 |
| 2023-12-05 | linuxfw,wgengine/route,ipn: add c2n and nodeattrs to control linux netfilter | Naman Sood | 3 | -1/+31 |
| 2023-12-05 | wgengine/router: create netfilter runner in setNetfilterMode | James Tucker | 2 | -13/+17 |
| 2023-10-11 | cmd/containerboot: use linuxfw.NetfilterRunner | Maisem Ali | 1 | -0/+16 |
| 2023-10-10 | util/linuxfw: move detection logic | Maisem Ali | 2 | -205/+5 |
| 2023-09-30 | util/slicesx: add EqualSameNil, like slices.Equal but same nilness | Brad Fitzpatrick | 1 | -26/+2 |
| 2023-09-26 | wgengine,net,ipn,disco: split up and define different types of MTU | Val | 1 | -1/+1 |
| 2023-09-22 | Revert "wgengine,net,ipn,disco: split up and define different types of MTU" | Val | 1 | -1/+1 |
| 2023-09-22 | wgengine,net,ipn,disco: split up and define different types of MTU | Val | 1 | -1/+1 |
| 2023-09-09 | all: use set.Set consistently instead of map[T]struct{} | Brad Fitzpatrick | 1 | -3/+4 |
| 2023-08-18 | wgengine/router: fall back and set iptables as default again | KevinLiang10 | 1 | -19/+36 |