- Added functionality to resolve and validate the local proxy port within a specified range.
- Implemented a method to check if a port is available before applying it to the configuration.
- Updated ProxyService to handle the new port resolution logic and cache the parsed configuration.
- Added signal for local proxy start failure to Settings.
- Updated CoreController to emit failure signals with descriptive messages when local proxy fails to start.
- Refactored XrayController to accept JSON configuration directly, improving configuration handling.
- Removed unused config file loading logic to streamline the XrayController's functionality.
- Modified ConfigManager to accept a Settings object for improved configuration management.
- Updated ProxyServer to initialize with Settings, enhancing dependency injection.
- Removed outdated config management routes and consolidated Xray control endpoints.
- Updated response structures to ensure consistent error handling across API calls.
- Replaced direct process management with IPC calls for starting and stopping the Xray process.
- Improved error handling for IPC communication and config file loading.
- Removed unused methods and variables related to direct process handling.
- Updated logging to reflect changes in process management.
- Implemented UUID migration for servers to ensure each server has a unique identifier.
- Added methods for managing local proxy settings, including owner UUID, port, and HTTP enablement.
- Updated server model to include server UUID role for better data handling.
* fix: context menu fixes for qt6.9
* chore: is-test-flight porcessing
* chore: bump version and minor build fixes
* refactor: moved test purchase processing on client side
* fix: fixed free import on ios
* chore: bump qt version in deploy.yml
* fix: minor fixes
* 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>
* fix: app freeze on quit
* fix: typo in VpnConnection destructor
* add trace info
* add more trace info
* set timelimit for flushDns
* Refactor IpcClient::Interface access logic
* cleanup unused variable
* cleanup trace info
* fix: remove second disconnect from VPN on app close
* this object will be deleted at app close
* Don't terminate VPN thread on Linux
* Revert "Don't terminate VPN thread on Linux"
This reverts commit 20e4ea2d4a.
* disconnect all signals from vpnconnection on exit
* add interruption request on vpnConnectionThread
* use checktimer only for iOS
* disconnect all signals from vpnconnection on exit
* disconnect signals on exit before VPN disconnect
* add disconnectSlots method
* fix: add allow traffic rules on killswitch disable
* wait for response from service before object destroy
* change disconnect from vpn order
* add delay for connection close
* change disconnect method order
* use stop method for protocol disconnecect
* change disconnect method order
* allow dns traffic after app close
* delete tun on disconnect
---------
Co-authored-by: vkamn <vk@amnezia.org>
* fix(api_key): added displaying vpn_key field added in older version of the app
* revert changes
* fix: implemented generation of api key text for PremiumV2
* fix: deleted unnecessary code
* saving apikey text when generating
* added method for vpn key export, fixed wrong saving file
* 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>
* added signal-slot connection between corecontroller and systemtraynofificationhandler updating websiteurl
* cleared up the commented lines
* fixed andorid includes for systemtraynotificationhandler
* fixed issue when ui was not getting update about clearing profile cache right after it
* fixed the problem of not clearing the profile
* refactored reload function in protolocolsModel
* refactored the issue with signal connect in corecontroller