100 Commits
Author SHA1 Message Date
Zane Schepke 1b5f6e39d7 fix: fakeDNS wiring to wireproxy-awg
Local proxy was not getting the proper DNS server IPs for fakeDNS to support custom tunnel dns.
2026-10-09 03:04:46 -04:00
Zane Schepke a345af5595 build: remove gradle properties 2026-10-08 01:51:23 -04:00
Zane Schepke e823073151 fix: fakeDNS edns advertising to match mtu
Improves truncate + TC handling.
2026-10-08 01:43:28 -04:00
Zane Schepke 348f934d20 chore: release 1.9.1 2026-10-07 21:45:55 -04:00
Zane Schepke 57ee196b85 fix(android): hev can try to teardown unnecessarily
Now catches throwable to prevent unsatisfied link errors from crashing the app.

ref: https://github.com/wgtunnel/android/issues/1510
2026-10-07 13:29:18 -04:00
Zane Schepke e6faa1ab6a fix(windows): improve windows HTTP proxy support with optional socks4
SOCKS4, disabled by default, is optionally allowed (primarily for Windows client support) only when the SOCKS5 server has no auth.

Fixes a bug in tunnel wrapper for better DNS handling of CNAME heavy domains, with Truncate + TC so the client retries over TCP.

closes #3
2026-10-07 12:56:41 -04:00
Zane Schepke b289505c54 fix(macos): tunnel doesn't restore overlapping LAN route
ref: https://github.com/wgtunnel/desktop/issues/56
2026-10-06 03:47:56 -04:00
Zane Schepke 6df8502270 fix: bump wireproxy-awg for empty header IPC fix
ref: https://github.com/wgtunnel/android/issues/1503
2026-10-06 03:04:06 -04:00
Zane Schepke beb1171892 fix: invalid warn log 2026-10-06 02:53:21 -04:00
Zane Schepke f1937ee307 feat: two hop tunnel in a tunnel
This also patches the go runtime for macOS sleep/suspend timer issues (continuous time).
2026-10-06 02:36:56 -04:00
Zane Schepke 8998f922f7 chore: release 1.8.1 2026-10-03 04:01:36 -04:00
Zane Schepke ad284f4a83 fix(windows): ipv6 endpoint tunnel routing and cleanup
https://github.com/wgtunnel/desktop/issues/50
2026-10-03 03:07:44 -04:00
Zane Schepke b56901abeb ci(macos): add flock and coreutils 2026-10-02 18:30:39 -04:00
Zane Schepke ec0867d287 build: add macos and windows ARM build/publish support for core 2026-10-02 18:20:09 -04:00
Zane Schepke df304427cb fix: static ipv6 for dns settings
ref: https://github.com/wgtunnel/android/issues/1488
2026-10-01 02:46:13 -04:00
Zane Schepke ffa143faf8 fix: parser interface trimming and utf-8 bom handling 2026-10-01 02:37:51 -04:00
Zane Schepke 59c7c5cfdb fix: proxy bind ipv6 and zone handling
ref: https://github.com/wgtunnel/android/issues/1500
2026-10-01 00:18:00 -04:00
Zane Schepke 5e7948351e fix: graalvm tunnel recovery build error 2026-09-30 02:11:40 -04:00
Zane Schepke 58128dabcf chore: release 1.7.5 2026-09-29 00:55:38 -04:00
Zane Schepke e4e102e4b9 fix(windows): new adapter created on each call
ref: https://github.com/wgtunnel/desktop/issues/46
2026-09-29 00:55:03 -04:00
Zane Schepke 556813e954 chore: release 1.7.4 2026-09-27 01:43:52 -04:00
Zane Schepke c6f2930cfa fix: make tunnel recovery doze aware
Changes tunnel recovery back to being doze aware with handling for desktop and Android TV detection issues.

Now had a quickly recovery bounce on wake and network changes events, which are the events that can most often break tunnel connection.
2026-09-27 01:43:06 -04:00
Zane Schepke 254733e4b9 fix: ack race and tunnel healthy callbacks
Fixes a race with tunnel status acks between native and kotlin.

Fixes tunnel healthy callbacks so prevent handshake failures displayed on spurious network issues.
2026-09-26 07:01:26 -04:00
Zane Schepke 1b35ed5a43 fix: socket options to match upstream 2026-09-26 06:37:24 -04:00
Zane Schepke 4755631401 feat: shared auto tunnel reconcile to core
Adds a shared auto tunnel reconciliation logic to core to better queue and sync auto tunnel with manual overrides and prevent partial tunnel starts and cancellations.
2026-09-26 01:07:07 -04:00
Zane Schepke 3b8aa879ba chore: bump gradle, agp, ktx, release 1.7.0 2026-09-24 23:02:28 -04:00
Zane Schepke ebe6ae009d Merge pull request #2 from wgtunnel/feat/macos-support
feat: macOS support
2026-09-24 22:56:35 -04:00
Zane Schepke 41279af352 fix: macos sub-anchor to prevent main ruleset flush error 2026-09-24 22:47:43 -04:00
Zane Schepke e8cb408386 block icmp 2026-09-24 02:14:51 -04:00
Zane Schepke a7ff3f663d fix tos 2026-09-24 01:36:48 -04:00
Zane Schepke cf606fed41 refactor: add DSCP marking for deferred boostrap 2026-09-24 00:18:11 -04:00
Zane Schepke befaadee06 Merge remote-tracking branch 'origin/master' into feat/macos-support 2026-09-23 23:43:40 -04:00
Zane Schepke bf15e490f8 fix: go_string int64_t corruption on armeabi-v7a
Most AndroidTV devices are 32bit and the go_string long change to int64_t for Windows was corrupting our go_string jni glue. Changed to intptr_t to properly respect platform and arch differences.

ref: https://github.com/wgtunnel/android/issues/1480
2026-09-23 05:44:47 -04:00
Zane Schepke e63cd370b8 fix: fakeDNS not applied and systemd-resolved leak
Fixes a bug where systemd-resolved was being configured incorrectly because it already prepends a ~ internally.

Fixes a bug where fakeDNS was not properly being applied when in split/encrypted DNS mode on desktop.

ref: https://github.com/wgtunnel/desktop/issues/36
2026-09-22 17:59:36 -04:00
Zane Schepke 689e0bca19 fix: wifi monitor for ipv6 only, ssid caching 2026-09-22 03:27:54 -04:00
Zane Schepke a5f4f6a0f2 fix macOS SSID monitoring 2026-09-22 01:58:39 -04:00
Zane Schepke 3e303565d8 fix macos default route collision with /1 route split 2026-09-22 00:50:02 -04:00
Zane Schepke 2b9400b5a8 fix pf anchor file loading 2026-09-22 00:35:20 -04:00
Zane Schepke 2de2f884b0 fix jni headers makefile for macos 2026-09-22 00:16:20 -04:00
Zane Schepke 8416923c7d fix makefile for macos 2026-09-21 23:57:42 -04:00
Zane Schepke 784bab913f fix: amenziawg-go regression and vpn network handle race
Backs out a padding effectiveness regression that breaks padding behavior on larger packets: https://github.com/amnezia-vpn/amneziawg-go/commit/da11c9fadc49333d654c4d7ac18fc8d63f4e8000

Fixes a VPN network handle race for custom tunnel DNS where we sometimes never get and report the VPN network handle to native, causing encrypted tunnel DNS to leak.

ref: https://github.com/wgtunnel/android/issues/1480
2026-09-20 18:54:38 -04:00
Zane Schepke 2b2086b772 feat: initial macOS core support changes 2026-09-20 00:38:24 -04:00
Zane Schepke 5d73ba3153 chore: bump nucleus, release 1.6.13 2026-09-17 23:29:13 -04:00
Zane Schepke 1ae762e041 fix(windows): switch to winrt for Wi-Fi SSID detection 2026-09-17 00:58:37 -04:00
Zane Schepke ed11e2befa chore: release 1.6.11 2026-09-16 22:11:19 -04:00
Zane Schepke d1db5b1e4b fix: windows monitor race and location denied detection 2026-09-16 22:10:01 -04:00
Zane Schepke 19104f4ba7 chore: release 1.6.10 2026-09-16 18:46:45 -04:00
Zane Schepke 840e2ceb6c fix: windows Wi-Fi detection with location permission check
ref: https://github.com/wgtunnel/desktop/issues/28
2026-09-16 18:45:56 -04:00
Zane Schepke d124524de5 chore: release 1.6.9 2026-09-16 15:09:54 -04:00
Zane Schepke d7de64a5b5 fix: make tunnel dns DoT exchange context aware
ref: https://github.com/wgtunnel/android/issues/1460

Fixes an issue where tunnel DoT exchange was not respecting the outer context, causing blocking.
2026-09-16 14:26:49 -04:00
Zane Schepke 702904a377 fix: windows Wi-Fi details detection bug
Fixes windows Wi-Fi details detection by switching to GUID matching for the interface.

ref: https://github.com/wgtunnel/desktop/issues/28
2026-09-16 13:49:05 -04:00
Zane Schepke 98d3a2d766 chore: release 1.6.7 2026-09-13 09:12:01 -04:00
Zane Schepke b31af8e9aa fix: windows firewall teardown 2026-09-13 08:37:32 -04:00
Zane Schepke a7a0f96879 chore: releae 1.6.6 2026-09-13 07:19:13 -04:00
Zane Schepke 3cabfdda87 fix: linux firewall drop rule kills internet on vpn disconnect 2026-09-13 07:18:45 -04:00
Zane Schepke ea27da4a6c fix: network monitor always displays default info
Fixes issue where stray nulls from native can break network monitoring.
2026-09-13 06:54:05 -04:00
Zane Schepke 6ffe795b34 chore: release 1.6.4 2026-09-13 06:34:42 -04:00
Zane Schepke 205ebac543 fix(windows): crash/loop on network migration
Revert fix for windows network migration. Still outstanding.
2026-09-13 06:34:14 -04:00
Zane Schepke 745e5e7cf1 fix: per ip family firewalling to fix allowedIps bugs
Fix windows network migration bug.

Fixes kill switch interactions with full and partial family allowedIps of active tunnels to prevent full rule cleanup and maintain tunnel rules if kill switch is disabled while a tunnel is active.
2026-09-13 02:29:44 -04:00
Zane Schepke bb4ec6d3a4 refactor: recovery log to debug 2026-09-12 00:44:29 -04:00
Zane Schepke a9738e02ae fix(desktop): network monitor bug when dnsservers are empty 2026-09-11 12:20:26 -04:00
Zane Schepke 68302a6b27 chore: release 1.6.2 2026-09-10 23:59:46 -04:00
Zane Schepke 9d3912de1b fix(desktop): remove noisy network monitor logs 2026-09-10 23:58:23 -04:00
Zane Schepke fcdafc9ff1 fix: redact dns name from logs, bump amneziawg fork for fixes 2026-09-10 23:00:01 -04:00
Zane Schepke ba5459d533 fix: header offset bug in tunnel dns, other tunnel dns optimizations and kill switch handling
ref: https://github.com/wgtunnel/android/issues/1460
2026-09-10 16:59:24 -04:00
Zane Schepke 3e5fa3f606 refactor: move dns validator from android to core 2026-09-10 02:52:29 -04:00
Zane Schepke 7f54c5e94e fix: building on windows and proxy kill switch handling for desktop 2026-09-10 00:22:44 -07:00
Zane Schepke af1b45f4db refactor: remove wintun publishing 2026-09-08 03:49:58 -04:00
Zane Schepke d3b571149c fix: wintun publish for windows 2026-09-08 02:37:00 -04:00
Zane Schepke 17fee4e6c3 chore: release 1.5.8 2026-09-08 00:20:49 -04:00
Zane Schepke 3bdd253f4a fix: remove doze mode detection for recovery
Doze mode detection isn't adding much value for recovery and potentially preventing recovery from firing properly on certain devices.
2026-09-08 00:19:53 -04:00
Zane Schepke 7d45fef7af fix: windows long 32-bit breaks cgo's GoString 2026-09-07 23:17:56 -04:00
Zane Schepke a333e8744f fix: tunnel dns races and DoT optimizations
Adds a per server connection pool for DoT with warm idle connection reuse to optimize DoT tunnel DNS while also fixing issues with multi-origin pages.

ref: https://github.com/wgtunnel/android/issues/1460
2026-09-07 12:16:44 -04:00
Zane Schepke 74b7f69a4c fix(desktop): windows unsatisfied link error 2026-09-07 10:55:09 -04:00
Zane Schepke 668f420536 fix: add reachability metadata for graalvm
Add native library loading success check
2026-09-07 01:58:49 -04:00
Zane Schepke 983acce1df refactor(desktop): use nucleus native library loader with sidecars for wintun 2026-09-06 22:35:22 -04:00
Zane Schepke 434052114b chore: release 1.5.3 2026-09-06 02:18:16 -04:00
Zane Schepke 5d5ad7a44c fix: dns engine resource leak
Also removes bouncycastle in favor of tink and removed human readable.
2026-09-06 02:17:38 -04:00
Zane Schepke 734e6583fc refactor: add config globals convenience functions 2026-09-04 15:15:03 -04:00
Zane Schepke e2c882aa53 fix: linux network monitor, firewall private tables, shared config and auto tunnel logic
Fixes bugs with default network detection on linux.

Fixes bugs with nftables overwrites on linux.

Brings in shared auto tunnel, config reconciliation, calculator, and Amnezia 2.0 compat logic from Android to be shared with desktop.
2026-09-04 03:24:07 -04:00
Zane Schepke 55792788f1 feat: android persistent notification features support 2026-09-02 09:30:01 -04:00
Zane Schepke 6452a5c58c fix: patch trailing newline warning 2026-08-31 16:47:25 -04:00
Zane Schepke a349f03dd5 fix: tunnel dns split policy
Without a full tunnel, Android does not consider the VPN network to be the default network. To fix this, we now bind the dailer for these prefixes to the tunnel interface.

ref: https://github.com/wgtunnel/android/issues/1384
2026-08-31 15:14:53 -04:00
Zane Schepke 0e37af6b34 fix: amnezia interface blank property skipping 2026-08-26 13:48:37 -04:00
Zane Schepke abd1ccd543 fix: amnezia 3.1 parsing and ipc
Disabling split DNS logging for now
2026-08-26 13:32:45 -04:00
Zane Schepke 757fe73627 chore: release 1.4.1 2026-08-26 03:40:14 -04:00
Zane Schepke 563ddaf174 build: update submodules 2026-08-26 03:37:29 -04:00
Zane Schepke c37ad8838e chore: release 1.4.0 2026-08-26 03:07:17 -04:00
Zane Schepke 7ca150308c feat: add amnezia 3.1 support
Bump go to 1.27.0 for Android MTE fixes

https://github.com/wgtunnel/android/issues/1428
https://github.com/wgtunnel/android/issues/1262
2026-08-26 03:03:57 -04:00
Zane Schepke 17ec92dc9a ci: fix publish for parser 2026-08-24 00:59:24 -04:00
Zane Schepke 08df37b25d ci: add github release 2026-08-24 00:14:29 -04:00
Zane Schepke 31503b5887 chore: release 1.3.0 2026-08-24 00:11:53 -04:00
Zane Schepke b441d60ea9 chore: update README 2026-08-24 00:08:21 -04:00
Zane Schepke f3333780f8 fix: allow IPv6 recovery to always run once on healthy tunnel per network
Sometimes IPv4 fallback and fix the tunnel even when the IPv6 endpoint wasn't the issue so we'll allow the IPv6 recovery the try once per network to fix this scenario. This may cause a slightly longer recovery time on networks were IPv6 is problematic, but the tunnel will fallback to IPv4 in this scenario after a short delay.
2026-08-23 23:39:47 -04:00
Zane Schepke e90711a57c feat: make features toggles work while tunnel is active
Add logging level control by consuming app and improve logging.
2026-08-23 23:20:35 -04:00
Zane Schepke 767194991a fix: split dns for split tunnels
https://github.com/wgtunnel/android/issues/1384
2026-08-22 04:20:40 -04:00
Zane Schepke 91eb6c3fa9 ci: fix recursive checkout 2026-08-22 03:53:29 -04:00
Zane Schepke 4029b38d37 ci: add maven publish workflow 2026-08-22 03:45:50 -04:00
Zane Schepke f06736934b chore: bump lib version 2026-08-22 02:24:47 -04:00
Zane Schepke dab16f815f fix: foreground start race
https://github.com/wgtunnel/android/issues/1334
2026-08-22 02:20:52 -04:00