* feat: initial conan support
* feat: add awg-go and awg-apple recipes
* feat: macos full feature conan build, except ss and cloak
* feat: conan android initial support
* fix: android libssh fixes
* conan: android additional recipes and fixes
* feat: openvpn add support android
* fix: awg android connection establish
* conan: apple full-featured support
* chore: bump min macos version
* chore: get rid of manual deploy recursive copying
* conan: beautify makefile-based recipes
* conan: add geosite.dat and geoip.dat
* conan: use lib linking instead of QT_EXTRA_LIBS for OVPN
* conan: address lack of SONAME of libck-ovpn-plugin.so correctly
* conan: windows initial support
* conan: make awg-windows and wintun be interpret as exes
* conan: fix version for v2ray-rules-dat
* feat: conan and platform bootstrap rework in cmake
* feat: 16kb support for Android
* chore(conan): recipes cleanup
* feat: support of drivers for windows
* feat: support full-featured cmake install
* chore: exclude qtkeychain from the target build
* fix: install for apple systems
* fix: provide flags for cloak plugin for openvpn-pt-android
* chore: bump android deps for 16kb support
* feat(conan): patch cloak to properly provide env for golang
* chore: remove redundant hint from conan find
* feat: linux <-> conan features
* feat: linux initial packaging support
* feat: linux cpack support
* feat: cpack windows full-featured build
* feat: productbuild cpack support
* feat: rework CI/CD for macos
* feat: rework CI/CD for Linux
* fix: libncap automake args
* fix: CI/CD correct QT paths
* fix: windows rework CI/CD
* fix: windows artifact upload
* chore: remove MacOS-old from build targets
* feat: add conan to all mobile and NE builds
* feat: support default amnezia conan remote
* fix: use Release instead of release on Android
* feat: get rid of 3rd-prebuilt
* feat: conan CI/CD upload
* fix: CI/CD change windows toolset versions
* fix: remove MSVC version from CI/CD
* feat: conan CI/CD add Release and Debug build types
* feat: add multiple xcode versions for conan CI/CD
* fix: correct conan CI/CD clang versions
* feat: separate prebuilt baking, and add some for NE
* feat: rework keychain on ios/macos even more
* fix: add desktop Qt for iOS
* feat: add QT_HOST_PATH to build.sh
* fix: add deploy definition to cmake
* fix: android adjustments for toolchains and CI/CD
* fix: add needs for Android CI/CD
* fix: Android CI/CD use android-28
* fix: modernize translations, and CI/CD fixes
* fix: gradle min sdk compilation error
* fix: CI/CD add installers to all jobs
* fix: parse android platform more precisely
* fix: adjust aab path in CI/CD
* feat: CI/CD do not execute artifact build if there is nothing changed
* fix: CI/CD use common jobs even if previous were failed
* fix: Apple CI/CD use set-key-partition-list for keychains
* fix: Apple CI/CD do not specify any keychain (use default)
* fix: build aab as a different step in build script
* chore: beautify build.sh script
* feat: CI/CD build separate APKs per ABI
* fix: Android CI/CD upload artifact in separate steps
* chore: recipes cleanup
* feat: add hints for conan on MacOS
* fix: add main.cpp and tests back to CMakeLists.txt
* chore: xrayProtocol codestyle changes
* fix: openssl set proper X509 request version
* fix: make openvpn protocol rely only on client while configuring
* chore: get rid of old scripts
* chore: readme update describing build process more precisely
* feat: windows build script add multiprocessing capabilities
* chore: bump Qt version in README
* feat: add generator option and use Ninja by default in CI/CD for linux/macos
---------
Co-authored-by: NickVs2015 <nv@amnezia.org>
* feat: add support gamepad buttons
* feat: add support gamepad with github repo
* feat: add gitmodules dependency
* feat: add submodule qtgamepad
* chore: update qtgamepad submodule to commit 4e57142e563b931766056b4c7507c16892260222
* fix: update qtgamepad with standard CMake and private headers support
Update qtgamepad to commit f72b3e0 which:
- Replaces qt_add_library with standard add_library to avoid Qt 6.10 macro conflicts
- Copies private headers to build include tree for Android backend
- Creates Qt:: and Qt6:: namespace aliases for proper linking
* feat: integrated xray as a library and added split-tunneling
* fix: added copying amnezia_xray.dll to build dir
* fix: changed path on darwin
* chore: clean up getting default device
* chore: removed WSAGetLastError from sockopt logging
* fix: get rid of debug logs in xray handlers
* fix: minor fixes and xray debugging capabilities
* fix: macos default interface fix
* fix: roll-back ipv6 sockopt for mac
* fix: bind IPv6 on Windows
* fix: (win) better IPv6 handling and router fixes
* feat: prebuilts uploaded
* fix: removed redundant cmake definitions
* feat: moved xray to service process, reworked errors
* fix: return values in networkUtilities
* fix: macos build fixes
* fix: (windows) cmake fixes
* fix: (windows) compilation fix
* fix: (windows) changed location of amnezia_xray.dll
* feat: xray logs added to system service
* chore: bump xray&tun2socks versions for android
* chore: cleanup of XrayProtocol class
* removed killswitch
* removed redundant members and basic cleanup
* feat: support split-tunneling in iOS and macOS NE
* chore: update active interface index based on network path and available interfaces
* refactor: update network path handling and logging in PacketTunnelProvider
* chore: bump xray deps
---------
Co-authored-by: Yaroslav Yashin <yaroslav.yashin@gmail.com>
* There's a common issue of building iOS apps on Qt 6.8 because of new introduced ffmpeg dependency in multimedia Qt package
ref: https://community.esri.com/t5/qt-maps-sdk-questions/build-failure-on-ios-with-qt-6-8/m-p/1548701#M5339
* Cmake related changes
* Source code changes
* Various entitlements
* Ci-cd config update
* Resources changes
* Submodules updated
* Remove me
* QtWidget exclusion omitted
* Distribution errors fixed
* Outdated files deleted
* macos_ne cmake fixed
* fix: update provisioning profile specifiers for macOS network extension
* fix: update provisioning profile specifiers and code sign flags for macOS build
* Revert me
(temporary 3rd-build commit pointer)
* fix: Welcome screen fix
* fix: ci/cd hanging forever fix
* fix: Fixed error popup on macos on file save
* refactor: rename networkextension target to AmneziaVPNNetworkExtension in macos build configuration
* feat: add autostart support for Mac App Store builds on macOS
Fixes: QA-8
* feat: add debug logging to Autostart functionality on macOS
* Revert "feat: add autostart support for Mac App Store builds on macOS"
This reverts commit 3bd25656fb.
* feat: add platform-specific close window behavior for macOS App Store build with Network Extension
Closes: QA-12
* When the application starts with "Start minimized" enabled on macOS (especially the
sandboxed App-Store build compiled with MACOS_NE), fully hiding the window prevents it
from being restored by clicking the Dock icon. The proper behaviour is to start the
window in the *minimized* state instead. That way the window is still part of the
window list and the system automatically brings it back when the user clicks the Dock
icon, replicating the native experience.
On the other platforms we keep the old behaviour (hide the window completely and rely
on the tray icon), therefore we switch at runtime by checking the current OS.
Closes: QA-7
Closes: QA-8
* Revert "When the application starts with "Start minimized" enabled on macOS (especially the"
This reverts commit 7b0d17987c.
* feat: MACOS_NE systray menu support
* feat: add macOS notification handler and install event filter on main window
* feat: implement custom close behavior for Amnezia application on different platforms
* fix: update provisioning profile specifiers for macos builds
* fix: Fatal error in logs
CLI-216
* fix: disabled unavailable on macos ne service logs
* fix: dock icon now hides only when window is closed; menubar icon shows always
Initial state of the docker icon to be presented follows "Start minimized" setting in app settings.
* temp-fix: temporary disable all OpenVPN options of VPN on MACOS_NE since it's not working yet.
* fix: build script updated
* feat: add macOS NE build workflow to GitHub Actions
* fix: Not working Auto start toggle is hidden
* fix: Log spamming during xray connection fixed
* 3rd-prebuild points to commit that stores macos_ne universal binaries.
* fix: missing native dependency on linking stage fixed
* chore: update link to submodule
---------
Co-authored-by: vladimir.kuznetsov <nethiuswork@gmail.com>
* Add prebuilt submodule
* Remove Android native library
* Add links for Android prebuilt library
* Update OpenSSL to prebuilt binaries
* Setup links for prebuilt OpenSSL
* Set correct OpenSSL header dir
* Update prebuilt submodule
* Use static OpenSSL for linux build
* Use prebuilt binary from 3rd-prebuilt for Win installer
* Use prebuilt binary from 3rd-prebuilt for Linux installer
* Use prebuilt binary from 3rd-prebuilt for MacOS installer
* Use Android prebuilt openvpn libs
* Cleanup some unneeded code
* Add new maven repo for gradle-versions-plugin
* Use jitpack version of jsocks
* Fix some unnecessary header copy
* Fix issue with package name of original WG libs
* Change submodule path to https (3rd-prebuilt)
* Fix windows installer
* MacOS deploy fixes
* NetworkChange detection for OpenVPN protocol (#256)
* NetworkChange detection for OpenVPN protocol
* Update android native libs
* Always on VPN mode for OpenVPN, Cloak+OpenVPN
* Set foregroundService type
* Android 14 require to set foregroundServiceType
* Remove unused code and cleanup submodules
* Cleanup gradle build script
* Fix start button status
* Pull OpenSSL prebuilt for MacOS, iOS
* Update links for OpenSSL MacOS, iOS prebuilt
* Update OpenSSL binaries path
* Refactor some OpenSSL includes
* Update MacOS OpenVPN binary with statically linked dependency
* Use prebilt for LibSSH
* Android resources cleanup
* Set static runtime linux
* Use shared LibSSH for Android
* Update SS Android lib name
* Fix Linux install path and file permissions
* Feature/iOS GitHub actions (#265)
* Move Android cpp code to openvpn-pt-android repo
* Remove unused OpenVPN2 Android Libs
* Cleanup Gemfile
---------
Co-authored-by: Mazay B <pokamest@gmail.com>