* 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>
* refactor: move business logic from servers model
* refactor: move containersModel initialization
* refactor: added protocol ui controller and removed settings class from protocols model
* refactor: moved cli management to separate controller
* refactor: moved app split to separate controller
* refactor: moved site split to separate controller
* refactor: moved allowed dns to separate controller
* refactor: moved language logic to separate ui controller
* refactor: removed Settings from devices model
* refactor: moved configs and services api logit to separate core controller
* refactor: added a layer with a repository between the storage and controllers
* refactor: use child parent system instead of smart pointers for controllers and models initialization
* refactor: moved install functions from server controller to install controller
* refactor: install controller refactoring
* chore: renamed exportController to exportUiController
* refactor: separate export controller
* refactor: removed VpnConfigurationsController
* chore: renamed ServerController to SshSession
* refactor: replaced ServerController to SshSession
* chore: moved qml controllers to separate folder
* chore: include fixes
* chore: moved utils from core root to core/utils
* chore: include fixes
* chore: rename core/utils files to camelCase foramt
* chore: include fixes
* chore: moved some utils to api and selfhosted folders
* chore: include fixes
* chore: remove unused file
* chore: moved serialization folder to core/utils
* chore: include fixes
* chore: moved some files from client root to core/utils
* chore: include fixes
* chore: moved ui utils to ui/utils folder
* chore: include fixes
* chore: move utils from root to ui/utils
* chore: include fixes
* chore: moved configurators to core/configurators
* chore: include fixes
* refactor: moved iap logic from ui controller to core
* refactor: moved remaining core logic from ApiConfigsController to SubscriptionController
* chore: rename apiNewsController to apiNewsUiController
* refactor: moved core logic from news ui controller to core
* chore: renamed apiConfigsController to subscriptionUiController
* chore: include fixes
* refactor: merge ApiSettingsController with SubscriptionUiController
* chore: moved ui selfhosted controllers to separate folder
* chore: include fixes
* chore: rename connectionController to connectiomUiController
* refactor: moved core logic from connectionUiController
* chore: rename settingsController to settingsUiController
* refactor: move core logic from settingsUiController
* refactor: moved core controller signal/slot connections to separate class
* fix: newsController fixes after refactoring
* chore: rename model to camelCase
* chore: include fixes
* chore: remove unused code
* chore: move selfhosted core to separate folder
* chore: include fixes
* chore: rename importController to importUiController
* refactor: move core logic from importUiController
* chore: minor fixes
* chore: remove prem v1 migration
* refactor: remove openvpn over cloak and openvpn over shadowsocks
* refactor: removed protocolsForContainer function
* refactor: add core models
* refactor: replace json with c++ structs for server config
* refactor: move getDnsPair to ServerConfigUtils
* feat: add admin selfhosted config export test
* feat: add multi import test
* refactor: use coreController for tests
* feat: add few simple tests
* chore: qrepos in all core controllers
* feat: add test for settings
* refactor: remove repo dependency from configurators
* chore: moved protocols to core folder
* chore: include fixes
* refactor: moved containersDefs, defs, apiDefs, protocolsDefs to different places
* chore: include fixes
* chore: build fixes
* chore: build fixes
* refactor: remove q repo and interface repo
* feat: add test for ui servers model and controller
* chore: renamed to camelCase
* chore: include fixes
* refactor: moved core logic from sites ui controller
* fix: fixed api config processing
* fix: fixed processed server index processing
* refactor: protocol models now use c++ structs instead of json configs
* refactor: servers model now use c++ struct instead of json config
* fix: fixed default server index processing
* fix: fix logs init
* fix: fix secure settings load keys
* chore: build fixes
* fix: fixed clear settings
* fix: fixed restore backup
* fix: sshSession usage
* fix: fixed export functions signatures
* fix: return missing part from buildContainerWorker
* fix: fixed server description on page home
* refactor: add container config helpers functions
* refactor: c++ structs instead of json
* chore: add dns protocol config struct
* refactor: move config utils functions to config structs
* feat: add test for selfhosted server setup
* refactor: separate resources.qrc
* fix: fixed server rename
* chore: return nameOverriddenByUser
* fix: build fixes
* fix: fixed models init
* refactor: cleanup models usage
* fix: fixed models init
* chore: cleanup connections and functions signatures
* chore: cleanup updateModel calls
* feat: added cache to servers repo
* chore: cleanup unused functions
* chore: ssxray processing
* chore: remove transportProtoWithDefault and portWithDefault functions
* chore: removed proto types any and l2tp
* refactor: moved some constants
* fix: fixed native configs export
* refactor: remove json from processConfigWith functions
* fix: fixed processed server index usage
* fix: qml warning fixes
* chore: merge fixes
* chore: update tests
* fix: fixed xray config processing
* fix: fixed split tunneling processing
* chore: rename sites controllers and model
* chore: rename fixes
* chore: minor fixes
* chore: remove ability to load backup from "file with connection settings" button
* fix: fixed api device revoke
* fix: remove full model update when renaming a user
* fix: fixed premium/free server rename
* fix: fixed selfhosted new server install
* fix: fixed updateContainer function
* fix: fixed revoke for external premium configs
* feat: add native configs qr processing
* chore: codestyle fixes
* fix: fixed admin config create
* chore: again remove ability to load backup from "file with connection settings" button
* chore: minor fixes
* fix: fixed variables initialization
* fix: fixed qml imports
* fix: minor fixes
* fix: fix vpnConnection function calls
* feat: add buckup error handling
* fix: fixed admin config revok
* fix: fixed selfhosted awg installation
* fix: ad visability
* feat: add empty check for primary dns
* chore: minor fixes
* 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>
* add focusController class
* add more key handlers
* add focus navigation to qml
* fixed language selector
* add reverse focus change to FocusController
* add default focus item
* update transitions
* update pages
* add ListViewFocusController
* fix ListView navigation
* update CardType for using with focus navigation
* remove useless key navigation
* remove useless slots, logs, Drawer open and close
* fix reverse focus move on listView
* fix drawer radio buttons selection
* fix drawer layout and focus move
* fix PageSetupWizardProtocolSettings focus move
* fix back navigation on default focus item
* fix crashes after ListView navigation
* fix protocol settings focus move
* fix focus on users on page share
* clean up page share
* fix server rename
* fix page share default server selection
* refactor about page for correct focus move
* fix focus move on list views with header and-or footer
* minor fixes
* fix server list back button handler
* fix spawn signals on switch
* fix share details drawer
* fix drawer open close usage
* refactor listViewFocusController
* refactor focusController to make the logic more
straightforward
* fix focus on notification
* update config page for scrolling with tab
* fix crash on return with esc key
* fix focus navigation in dynamic delegate of list view
* fix focus move on qr code on share page
* refactor page logging settings for focus navigation
* update popup
* Bump version
* Add mandatory requirement for android.software.leanback.
* Fix importing files on TVs
* fix: add separate method for reading files to fix file reading on Android TV
* fix(android): add CHANGE_NETWORK_STATE permission for all Android versions
* Fix connection check for AWG/WG
* chore: minor fixes (#1235)
* fix: add a workaround to open files on Android TV due to lack of SAF
* fix: change the banner format for TV
* refactor: make TvFilePicker activity more sustainable
* fix: add the touch emulation method for Android TV
* fix: null uri processing
* fix: add the touch emulation method for Android TV
* fix: hide UI elements that use file saving
* chore: bump version code
* add `ScrollBarType`
* update initial config page
* refactor credentials setup page to handle the focus navigation
* add `setDelegateIndex` method to `listViewFocusController`
* fix focus behavior on new page/popup
* make minor fixes and clean up
* fix: get rid of the assign function call
* Scrollbar is on if the content is larger than a screen
* Fix selection in language change list
* Update select language list
* update logging settings page
* fix checked item in lists
* fix split tunneling settings
* make unchangable properties readonly
* refactor SwitcherType
* fix hide/unhide password
* `PageShare` readonly properties
* Fix list view focus moving on `PageShare`
* remove manual focus control on `PageShare`
* format `ListViewFocusController`
* format `FocusController`
* add `focusControl` with utility functions for
focus control
* refactor `listViewFocusController` acoording to `focusControl`
* refactor `focusConroller` according to `focusControl`
* add `printSectionName` method to `listViewController`
* remove arrow from `Close application` item
* fix focus movement in `ServersListView`
* `Restore from backup` is visible only on start screen
* `I have nothing` is visible only on start screen
* fix back button on `SelectLanguageDrawer`
* rename `focusControl` to `qmlUtils`
* fix `CMakeLists.txt`
* fix `ScrollBarType`
* fix `PageSetupWizardApiServicesList`
* fix focus movement on dynamic delegates in listView
* refactor `PageSetupWizardProtocols`
* remove comments and clean up
* fix `ListViewWithLabelsType`
* fix `PageProtocolCloakSettings`
* fix `PageSettingsAppSplitTunneling`
* fix `PageDevMenu`
* remove debug output from `FocusController`
* remove debug output from `ListViewFocusController`
* remove debug output from `focusControl`
* `focusControl` => `FocusControl`
---------
Co-authored-by: albexk <albexk@proton.me>
Co-authored-by: Nethius <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
* added saving allowed_ips to the array of strings for old configs
* Remove config string processing, add getting all AWG, WG parameters from JSON
* fixed checking of default routes when adding split tunneling from the application
* added check when processing siteBasedSplitTunneling
* 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
* Add an explicit value for the hasFragileUserData parameter
* Fix app crashes when canceling file opening
* Fix requestNetwork bug for Android 11
* Fix activity onStop method