Viktor Liu
a54d96cd72
[proxy] Make the upstream HTTP version configurable ( #7410 )
2026-09-14 17:28:01 +02:00
Viktor Liu
d101f6cc46
[client] Redirect DNS port 53 with UDP and TCP DNAT instead of the eBPF forwarder ( #7439 )
2026-09-09 11:32:11 +02:00
Viktor Liu
c2b5d211d9
[management] Enforce reverse proxy group access before minting and when honouring a session cookie ( #7240 )
2026-09-04 07:15:20 +02:00
Viktor Liu
7c1253004b
[client] Renew the Android TUN only when the routes it carries change ( #7396 )
2026-09-03 12:22:19 +02:00
Viktor Liu
bb233c72b6
[client] Rebuild the overlay listeners when the TUN is renewed ( #7397 )
2026-09-03 12:22:00 +02:00
Viktor Liu
778b3b3264
[client] Unify peer and route ACL filtering with multi-source rules ( #6322 )
...
* Unify peer and route ACL filtering with multi-source peer rules
* Remove partial userspace firewall mode and open foreign chains via a table-less allower
* Snapshot iptables rule maps before persisting state
* Scope userspace firewall wildcard source rules per address family
* Install nftables peer filter and mangle rules in a single transaction
* Share the iptables jump rule spec between install and cleanup
* Fix legacy ACL source wildcard and keep rollback tracking on delete failure
* Fix CI: recognize multi-value port set lookups in tests and correct PeerIP lint suppression
* Fall back to per-prefix filter rules when ipset is unavailable
* Annotate legacy PeerIP usages in ACL tests and fix import formatting
* Keep firewall rule bookkeeping in step with the kernel on replace and teardown
* Release the routing reference when the route manager shuts down
* Keep set references and rule tracking consistent when a routing rule fails
2026-09-03 10:02:50 +02:00
Viktor Liu
63c26be72f
[client] Add local Prometheus metrics endpoint ( #6689 )
2026-08-27 13:53:06 +02:00
Viktor Liu
473392a935
[client] Tolerate a still-locked updater binary when cleaning up after an update ( #7286 )
2026-08-26 20:03:56 +02:00
Viktor Liu
0bd1147ff0
[client] Keep NetBird traffic out of third-party fwmark rules ( #7314 )
2026-08-26 20:03:40 +02:00
Viktor Liu
f221347c7a
[infrastructure] Trigger the dashboard wasm client bump on release tags ( #7277 )
2026-08-26 15:34:10 +02:00
Viktor Liu
7e8b4e1417
[client, proxy] Remove lazy connection exclusions and run Rosenpass on the embedded proxy ( #6763 )
...
* Run lazy connection manager for rosenpass peers
* Treat forward-target peers as normal lazy connections
* Run Rosenpass in permissive mode on the embedded proxy
2026-08-26 12:43:48 +02:00
Viktor Liu
51095cb986
[client, management] Support per-peer lazy connection state and default proxy peers to lazy ( #6762 )
...
* Support per-peer lazy connection state and default proxy peers to lazy
* Classify forward targets from incoming config in lazy exclusion
* Set IsUserspaceBind mock so lazy manager starts in engine test
* Skip lazy exclude reconciliation when the set is unchanged
* Keep cached lazy flag when a sync carries no peer config
2026-08-26 09:33:51 +02:00
Viktor Liu
ccf8f43cb1
[client] Ask the OS for privileges when a guarded SSH setting is changed ( #7066 )
2026-08-25 20:15:16 +02:00
Viktor Liu
5fc191167d
[client] Revert declaring multi-buffer support for the loopback XDP program ( #7303 )
2026-08-24 13:47:41 +02:00
Viktor Liu
7f03a2e86f
[client] Hold a peer offer or answer that arrives before the handshaker starts listening ( #7255 )
2026-08-24 10:54:11 +02:00
Viktor Liu
335adfe9c3
[client] Move the PCP implementation to the go-nat fork ( #7282 )
2026-08-21 14:15:10 +02:00
Viktor Liu
79a06720b6
[client] Add a lazy-connection override and device name reporting to the WASM client ( #7276 )
2026-08-21 10:55:52 +02:00
Viktor Liu
00243b28bc
[client] Add missing anonymization and SSH privilege translations ( #7269 )
2026-08-21 10:05:33 +02:00
Viktor Liu
e4b8bf39d2
[client] Fix staticcheck findings from the updated golangci-lint ( #7266 )
...
* Fix staticcheck findings reported by the updated golangci-lint
* Skip the receive error log when the local context is done
2026-08-20 16:50:50 +02:00
Bethuel Mmbaga
e206f8827d
[management] Suppress staticcheck warnings for deprecated proto fields ( #7261 )
2026-08-20 16:20:18 +02:00
Viktor Liu
917ad880e3
[client] Rename TURN-specific wg proxy naming to relayed connections ( #7231 )
2026-08-20 15:07:51 +02:00
Viktor Liu
6210399e65
[client] Declare multi-buffer support for the loopback XDP program ( #7230 )
2026-08-17 13:10:12 +02:00
Viktor Liu
939b686d05
[client] Delete NRPT rules by enumerating the registry instead of a rule count ( #7195 )
2026-08-17 12:52:17 +02:00
Viktor Liu
ec6f1b8c27
[client] Rank Windows route candidates by combined route and interface metric ( #7210 )
2026-08-15 09:06:22 +02:00
Viktor Liu
5544761b47
[client] Add Windows DNS configuration to the debug bundle ( #7196 )
2026-08-13 20:07:37 +02:00
Viktor Liu
e290769df1
[client] Take the graphical session answer from the caller instead of the daemon environment ( #7187 )
2026-08-13 10:28:34 +02:00
Viktor Liu
db9fcf39ef
[client] Gate IPv6 forwarding on overlay v6 and preserve host RA acceptance ( #6221 )
2026-08-12 16:07:00 +02:00
Viktor Liu
f5ce0bc65a
[client] Fix macOS DNS panic on malformed scutil output ( #7180 )
2026-08-12 13:25:12 +02:00
Viktor Liu
052cf5a748
[client] Derive Windows SSH privilege checks from the token and group membership ( #6966 )
2026-08-11 18:16:37 +02:00
Viktor Liu
95a458801c
[doc] Point translation contributions at Crowdin ( #7161 )
2026-08-11 16:02:09 +02:00
Viktor Liu
14f9f8ce22
Fix Crowdin export paths and align import and export with repo bundle state ( #7162 )
2026-08-11 16:01:33 +02:00
Viktor Liu
99048e2bf2
[infrastructure] Add Crowdin configuration for UI translation sync ( #7155 )
2026-08-11 14:24:39 +02:00
Viktor Liu
e8671a811d
[client, relay] Migrate relay QUIC tracer to qlog and bump quic-go to 0.59.1 ( #7124 )
2026-08-10 17:41:31 +02:00
Viktor Liu
f9abe2727f
[client] Do not misroute WireGuard packets to the STUN handler ( #7059 )
2026-08-10 13:41:09 +02:00
Viktor Liu
5584f8ef0a
[client] Add strict anonymization level and MAC anonymization to debug bundles ( #7102 )
2026-08-10 11:27:20 +02:00
Viktor Liu
9a05a1c698
[client] Reword the firewalld package comment ( #7081 )
2026-08-06 20:36:13 +02:00
Viktor Liu
5dd914782a
[client] Stop the macOS UI on pkg upgrade ( #7079 )
2026-08-06 16:50:17 +02:00
Viktor Liu
b2ae98f0fd
[misc] Expand agent guidelines with security, type-safety and lifecycle conventions ( #7076 )
2026-08-06 11:38:24 +02:00
Viktor Liu
e90be36cd5
[client] Don't ask for an SSO login when the login never reached management ( #6983 )
2026-08-03 16:28:51 +02:00
Viktor Liu
ee1389d736
[client] Keep the UI running when the notification service fails to start ( #6959 )
2026-08-03 16:23:10 +02:00
Viktor Liu
feecb993f4
[client] Restrict debug bundle log path and upload destinations ( #6975 )
2026-07-31 19:12:56 +02:00
Viktor Liu
aed60a2432
[client] Fix daemon lock order inversion between SetConfig and login ( #6978 )
2026-07-31 15:53:58 +02:00
Viktor Liu
cff49237b6
[client] Stop and remove the daemon on netbird-ui cask uninstall ( #6977 )
2026-07-30 13:11:27 +02:00
Viktor Liu
0f5d2d91fb
[client] Authorize daemon IPC callers by their local identity ( #6967 )
2026-07-29 20:32:26 +02:00
Viktor Liu
f2c1070f95
[client] Fix UI crash on Windows builds without dark-mode support ( #6958 )
2026-07-29 13:52:18 +02:00
Viktor Liu
9269b56386
[management] Read reverse-proxy service and target columns in Postgres path ( #6886 )
2026-07-28 14:46:19 +02:00
Viktor Liu
b3f9b82442
[management] Force routing-peer DNS resolution for reverse-proxy domain targets ( #6872 )
2026-07-28 14:45:57 +02:00
Viktor Liu
d681670a9d
[misc] Restore the rootless-latest docker tag ( #6914 )
2026-07-27 12:07:58 +02:00
Viktor Liu
6d15d0729a
[client] Clear stale UDP checksum in eBPF XDP proxy after port rewrite ( #6861 )
2026-07-23 14:37:52 +02:00
Viktor Liu
3fb26d458e
[relay] Remove deprecated Hello handshake and gob token decode ( #6783 )
2026-07-20 14:13:40 +02:00
Viktor Liu
92a5ed19d3
[client] Merge 0.74.7 to main ( #6819 )
...
## Describe your changes
Merge 0.74.7 to main
## Issue ticket number and link
## Stack
<!-- branch-stack -->
### Checklist
- [ ] Is it a bug fix
- [ ] Is a typo/documentation fix
- [x] Is a feature enhancement
- [ ] It is a refactor
- [ ] Created tests that fail without the change (if possible)
- [ ] This change does **not** modify the public API, gRPC protocols,
functionality behavior, CLI / service flags, or introduce a new feature
— **OR** I have discussed it with the NetBird team beforehand (link the
issue / Slack thread in the description). See
[CONTRIBUTING.md](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTING.md#discuss-changes-with-the-netbird-team-first ).
> By submitting this pull request, you confirm that you have read and
agree to the terms of the [Contributor License
Agreement](https://github.com/netbirdio/netbird/blob/main/CONTRIBUTOR_LICENSE_AGREEMENT.md ).
## Documentation
Select exactly one:
- [ ] I added/updated documentation for this change
- [x] Documentation is **not needed** for this change (explain why)
### Docs PR URL (required if "docs added" is checked)
Paste the PR link from https://github.com/netbirdio/docs here:
https://github.com/netbirdio/docs/pull/__
<!-- codesmith:footer -->
---
<a
href="https://app.blacksmith.sh/netbirdio/codesmith/netbird/pr/6819 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg "><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-light-v2.svg "><img
alt="View with Codesmith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v2.svg "></picture></a>
<a
href="https://backend.blacksmith.sh/track/enable-autofix?expires=1786890471&installation_id=146802194&pr_number=6819&repository=netbirdio%2Fnetbird&return_to=https%3A%2F%2Fgithub.com%2Fnetbirdio%2Fnetbird%2Fpull%2F6819&signature=6078105908fabf6520f504b594cc394dc2a2d749a709c88c22f2d187301f6c71 "><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg "><source
media="(prefers-color-scheme: light)"
srcset="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-light.svg "><img
alt="Autofix with Codesmith"
src="https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark.svg "></picture></a>
<sup>Need help on this PR? Tag <code>/codesmith</code> with what you
need. Autofix is disabled.</sup>
<!-- codesmith:autofix:disabled -->
<!-- /codesmith:footer -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **New Features**
* Firewall now safely evaluates fragmented inbound traffic while
blocking unsupported, malformed, overlapping, or unapproved fragments.
* SOCKS5 listener address and port can be configured through environment
variables, defaulting safely to loopback.
* **Bug Fixes**
* Strengthened token validation for malformed authentication responses.
* Prevented invalid hostnames from injecting settings into generated SSH
configurations.
* Improved handling of command-line-like account names and concurrent
QUIC connections.
* **Tests**
* Added coverage and performance benchmarks for fragmentation, listener
configuration, and security validation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-07-18 00:07:44 +09:00
Viktor Liu
a1c9427d80
[client] Evaluate IP fragments against firewall ACLs ( #6781 )
2026-07-17 16:05:32 +02:00
Viktor Liu
6e3f4d8722
[client] Disable gVisor TCP RACK loss detection on Windows ( #6808 )
2026-07-17 10:45:30 +02:00
Viktor Liu
63d60ba490
[client] Reject leading hyphen in getent input to prevent flag injection ( #6787 )
2026-07-17 09:28:33 +02:00
Viktor Liu
62fc8d254e
[relay] Handle QUIC connections concurrently to prevent handshake head-of-line blocking ( #6784 )
2026-07-15 18:18:47 +02:00
Viktor Liu
cc64a93953
[client] Include system events in ToProtoFullStatus conversion ( #6746 )
2026-07-13 18:49:17 +02:00
Viktor Liu
3d87547d95
[client] Bump golang.org/x/crypto to v0.54.0 and Go toolchain to 1.25.12 ( #6709 )
2026-07-10 17:42:06 +02:00
Viktor Liu
4d4cc551fd
[client] Recover from rosenpass key desync ( #6714 )
2026-07-10 17:38:29 +02:00
Viktor Liu
96ac15d292
[client] Fix js relay WebSocket close, raise RDP dial timeout, adjust WASM log levels ( #6684 )
2026-07-09 13:21:08 +02:00
Viktor Liu
1d8b5f6e5c
[client] Make lazy connections opt-out via NB_LAZY_CONN ( #6617 )
2026-07-02 10:58:16 +02:00
Viktor Liu
4ef65294e9
[client] Reinject captured first packet on lazy connection activation ( #6572 )
2026-06-30 11:22:25 +02:00
Viktor Liu
b434cda062
[client] Refresh signal receive liveness when worker handoff drains ( #6594 )
2026-06-29 12:16:47 +02:00
Viktor Liu
4400372f37
[client] Forward non-address DNS record types through route forwarders ( #6455 )
2026-06-28 18:50:17 +02:00
Viktor Liu
5968cff242
[client] Keep signal stream alive while receive loop is blocked on worker handoff ( #6530 )
2026-06-28 15:33:30 +02:00
Viktor Liu
17b2044596
[client] Skip re-resolving cached management cache domains ( #6518 )
2026-06-23 17:55:57 +02:00
Viktor Liu
522b8ed969
[client] Surface DNS forwarder upstream failures via Extended DNS Errors ( #6441 )
2026-06-22 12:41:33 +02:00
Viktor Liu
58c79f5878
[client] Fix DNS custom zone teardown: handler leak and external CNAME resolution ( #6445 )
2026-06-19 17:33:09 +02:00
Viktor Liu
15a0504fb1
[client] Treat answering upstreams as reachable and widen DNS health grace window ( #6453 )
2026-06-19 17:32:49 +02:00
Viktor Liu
d3710d4bb2
[signal] Serialize concurrent sends to a peer signal stream ( #6463 )
2026-06-18 15:00:19 +02:00
Viktor Liu
5bd7c6c7ea
[client] Detect and recover from a stalled signal receive stream ( #6459 )
2026-06-17 18:48:09 +02:00
Viktor Liu
6fbc90b4d3
[client, relay] Expose relay transport and connection errors in status and metrics ( #6342 )
2026-06-17 15:41:48 +02:00
Viktor Liu
a44198fd77
[client] Add dialWebSocket method to WASM client ( #5980 )
2026-06-15 16:43:24 +02:00
Viktor Liu
b57f714350
[client] Drop signaling-side ICE candidate filter, drop overlay STUN at mux read-side instead ( #6142 )
2026-06-15 16:37:03 +02:00
Viktor Liu
f893abc41d
[client] Recover from tun device read/write panics and restart the client ( #6419 )
2026-06-15 16:36:00 +02:00
Viktor Liu
b19467e3af
[client] Answer NODATA when a host resolves without addresses of the requested family ( #6418 )
2026-06-12 14:50:46 +02:00
Viktor Liu
ed7a9363aa
[management] Emit IPv6 default permit firewall rule for exit node routes ( #6368 )
2026-06-09 13:26:43 +02:00
Viktor Liu
d56859dc5d
[client] Filter DNS fallback upstreams matching our server IP to prevent loops ( #6183 )
2026-06-09 12:26:03 +02:00
Viktor Liu
367d37050b
[relay, client] Fall back to WebSocket relay transport on oversized QUIC datagrams ( #6339 )
2026-06-09 10:25:46 +02:00
Viktor Liu
106527182f
[client] Snapshot iptables rule maps before persisting state ( #6345 )
2026-06-09 10:24:51 +02:00
Viktor Liu
8e1d5b78c2
[client] Preserve user deselect-all across management route sync ( #6363 )
2026-06-09 10:24:17 +02:00
Viktor Liu
a48c20d8d8
[client] Gate DNS forwarder on BlockInbound ( #6257 )
2026-06-03 11:33:29 +02:00
Viktor Liu
e7c9182ff9
[client] Offer injected ICMPv6 echo replies to packet capture ( #6321 )
2026-06-01 19:38:00 +02:00
Viktor Liu
43e041cf9f
[client] Apply netroute unspecified-destination workaround on android ( #6192 )
2026-05-29 15:15:22 +02:00
Viktor Liu
77e5693200
[client] Recognize NetBird DNS forwarder port in capture text format ( #6177 )
2026-05-29 15:14:32 +02:00
Viktor Liu
6771e35d57
[client] Release js.FuncOf callbacks in wasm ssh and rdp to prevent leaks ( #5982 )
2026-05-26 14:32:39 +02:00
Viktor Liu
e89b1e0596
[proxy, client] Bound embed client WireGuard per-Device memory ( #5962 )
2026-05-26 11:51:53 +02:00
Viktor Liu
4983b5cf17
[client] Match DNS wildcard handlers on label boundaries ( #6255 )
2026-05-25 18:38:48 +02:00
Viktor Liu
b3b0feb3b8
[client] Filter scoped/cloned default routes from BSD network monitor RTM_ADD ( #6208 )
2026-05-25 18:38:21 +02:00
Viktor Liu
0358be2313
[client] Revert "Clean up legacy 32-bit and HKCU registry entries on Windows install ( #6176 )" ( #6232 )
...
This reverts commit d927ef468a .
2026-05-21 16:27:12 +02:00
Viktor Liu
37052fd5bc
[client] Fix nil channel panic in external chain monitor stop ( #6224 )
2026-05-20 18:46:51 +02:00
Viktor Liu
4955c345d5
Clean up README header, key features table, and self-hosted quickstart ( #6178 )
2026-05-20 16:25:56 +02:00
Viktor Liu
9192b4f029
[client] Bump macOS sleep callback timeout to 20s ( #6220 )
2026-05-20 13:09:22 +02:00
Viktor Liu
3f91f49277
Clean up legacy 32-bit and HKCU registry entries on Windows install ( #6176 )
2026-05-16 16:52:57 +02:00
Viktor Liu
22e2519d71
[management] Avoid peer IP reallocation when account settings update preserves the network range ( #6173 )
2026-05-16 15:51:48 +02:00
Viktor Liu
9ed2e2a5b4
[client] Drop DNS probes for passive health projection ( #5971 )
2026-05-15 17:07:38 +02:00
Viktor Liu
2ccae7ec47
[client] Mirror v4 exit selection onto v6 pair and honour SkipAutoApply per route ( #6150 )
2026-05-15 16:58:47 +02:00
Viktor Liu
07e5450117
[management] Bracket IPv6 reverse-proxy target hosts when building URL Host field ( #6141 )
2026-05-14 16:42:40 +02:00
Viktor Liu
3f914090cb
[client] Bracket IPv6 in embed listeners, expand debug bundle ( #6134 )
2026-05-14 16:22:53 +02:00
Viktor Liu
ea9fab4396
[management] Allocate and preserve IPv6 overlay addresses for embedded proxy peers ( #6132 )
2026-05-14 16:05:33 +02:00
Viktor Liu
9126a192ca
[client] Set 0644 perms on SSH client config after os.CreateTemp ( #6126 )
2026-05-12 15:05:53 +02:00