mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-10-15 05:42:07 +00:00
Open
opened 2026-10-13 20:23:22 +00:00 by bsakaguchi
·
13 comments
No Branch/Tag specified
dev
feat/otp-login
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
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#525
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?
Originally created by @q4a on GitHub (Dec 29, 2024).
Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/1324
There are already many single board computers like Raspberry Pi.
I tried to build from source on Rock 5B (ARM64, rk3588), but it didn't work. Here is the log:
It looks like there is a problem with precompiled libraries. I hope that when github actions will add free ARM runners ( https://github.com/github/roadmap/issues/970 ), you will add a ARM Linux build.
@RoarGi commented on GitHub (Jan 9, 2025):
I have same issue on linking stage with libssh.a
@dmatora commented on GitHub (Mar 29, 2025):
Was anyone able to get client working on ARM Linux?
@mmikel commented on GitHub (Sep 11, 2025):
Is it possible to provide builds for arm64? (raspberry pi os, armbian or dietpi)
@g-metan commented on GitHub (Sep 30, 2025):
This file:
amnezia-client/client/cmake/3rdparty.cmakedoesn't include necessary strings for aarch64 Linux
And this reffered folder
amnezia-client/client/3rd-prebuiltis empty
so I get build errors like these:
@Kracozebr commented on GitHub (Feb 12, 2026):
Same here. Need to build for arm rk3588, should I give a try?
@il2020 commented on GitHub (Apr 29, 2026):
Please build a client for Raspberry Pi.
@Slach commented on GitHub (May 3, 2026):
same here, need annezia vpn for nvidia dgx spark =(
@steals commented on GitHub (May 5, 2026):
There is an old closed PR with arm64 build fixes that wasn't merged https://github.com/amnezia-vpn/amnezia-client/pull/1903/changes
Did anyone tried to apply those changes and built locally?
@iv4nconnect commented on GitHub (Jul 6, 2026):
Amnezia on arm64 Linux is very much needed!
@Mezo-oz commented on GitHub (Jul 25, 2026):
AmneziaVPN builds on ARM64 Linux today. Verified end to end on a Raspberry Pi 5, Debian 12 bookworm, aarch64, against
dev@0faf3e6d.0 errors. Both targets link.
The original premise of this issue no longer applies. The move to Conan removed the x86_64-only prebuilt binaries entirely, and Conan builds the whole native dependency graph from source for
arch=armv8with no changes required:Everything that used to be missing for aarch64 (libssh, the xray bindings, AmneziaWG, openvpn, tun2socks) compiles cleanly.
Two things still stand between that and an out-of-the-box ARM64 build:
1. Conan recipes don't parse on Python < 3.12. Three recipes use PEP 701 f-string syntax, so
conan installdies with aSyntaxErrorbefore resolving anything. Not ARM-specific: it breaks any host with Python 3.11, which includes Debian 12 and Raspberry Pi OS. It is invisible in CI becauseubuntu-latestships 3.12+. PR: https://github.com/amnezia-vpn/amnezia-client/pull/28702. Qt version. With Debian 12's Qt 6.4.2, configure fails at
client/CMakeLists.txt:249:OUTPUT_SCRIPT/NO_UNSUPPORTED_PLATFORM_ERROR/DEPLOY_TOOL_OPTIONSarrived in Qt 6.5-6.7. This bites harder on ARM64 than elsewhere, because Qt publishes no official aarch64 Linux desktop binaries, so you get whatever your distro ships or you build Qt yourself. Debian 12 has 6.4.2; Debian 13 has 6.8.2.Qt 6.8.2 is sufficient in practice. The successful build above used Debian 13 (trixie) packages in a container on the same Pi, even though the README asks for 6.10+. If 6.8 is genuinely supported, relaxing the documented minimum would make ARM64 Linux reachable on a stock distro today.
One smaller thing:
deploy/build.shonly discovers Qt in official-installer layouts ($QT_ROOT_PATH/gcc_64), so distro-packaged Qt needsCMAKE_PREFIX_PATHset manually. That is the normal case on ARM64, where the installer isn't an option.Would an aarch64 Linux CI job be welcome? Happy to help, I have the hardware set up and can test whatever's useful.
@Mezo-oz commented on GitHub (Jul 26, 2026):
Building on Linux aarch64 (Raspberry Pi 5, Debian 12)
There are two independent blockers here. Only the first is a code problem.
1. Conan recipes fail to parse on Python < 3.12
Three recipes use PEP 701 f-string syntax (Python 3.12+). Debian 12 ships Python 3.11, so Conan raises
SyntaxErrorbefore resolving a single dependency and the build never starts. Fix proposed in #2870.2. Debian 12's Qt 6.4.2 is too old
qt_generate_deploy_qml_app_scriptrejectsOUTPUT_SCRIPTandDEPLOY_TOOL_OPTIONS, both added in Qt 6.5–6.7. Qt 6.8.2 works. This one can't be fixed in-tree — Qt publishes no official aarch64 Linux desktop binaries, so it's distro Qt or a source build.What worked was building inside a Debian 13 (trixie) container, leaving the host untouched:
QT_ROOT_PATHandCMAKE_PREFIX_PATHare required becausedeploy/build.shonly looks for Qt in the official-installer layout ($QT_ROOT_PATH/gcc_64), which distro Qt doesn't have.Two things that look like errors but aren't:
qt-cmakedoesn't exist on Debian (it ships only with Qt's own installer), and the Qt host tools (moc,rcc,uic,repc) live in/usr/lib/qt6/libexec/, offPATHby design. CMake finds them through the Qt6 config packages, socommand -vwill wrongly report them missing.Result:
client/AmneziaVPNandservice/server/AmneziaVPN-serviceboth build to completion, 0 errors, ELF 64-bit LSB PIE ARM aarch64.Building is not the same as running. Binaries produced in the trixie container link against glibc 2.41 and Qt 6.8.2. Raspberry Pi OS bookworm has glibc 2.36 and Qt 6.4.2:
glibc symbol versioning is forward-compatible only, so a binary built against 2.41 will never load on 2.36. Running it on the same host needs a second, persistent container providing the Qt 6.8 runtime. With that in place the daemon starts cleanly on aarch64 —
LinuxDaemon,WireguardUtilsLinux,DnsUtilsLinuxandIPUtilsLinuxall construct, and the IPC socket opens at/var/run/amneziavpn/daemon.socket.Environment: Raspberry Pi 5, 8 GB, aarch64, Raspberry Pi OS bookworm (Debian 12), built against
dev.Сборка на Linux aarch64 (Raspberry Pi 5, Debian 12)
Здесь две независимые проблемы. К коду относится только первая.
1. Рецепты Conan не парсятся на Python < 3.12
Три рецепта используют синтаксис f-строк из PEP 701 (Python 3.12+). В Debian 12 поставляется Python 3.11, поэтому Conan падает с
SyntaxErrorещё до разрешения зависимостей и сборка вообще не начинается. Исправление предложено в #2870.2. Qt 6.4.2 из Debian 12 слишком старый
qt_generate_deploy_qml_app_scriptне принимаетOUTPUT_SCRIPTиDEPLOY_TOOL_OPTIONS— оба добавлены в Qt 6.5–6.7. Qt 6.8.2 работает. Это нельзя исправить в репозитории: Qt не публикует официальные десктопные сборки для aarch64 Linux, поэтому остаётся либо Qt из дистрибутива, либо сборка из исходников.Рабочим оказался вариант со сборкой внутри контейнера Debian 13 (trixie), не затрагивая хост:
QT_ROOT_PATHиCMAKE_PREFIX_PATHобязательны, потому чтоdeploy/build.shищет Qt только в структуре официального установщика ($QT_ROOT_PATH/gcc_64), которой у Qt из дистрибутива нет.Две вещи выглядят как ошибки, но ими не являются:
qt-cmakeв Debian отсутствует (он поставляется только с установщиком Qt), а хост-утилиты Qt (moc,rcc,uic,repc) лежат в/usr/lib/qt6/libexec/и намеренно не входят вPATH. CMake находит их через конфигурационные пакеты Qt6, поэтомуcommand -vошибочно сообщает об их отсутствии.Результат:
client/AmneziaVPNиservice/server/AmneziaVPN-serviceсобираются полностью, 0 ошибок, ELF 64-bit LSB PIE ARM aarch64.Собирается — не значит запускается. Бинарники, собранные в контейнере trixie, слинкованы с glibc 2.41 и Qt 6.8.2. В Raspberry Pi OS bookworm — glibc 2.36 и Qt 6.4.2:
Версионирование символов в glibc совместимо только вперёд, поэтому бинарник, собранный против 2.41, никогда не загрузится на 2.36. Чтобы запустить его на том же хосте, нужен второй, постоянный контейнер с рантаймом Qt 6.8. С ним демон на aarch64 стартует нормально:
LinuxDaemon,WireguardUtilsLinux,DnsUtilsLinuxиIPUtilsLinuxсоздаются, IPC-сокет открывается в/var/run/amneziavpn/daemon.socket.Окружение: Raspberry Pi 5, 8 ГБ, aarch64, Raspberry Pi OS bookworm (Debian 12), сборка из ветки
dev.@iv4nconnect commented on GitHub (Jul 26, 2026):
Yes! Definitely! I, personally, really need it and if you could release a testing version, I'd be happy to test it!
@Mezo-oz commented on GitHub (Jul 28, 2026):
Ok so the client and service daemon are running on a Pi 5 I have running Debian 13. So Debian 13 native build works directly, and I'll post full steps once I can validate that the VPN works end to end. For Debian 12, native build compiles but wont run since there is a glibc/Qt mismatch.