* Updating install_docker.sh script
Implementing a Docker service status check.
The Docker reinstall step has been removed due to the implementation of Docker service checking.
Implementing locale checking and assignment.
Implementation of execution of some actions through commands with sudo, to reduce delays caused by differences in the values of the PATH variable for the root user and the user included in the sudo group.
Implementation of a verification step for the install containerization app to avoid installing unsupported podman-docker applications.
* adding message handling to install controller
Adding handling for "Containerization app is not supported" and "Service status not active" messages to the controller.
* Error Codes added
Error Codes added for ServerContainerizationNotSupported & DockerServiceNotActive
* Adding extended descriptions of new errors
* fix last line in errorCodes.h
* fix last line in errorStrings.cpp
* Changing the names of errors
* various changes in the script
The messages output for processing by the server controller have been changed: "Container runtime is not supported" and "Container runtime service is not running."
The redundant check and output of the "Packet manager not found" message, as well as the interruption of script execution, have been eliminated, as this situation is handled by the server controller at an earlier stage (check_server_is_busy.sh) and only there.
Added installation of the whish package if it is missing from the OS, for subsequent re-execution of the install_docker.sh and check_server_is_busy.sh scripts.
Implemented an alternative method for detecting the package manager if the whish package is initially missing from the OS.
The algorithm for setting the $pm variable (package manager) has been changed.
* processed phrases have been changed
The phrases processed by the server controller have been changed.
* Attempting to use "command -v"
Switching to using "command -v" instead of "which".
* "which" as main, "command" as backup.
* "which" as main, "command" as backup for check user
* which LOCK_CMD with sudo
Run the "which" with sudo to check the $LOCK_CMD variable in case the user's PATH variable has incorrect values if the user is not root and is only a member of the sudo group.
* suppressing sudo password prompt
* suppressing sudo password prompt
* suppressing sudo password prompt install_docker.sh
* Changing the phrase for check stdout
"sudo:" with "not found" instead of "command not found"
* Changing phrases for check stdout check_user_in_sudo.sh
* sudo|docker and not found, in one line
* check only sudoers
* fix: fixed country model update
* fix: fixed context menu crush on ios
* fix: fixed passphrase dialog freeze
* fix: fixed country switch
* fix: fixed start minimized
* fix: fixed black screen after remove container
* refactor: return cloak and ss only for view
* fix: fixed default server change after improt while connected
* fix: divider visibility
* fix: fixed revoke admin user
* fix: fixed language restore after backup
* fix: link hover for tor settings page
* fix: fixed openvpn connecntion status
* fix: fixed free color status
* fix: fixed client config update
* chore: bump version
* fix(ios): link OpenVPNAdapter statically
* chore(conan): simplify openvpnadapter merge process and make everything via XCrun
---------
Co-authored-by: Yaroslav Gurov <ygurov@proton.me>
* fix: enable bundled openssl for every platform except NE-based ones
* fix(conan): trigger CI/CD on crutial cmake changes
* fix: install dylibs/dlls from conan and use proper RPATH
* fix: adjust windows runtime deps
* fix: AUTOMOC and AUTOUIC added
* update: native exports test
* update: export test
* update: vless serialization/deserialization test added
* update: language model and controller test
* update: sites UiController and Model test
* update: sites test
* update: app ui model and controller test
* update: allowed dns ui model and controller test
* update: env vars and removed some lines
* update: news ui model and controller test (incomplete)
* update: api services ui model and controller test (incompleted)
* update: job for tests (Linux)
* update: job for tests (Windows)
* update: proper artifact names
* update: added envs
* update: added 'get sources' and changed steps order
* update: tests jobs remake
* update: 'get sources' step and windows shell
* update: using ctest
* search for exe files
* changed path to run tests
* update: 'Build' step
* update: changed path to deploy qt dependencies
* update: dependencies only for tests executables
* update: ctest dir
* update: include ctest
* update: set dir for tests exe
* update: qt path
* update: serialization test
* update: removed api tests from cmake
* update: changed tests dir
* added ctest to client cmake
* update: installing msvc and additional checks
* removed mcvs install
* update: path to ssh.dll
* fixed issue with ssh path
* update: removed unneccessary step and line
* update: linux job step 'Run tests'
* update: linux 'Install dependencies'
* update: modified qtest include
* update: changed QVERIFY to QVERIFY2
* update: some qverify2 messages
* update: linux additional dependencies
* update: offscreen for linux tests
* update: MacOS tests job
* update: Android tests job
* update: rewrited env's, qtest include and clear clients in some tests
* update: added local vars file for tests
* proper path for some vars
* some fixes due merge
* update: windows tests deploy
* python and conan installation to tests jobs
* chore: minor fixes after merge with dev
* chore: move selfhosted admin tests to separate folder
* refactor: some rename
* chore: fixes after merge
* refactor: moved tests to separate repo
* refactor: remove tests from core controller
* chore: add more protected getters to core controller
* chore: add more protected getters
* chore: remove ctest
* chore: return xray model default values
---------
Co-authored-by: vkamn <vk@amnezia.org>
* fix: app buttons clicked instead of buttons in context menu
* update: using MouseArea instead of changing popupType
* fix(cursor): fixed cursor type at opened context menu
---------
Co-authored-by: Mitternacht822 <sb@amnezia.org>
* refactor: remove serverConfig struct
* refactor: add warnings for api v1 configs
* refactor: moved the server type definition to a separate namespace
* refactor: simplified gateway stacks
* fix: fixed server description
* fix: fixed postAsync reply usage
* fix: fixed validateConfig call
* fix: fixed server name in notifications
* fix: fixed initPrepareConfigHandler for lagacy configs
* 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>
* added changelog drawer
* Created a scaffold for Linux installation
* implement Linux updating
* Add debug logs about installer in service
* Add client side of installation logic for Windows and MacOS
* Add service side of installation logic for Windows
* ru readme
* Update README_RU.md
* Add files via upload
* chore: added clang-format config files (#1293)
* Update README_RU.md
* Update README.md
* feature: added subscription expiration date for premium v2 (#1261)
* feature: added subscription expiration date for premium v2
* feature: added a check for the presence of the “services” field in the response body of the getServicesList() function
* feature: added prohibition to change location when connection is active
* bugfix: renamed public_key->end_date to public_key->expires_at according to the changes on the backend
* feature/xray user management (#972)
* feature: implement client management functionality for Xray
---------
Co-authored-by: aiamnezia <ai@amnezia.org>
Co-authored-by: vladimir.kuznetsov <nethiuswork@gmail.com>
* Fix formatting
* Add some logs
* Add logs from installattion shell on Windows
* Fix installation for Windows and MacOS
* Optimized code
* Move installer running to client side for Ubuntu
* Move installer launch logic to client side for Windows
* Clean service code
* Add linux_install script to resources
* Add logs for UpdateController
* Add draft for MacOS installation
* Disable updates checking for Android and iOS
* chore: fixed macos update script
* chore: remove duplicate lines
* chore: post merge fixes
* chore: add missing ifdef
* decrease version for testing
* chore: added changelog text processing depend on OS
* add .vscode to .gitignore
* Change updater downloading method to retrieving link from the gateway
* add Release date file creation to s3 deploy script
* Add release date downloading from endpoint
* update check refactoring
* feat: switch macOS auto-update from DMG to ZIP+PKG installer
- Update macOS artifact URL from .dmg to .zip
- Rewrite mac_installer.sh to extract ZIP and install PKG via osascript
- Increase download timeout to 30s for larger ZIP files
* fix: fix Android build
* feat: Change get request for updater link to post
* refactor: preparing NewsModel for update notifications
- Changed `updateModel` to `setNewsList` for better semantic meaning.
- Delegate model container updating to private method updateModel
- Updated the logic for marking news as read to use item IDs instead of a boolean flag.
* feat: Move update notification in news list
- Updated `UpdateController` to handle empty release dates in header text.
- Added `getVersion` method to `UpdateController` for version retrieval.
- Enhanced `NewsModel` to support update notifications with new methods for marking updates as skipped and setting update notifications.
- Updated QML pages to display update information and provide actions for updates and skipping them.
- Introduced `isUpdate` property in `NewsItem` to differentiate between regular news and updates.
* feat: Implement rate limit workaround for gateway requests
- Added a delay before contacting the gateway in both `UpdateController` and `ApiNewsController` to prevent rate limit issues caused by simultaneous requests.
* refactor: Convert synchronous network requests to asynchronous in UpdateController
- Updated `UpdateController` to use asynchronous network requests for fetching gateway URL, version info, changelog, and release date.
- Introduced `doGetAsync` method to handle asynchronous GET requests with error handling.
- Removed synchronous methods to improve responsiveness and prevent blocking the UI during network operations.
- Added a mechanism to prevent multiple concurrent update checks.
* chore: Decrease AmneziaVPN version to 4.8.10.0 in CMakeLists.txt for testing
* refactor: Improve update check handling to avoid rate limit issues
- Updated `CoreController` to initiate update checks after news fetching is complete.
- Removed synchronous waiting in `ApiNewsController` to streamline the fetching process.
* fix: fixed typo in IsReadRole
* fix: fix updater filenames
* chore: move updateController to core
* refactor: update to mvvm
* chore: tiny fix
---------
Co-authored-by: aiamnezia <ai@amnezia.org>
Co-authored-by: aiamnezia <ai@amnezia.com>
Co-authored-by: Pokamest Nikak <pokamest@gmail.com>
Co-authored-by: KsZnak <ksu@amnezia.org>
Co-authored-by: Cyril Anisimov <cyan84@gmail.com>
Co-authored-by: vkamn <vk@amnezia.org>