mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-10-14 21:34:26 +00:00
Open
opened 2026-10-14 21:06:47 +00:00 by bsakaguchi
·
0 comments
No Branch/Tag specified
dev
feat/api-tests
fix/show-locked-xray-settings-page-for-servers-without-write-access
fix/serialize-log-record-writes-and-pin-log-date-format-locale
fix/libagw-review-fixes
feat/otp-login
fix/ios-xray-ipv6-leak
fix/macos-xray-ipv6-leak
feat/add-support-include-split-tunnel
fix/win-xray-app-split-tunneling
fix/bug-when-saving-after-canceling
fix/xray-reconnect-crash
fix/share-empty-config-on-ssh-timeout
fix/ssh-credentials-input
fix/updater-verify-signature
fix/async-ssh-threading
fix/xray-check-inet-and-liveness-monitor
fix/selfhosted-server-installations
feat/add-support-ikev2-macos
fix/icons-different-color-themes
feat/add_support_arm_windows
feat/add-deep-link
feat/fixed-push-notifications-on-VPN-connect-disconnect-2
feat/implement-QR-code-generation-and-scanning
feat/file-password-protection
feature/add-local-proxy
feat/add-support-split-tunnel-macos
feat/tests
fix/android-register-unacknowledged-purchase
fix/share_on_linux
mirroring-to-outside
feat_copy_docker_configs
feat/self-diagnostics-log
feat/amnezia-free-vless-switch
fix/conan_build_android_on_win
fix/linux-reconnect-dns-reliability
fix/windows-connection-stability
fix/linux-reconnect-refactoring
fix/ios-groupidentifier-order
feat/xray-subscription-link
fix/minor-fixes
fix/xray-config-inplace-edit
feat/amnezia-sdk-typed-api
feat/amnezia-sdk-integration
feat/force-update-native
refactor/marketplace-update-popup
feat/force-update
fix/valnurability_dev
chore-xcode-version
fix/empty-i1-i5
build_qt_6_10_1
master
feat/protocol-selection
fix/openvpn_install
feat/locations_change
feat/locations_change_rework
feature/local-proxy-integration
fix/filepicker_atv
fix_valnurability
fix/macos-ne-codesign-4.8.19.0
temp-branch-for-testing
fix/rebased_4_8_19_linux_fix_error
feat/proxy-storage-cache
fix/zeroed-params
fix/killswitch-blocknets-linux
update/translation_RU
fix/self_hosted_reinstall_error
feat/selfhosted-dns
fix/agp_version_up
feat/switch_to_alive_protocol
feat/support_multipeer
server_scripts_update
fix/extended-vless-configuration
chore/apple-ci-cd-macos-versions
feat/add-telemt
fix/android_keystore_read_error
feat/add-mtproxy
chore/bump-qt-version
fix/make_dbus_async
feature/dns
rebase/apple-tv-target-on-conan
fix/outbound_freedom_xray_with_dns_fix
feat/apk_support
feat/fallback-proxy
feat/apple-tv-target
fix/dns_reconnection_issue
feat/fixed-push-notifications-on-VPN-connect-disconnect
fix/linux-firewall
docker-regional-locks
appstore-review-popup
feat/storekit2
fix/uninstall-split-tunnelling-driver
revert-2376-chore/license-file
support_16kb_android
bump_version
feat_add_review_android
bugfix/translation-absence-on-subscription-key-page
feat/location-separation-by-region
bugfix/text-moving-when-resing-window
fix_backup
feature/add-purchase-android
bugfix/moved-text-while-resizing-window
bugfix/incorrect-killswitch-restore-from-backup
fix/backup-exclude-secondary-api-configs
feat/proxy-fields-for-dev-console
bugfix/ovpn-ios-fix
bugfix/linux-bundle-libraries
fix/xray-app-split-win
fix/upload-to-s3
chore/add-release-date-upload
feat_add_webview_support
feature/configuration-transfer-through-qr
feat/bot-key-unlink-device
fix/ad-link-lang-support
fix/qsecuresettings-with-android
feat/add-support-arm64-win
spanish-translations
fix/context-menu
feat/add-system-dns-support
fix/qt6-9-support
fix/qt6_9_support
bugfix/strict-killswitch-ui
android-7
chore/minor-bugfixes
feature/awg-net-fix-macos-wakeup
fixbug/ios18
bugfix/ios-ne-crash
fix/linux-tray-quit-button
cryptpad-support
bugfix/disable-linux-killswitch
fix/minor-ui-fixes
feature/setup-guid-tun2socks
feature/linux-ipsec
feature/ipsec-linux
refactoring/server-config-in-classes
feature/macos-ipsec
fix/ui-fixes-after-merge-with-d20ed4a
chore/focus_control_after_qt_6.9_migration
feature/integrate-xray-as-a-library
maxos-awg-fix
feature/add-new-awg-docker-image
chore/update-3rd-prebuild
feature/test-news
fix/api-conf-files
bugfix/split-tunneling-with-api-config
bugfix/ios-awg-new-fields
feature/special-handshake-2
feat/xray-api-support
fix/desktop-entry
bugfix/shadowsocks-cipher-setting-not-changing
feature/update-tap
bugfix/openvpn_import_fix
feature/ability-to-change-port-after-installing-xray
bugfix/strict-mode-ovpn
bugfix/win-ipv6-ovpn
bugfix/subnet-adress-setting
exception-podman-docker
bugfix/fix-listviewtype-scrolling
bugfix/win-disabled-ipv6
bugfix/win-ipv6-disabled-ovpn
feature/killswitch-strict-mode
feature/awg-network-check
feature/empty-split-tunneling-list
feature/support-info
chore/update-go-version
checking-Linux-version
update_server_scripts
bugfix/button-selection-easy-setup-page
feature/old-api-proxy
patch/user-checking
fix/correcting-version
support-podman
support_podman
user-checking-patch
feature/check-docker-version
feature/allowed-dns-list
without_lsof
chore/error-body
Update-amneziavpn_ru_RU
shiroow-patch-8
shiroow-patch-7
shiroow-patch-6
shiroow-patch-5
shiroow-patch-4
shiroow-patch-3
shiroow-patch-2
shiroow-patch-1
check_sudo_permissions
feature/euphoria
add_next_octet_to_ip_settings
bugfix/mobile-controllers-init
euphoria
bugfix/android-crush
feature/macox-network-extension
bugfix/pre-release-hotfixes
bugfix/ipsec-pfs
chore/ios-site-links
checking_sudo_permissions
feature/android-tv
improve_navigation_cpp
bugfix/linux-firewall-install
fixbug/wireguard-handshake-time
ReadmeRu_full
feature/xray-user-management
feature/subscription-end-date
chore/clang-format
feature/ru-in-readme
chore/increased-api-timeout
chore/deploy-workflow
bugfix/services-list-scroll
wheel_group_suppor
chore/bump-xcode-version
fixbug/mac-network-extension
feature/android-gpb
feature/page-home-drawer-country-selection
checking-sudo-users
bugfix/service-info-from-response
fixbug/build-macos-ne-2
android-qt-6.7.3
fixbug/build-macos-ne
bugfix/wg-windows-log-folder
feature/psk-key-api-request
bugfix/user-management-qml-warnings
fix/macos-network-extension
fixbug/macos-NE-build
bugfix/fixed-isDevEnv-initialization
bugfix/revert-ios-ovpn
feature/tun2socksSrv
fix/disable_singleapp
feature/awg-wg-name-resolving
feature/disable-dhcp
bugfix/allowed-ips-old-configs
feature/goodbyedpi
feature/add-exception-log
refactoring/remove-ipv6-from-default-routes
refactoring/singleapplication-submodule
macos-dirty-build
test/gateway
Update-amneziavpn_fa_IR.ts
bugfix/ipsec-win
fix/xray-custom-port
improve-tab-navigation
test-win-11
feature/android-tv-remote-control-support
KsZnak-patch-1
feature/awg-wg-qr
bugfix/fix-loopback-splittunel
fix/setup_host_firewall
feature/android-xray
feature/openvpn-pass
feature/connection-string
fix/clickable-errors
bugfix/api_1100_fix
feature/graphview
testsvg
feature/update-win-awg
feature/open-as-amnezia
feature/update-mozilla-upstream
bugfix/qr-code-cutting
feature/native-wg-psk
test/awg-centos
bugfix/hide_error
feature/add-uninstaller-checkbox
bugfix/cancel-button-on-install-page
bugfix/anchors-page-home-warning
awg-udptlspipe
button-focus-fix
revert-677-fix/logger
bugfix/Revert_PR_596
bugfix/allowed-ips-api-configs
bugfix/on-escape-pressed
feature/auto-scroll-for-server-selection-list
fix/ui-fixes
translations/update_fa_IR.ts
feature/new-awg-docker-container
bugfix/awg_ipv6_fix
feature/tab-navigation
fix/username-no-autocapitalization
sure
refactoring/servers-model-cleanup
feature/wg-mtu-setup-ios
3rd_adaptation_to_diff_OS
sudo_not_found
test/docker-ce
bugfix/double_clear_server_from_amnezia
fix/android
client/3rd-prebuilt
revert-559-KsZnak-translation-ru-ex
KsZnak-translation-ru-ex
KsZnak-br1
KsZnak-text-change
feature/api-awg
feature/error-code-output
feature/win_x32_builds
text/debug-output
feature/ovpn3-desktop-cli
bugfix/secureqsettings-deadlock
refactoring/change-settings-when-connected
files_check
ArchLinux-support
second_adaptation_to_diff_os
sudo
refactoring/android-build
adaptation_to_different_os
feature/online_installer_for_v4
update_to_r2
bugfix/return-after-installation
feature/custom_drawer_component
bugfix/split-tunneling
bugfix/existing-awg-container
revert-370-feature/custom_drawer_component
bugfix/adapted_awg_questiondrawer
bugfix/updated_drawer_height_pageserverdata
bugfix/translated_new_source_strings_to_chinese
feature/split-tunneling-config
feature/accessibility-support
branch_connectivity_change_fix
feature/ikev2_android
android_ss_transport
bugfix/macos_fixes
feature/nextcloud-support
feature/macos_network_extension
android_pt_transport_source
feature/ios-openvpn3-pluggable-transport-Cloak
bugfix/cloak_for_desktops_fix
arm-build-macos
fix-macos-build-brew
bugfix/ios-build-openvpnadapter-from-source
feature/download-native-wireguard-config-on-connect
feature/v2ray-container
bugfix/dpkg-busy-checking-stuck
feature/online-installer
dev-killswitch
dev-netadapters
5.0.3.0
5.0.2.1
5.0.2.0
5.0.1.5
5.0.0.5
5.0.0.2
4.8.21.0
4.8.19.0
4.8.18.0
4.8.17.0
4.8.16.0
4.8.15.4
4.8.15.0
4.8.14.5
4.8.14.1
4.8.12.9
4.8.12.8
4.8.12.7
4.8.12.6
4.8.11.4
4.8.11.3
4.8.11.2
4.8.11.1
4.8.11.0
4.8.10.0
4.8.9.2
4.8.9.1
4.8.9.0
4.8.8.3
4.8.8.2
4.8.8.1
4.8.7.2
4.8.7.1
4.8.7.0
4.8.6.0
4.8.5.0
4.8.4.5
4.8.4.4
4.8.4.3
4.8.4.2
4.8.4.1
4.8.4.0
4.8.3.2
4.8.3.1
4.8.2.3
4.8.1.9
4.8.1.0
4.8.0.5
4.7.0.0
4.6.0.3
4.6.0.1
4.5.3.0
4.5.0.0
4.4.0.0
4.3.0.0
4.2.1.0
4.2.0.1
4.1.2.0_cloak_pt_experimental
4.1.0.1
4.0.8
3.1.0
3.0.8
3.0.7
3.0.5
2.1.2
2.1.0
2.0.10
2.0.9
2.0.8
2.0.7
2.0.6
2.0.5
2.0.1
2.0
1.9.1
1.9
1.8
1.7
1.6
1.5
1.4
1.3
1.2
1.1
1.0
No labels
pull-request
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".
No due date set.
Dependencies
No dependencies set.
Reference
amnezia-vpn/amnezia-client#2999
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/amnezia-vpn/amnezia-client/pull/2877
Author: @yesihaveidea
Created: 7/25/2026
Status: 🔄 Open
Base:
dev← Head:feat/win-arm64-v5📝 Commits (10+)
358e472fix(windows): tun cleanup, IPv6 routing result, tunnel logger and xray stop ordere6793e6feat(build): Windows ARM64 (armv8) support in recipes and packaging11433c8feat(ci): windows-11-arm bake and build jobs998bb5cfeat(openvpn): ovpn-dco-win data channel offload with tap-windows6 fallback2a084b4fix(build): vcvars discovery in build.bat and mc.exe resolution for openvpnserv1731579fix(installer): recreate existing service on upgrade instead of failing1178887chore(deps): bump openvpn 2.7.0 -> 2.7.567a0bc3fix(openvpn): install tap-windows6 on demand when openvpn needs it9dd21e4chore(deps): bump tun2socks 2.6.0 -> 2.7.0ccde4c1fix(wireguard): preserve AmneziaWG obfuscation params across config model📊 Changes
33 files changed (+920 additions, -56 deletions)
View changed files
📝
.github/workflows/deploy.yml(+128 -0)📝
client/core/configurators/openVpnConfigurator.cpp(+5 -0)📝
client/core/controllers/updateController.cpp(+4 -0)📝
client/core/models/protocols/wireGuardProtocolConfig.cpp(+102 -2)📝
client/core/models/protocols/wireGuardProtocolConfig.h(+29 -1)📝
client/core/protocols/openVpnProtocol.cpp(+56 -13)📝
client/core/protocols/openVpnProtocol.h(+11 -0)📝
client/core/protocols/xrayProtocol.cpp(+9 -4)📝
client/platforms/windows/daemon/windowstunnellogger.cpp(+6 -0)📝
cmake/CPack.cmake(+25 -1)📝
conanfile.py(+3 -2)📝
deploy/build.bat(+10 -4)📝
deploy/deploy_s3.sh(+2 -1)📝
deploy/installer/qif/componentscript.js(+24 -8)📝
ipc/ipc_interface.rep(+1 -0)📝
ipc/ipcserver.cpp(+21 -0)📝
ipc/ipcserver.h(+1 -0)📝
recipes/amnezia-xray-bindings/conanfile.py(+36 -4)📝
recipes/awg-windows/conanfile.py(+11 -1)📝
recipes/go/conandata.yml(+4 -1)...and 13 more files
📄 Description
Native Windows ARM64 (armv8) support for the Conan-based tree, plus the OpenVPN data-channel-offload driver that OpenVPN 2.7 needs on that platform.
Closes #2401, addresses #882 and the Windows part of #1429.
Built and runtime-tested on a Snapdragon X Elite laptop (Windows 11 26200): AmneziaWG, WireGuard, Xray and OpenVPN all connect; installers produced by both the IFW and the WiX generators install and upgrade cleanly.
Windows fixes that are not ARM64-specific
These stand on their own and affect x64 users too:
RouterWin::deleteTun()was never implemented, soRouter::deleteTun()silently returnedtrueon Windows. A tun2socks process that dies without a graceful stop leaves its wintun devnode behind, and the next Xray connection then hangs trying to reuse it. The new implementation removes the devnode by its exact adapter name, read from wintun's privateDEVPKEY_Wintun_Name; matching onSPDRP_FRIENDLYNAMEwould not do, because wintun stores the tunnel type there and every wintun-based product shares it.XrayProtocol::stop()deleted the TUN before killing tun2socks. Removing a device that is still held open only marks it pending-removal, which is exactly how the orphan above is created. The delete now happens after the process is reaped.RouterWin::StartRoutingIpv6()dropped itsQtConcurrentfuture withoutwaitForFinished(), so it always reported failure and the IPv6 restore raced the rest of the shutdown.WindowsTunnelLoggerpolled an unnamed file every 250 ms when the WireGuard ring-log path is absent, filling the service log withQFSFileEngine::open: No file name specified.deploy/build.batnever calledvcvarsall: the vswhere block reads%VS_INSTALLER_PATH%inside the same parenthesised block that sets it, so the variable expands empty. CI hides this becausemsvc-dev-cmdhas already set the environment; local builds fail to link.openvpnrecipe fails to configure when the Windows SDK bin directory is not onPATH:src/openvpnservcallsfind_program(mc.exe)and aborts. The recipe now resolves the message compiler explicitly and passes it asMC_COMPILER.sc createreturnsERROR_SERVICE_EXISTSwhen the service is still registered. It is now stopped and deleted first.vc_redistwas never shipped.componentscript.jshas always tried to execute@TargetDir@\vc_redist.<arch>.exe, but nothing staged that file; the redistributable is now downloaded at configure time and installed, and the architecture is picked from the real CPU rather than a"64"substring test.ARM64 support
recipes/go: Windows/armv8 toolchain entry, needed as soon as a native ARM64 machine builds anything Go-based.recipes/win-split-tunnel: the four sha256 values were the x86_64 ones for both architectures. They are per-architecture now — Mullvad has publishedaarch64-pc-windows-msvcbinaries since 2024, so split tunnelling works on ARM64 as well.recipes/llvm-mingw:mingw-buildsandmsys2have no armv8 builds on conan-center, and CGO forGOARCH=arm64needs anaarch64-w64-mingw32compiler.awg-windowsandamnezia-xray-bindingsuse it for armv8; the same package serves both a native ARM64 host and an x64 cross-build.recipes/tun2socksandrecipes/amnezia-xray-bindingsbuild directly withgo buildon Windows/armv8 instead of going through the msys2 Makefile wrapper.deploy/build.bathandles a native ARM64 host (PROCESSOR_ARCHITECTURE=ARM64) and passes the generator platform explicitly, so an x64 machine cross-building-arch arm64no longer produces x64 binaries.cmake/CPack.cmakederives the package suffix andCPACK_WIX_ARCHITECTUREfrom the target architecture;updateControlleranddeploy_s3.shfollow suit so ARM64 installs do not self-update into the x64 installer..github/workflows/deploy.yml: bake and build jobs onwindows-11-arm, which is generally available for public repositories since August 2025.OpenVPN data channel offload
OpenVPN 2.7 removed wintun, and
tap-windows6is the only remaining alternative toovpn-dco. The client had no way to provision either driver, so OpenVPN could not work on a fresh ARM64 install at all.recipes/ovpn-dco-win2.8.3 ships the Microsoft-attestation-signed driver byte-for-byte from the official release (win10 and win11 flavours, amd64 and arm64). I verified the SHA256 of these files against the ones insideOpenVPN-2.7.5-I001-arm64.msi: they are identical, so this is the same pairing upstream ships. The driver is GPLv2, so redistribution is fine; nothing is rebuilt or re-signed.openvpnrecipe also packagestapctl.exe. Without OpenVPN's own interactive service, adapter creation has to happen on our side.DcoControllerinstalls the driver withpnputilon first use, picks the win10/win11 flavour by OS build, and creates theAmneziaDCOadapter withtapctl.IpcServer::checkAndInstallDriver()tries DCO first and falls back toTapController.--fragment, a proxy, a non-AEAD data cipher,--dev tap), openvpn falls back totap-windows6on its own and dies with "There are no TAP-Windows or ovpn-dco adapters on this system". That message now triggers an on-demand install of the legacy driver and one retry.ncp-disableis stripped from local configs: the option was removed in OpenVPN 2.6 and 2.7 rejects it outright, so any server configured with it currently produces a hard failure on Windows.Dependency bumps
openvpn2.7.0 → 2.7.5 — nine CVEs, and it is the userspace release thatopenvpn-buildpairs with driver 2.8.3.tun2socks2.6.0 → 2.7.0.Notes for reviewers
The commits are ordered so they can be reviewed — and if you prefer, cherry-picked — independently; only the ARM64 recipe work and the DCO work touch the same files.
Qt is unchanged at 6.10.1 (
win64_msvc2022_arm64_cross_compiledplus the sameqtremoteobjects qt5compat qtshadertoolsmodule set the x64 job uses).awg-windowsstill has no arm64 target in its ownbuild.cmd; the recipe drives the Go build directly, so nothing is blocked, but a one-line addition upstream would mirror whatwireguard-windowsalready does.Note on scope: this branch also carries one commit that is not ARM64-specific and is submitted independently as #2882 —
WireGuardClientConfig::fromJson/toJsonwas not round-tripping the AmneziaWG obfuscation parameters, so a WireGuard profile that had obfuscation enabled silently degrades to plain WireGuard after an upgrade. It rides along here only so the ARM64 build is self-contained; please review and merge it in #2882 — the commit is identical, so it drops out of this range once #2882 lands ondev.🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.