* feat: iap for apple now use storekit2
* fix: fixed error 101 on connection event
* feat: enhance StoreKit2Helper to handle entitlements and improve restore service from App Store functionality
* chore: add isInAppPurchase and isTestPurchase in primary config
* refactor: use end_date from primary config for renew ui
* fix: hide renew button for free
* fix: hide renew button for appstore purchases
* feat: add new premium info page
* feat: add new free info page
* chore: minor fixes
* refactor: move plan and benefits into separate models
* fix: fixed expired status when configs without an end date
* feat: add trial api support
* chore: add api message parsing for 422 error
* feat: move privacy policy and term of use to gateway
* feat: add iap support for new premium info page
* chore: minor fixes
* chore: minor fix
* chore: minor fixes
* feat: additional parsing for storekit subscription plans
* chore: minor codestyle fixes
* chore: simplify benefits
* chore: hide extend buttons on external premium
* feat: add trial error processing
* fix: remove wrong check from tiral handler
* chore: cleanup
---------
Co-authored-by: spectrum <yyy@amnezia.org>
* fix: xray heap corruption
* fix: use proper configuration for split-tunneled apps
* chore: enable killswitch
* chore: xray windows split-tunneling cleanup
* chore: proper xray killswitch log
* feat: add wait for the tun device
* chore: update amnezia_xray deps for macos
* fix: add nullptr check for split-tunnel on win
* fix: modernize vpnAdapter grabbing function
* fix: remove network watcher due to its fragileness
* chore: xrayprotocol cleanup
* fix: correct wrong iface index on win
* chore: move tun2socks implementation to the client from the service
* chore: xrayprotocol cleanup
* chore: more xrayprotocol cleanup
* fix: consistent tun device with GUID specified
* chore: tun2socks logs
* chore: PrivilegedProcess cleanup
* better error handling in establishment phase
* terminate&kill ops for remote process
* fix: straighforward killing the process on windows
* fix: finally remove GUID setting from tun2socks due to instability
* fix: add sanitizer to ipc process
* chore: do not collect sensitive info from tun2socks
* 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>
* feat: enhance OpenVPN configuration handling and logging for iOS platform
* refactor: remove $OPENVPN_TA_KEY_SANITIZED and use $OPENVPN_TA_KEY instead
* 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>
* Up Qt to 6.7.3
* Bump version to 4.8.2.0
* Raise the minimum Android version to 8 (API 26)
* Update version code to separate versions for new and old Androids
* Fix mouse not working on TVs
* Refactor logging
* Bump version code
* Up Gradle to 8.10
* Update Android dependencies
* Up Qt to 6.7.2
* Up qtkeychain to 0.14.3
* Move function of changing the color of the navigation bar to the android side
* Fix splashscreen and recent apps thumbnail backgrounds
* Android authentication refactoring
* Fix GitHub action
* Fix the extra circle around the connect button on Android
* Fix keyboard popup
* Increase the amount of requestNetwork attempts on Android 11
* Attempt to fix API error 1100
* NSURLSession fake call to exec iOS network settings dialog
* use http://captive.apple.com/generate_204 for requesting internet
permission
* moved MobileUtils to IosController
* replaced callbacks with signal-slots in apiController
Move to gradle kotlin DSL
Use gradle version catalog
All android build parameters are set via cmake files
Use gradle abi split to build APKs
Improve local development in the android project folder