What's Changed
This release ships a Material 3 overhaul of the UI, major SOCKS5 proxy performance improvements, and password protection for the web UI.
Notable changes:
- Material 3 overhaul. The web UI and Android app have been reworked on Material 3 — updated layout, refreshed components, cleaner typography. See the screenshots in the README.
- SOCKS5 performance. Per-connection memory dropped from 2–4 MiB to 128 KiB, and connection time-to-first-byte halved (removed an unnecessary auth round-trip).
- HTTP basic auth for the web UI and API — you can now lock the admin interface behind a username/password.
- Built-in monitoring. Prometheus metrics for libp2p internals and awl-specific counters on the
/metricsendpoint. A prepackaged Docker Compose inmonitoring/ships Grafana dashboards, Prometheus, and Pyroscope for continuous profiling — seemonitoring/README.md(github.com). - Reproducible Android builds in CI.
- Edit config from the tray. New
awl-traysubmenu to openconfig_awl.jsonas raw text. - Updated to Go 1.26 with refreshed dependencies; CI now pins Go, Flutter, NDK and gomobile versions for consistent builds.
Changelog:
- metrics: add prometheus-based libp2p and awl-specific metrics by @pymq in https://github.com/anywherelan/awl/pull/217
- monitoring: add continuous profiling Pyroscope to docker compose by @pymq in https://github.com/anywherelan/awl/pull/218
- api: add http basic auth support by @pymq in https://github.com/anywherelan/awl/pull/219
- Improve test coverage by @pymq in https://github.com/anywherelan/awl/pull/220
- cmd/awl-tray: add submenu to edit config file in raw text by @pymq in https://github.com/anywherelan/awl/pull/221
- socks5: halve connection TTFB latency by removing unnecessary auth round-trip by @pymq in https://github.com/anywherelan/awl/pull/222
- api: update swagger by @pymq in https://github.com/anywherelan/awl/pull/223
- all: update to Go 1.26, update dependencies by @pymq in https://github.com/anywherelan/awl/pull/225
- socks5: update our library fork to reduce memory usage from 2-4 MiB to 128 KiB for each connection by @pymq in https://github.com/anywherelan/awl/pull/227
- app: run integration tests on CI linux, add goleak by @pymq in https://github.com/anywherelan/awl/pull/228
- build: use modern ndk instead of ndk-bundle, pin gomobile version for Android, pin Go and Flutter in CI by @pymq in https://github.com/anywherelan/awl/pull/229
- ci: add reproducible builds for Android by @pymq in https://github.com/anywherelan/awl/pull/230
- docs: update README.md, screenshots by @pymq in https://github.com/anywherelan/awl/pull/231
Full Changelog: https://github.com/anywherelan/awl/compare/v0.16.0...v0.17.0 Milestone: v0.17.0
Installation
For instructions on how to install anywherelan see readme.
Android
Desktop version (awl-tray)
Windows binary builds
awl-tray-windows-386-v0.17.0.zip
awl-tray-windows-amd64-v0.17.0.zip
Windows 7 binary builds
awl-tray-windows7-386-v0.17.0.zip
awl-tray-windows7-amd64-v0.17.0.zip
macOS binary builds
awl-tray-macos-amd64-v0.17.0.zip
awl-tray-macos-arm64-v0.17.0.zip
Linux binary builds
awl-tray-linux-386-v0.17.0.tar.gz (github.com)
awl-tray-linux-amd64-v0.17.0.tar.gz (github.com)
awl-tray-linux-arm-v0.17.0.tar.gz (github.com)
awl-tray-linux-arm64-v0.17.0.tar.gz (github.com)
awl-tray-linux-mips-v0.17.0.tar.gz (github.com)
awl-tray-linux-mipsle-v0.17.0.tar.gz (github.com)
Server version (awl)
Linux binary builds
awl-linux-386-v0.17.0.tar.gz (github.com)
awl-linux-amd64-v0.17.0.tar.gz (github.com)
awl-linux-arm-v0.17.0.tar.gz (github.com)
awl-linux-arm64-v0.17.0.tar.gz (github.com)
awl-linux-mips-v0.17.0.tar.gz (github.com)
awl-linux-mipsle-v0.17.0.tar.gz (github.com)
Windows binary builds
awl-windows-386-v0.17.0.zip
awl-windows-amd64-v0.17.0.zip