* 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: 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>
* chore: bump version
* chore: fix deploy.yml
* chore: return jurplel/install-qt-action@v3
* chore: bump qt version
* chore: disable cache
* chore: fix qt bin folder path
* chore: downgraded qt version for linux
* chore: disable gradle cache
* chore: use large runner for linux and android
* chore: change runner name for android and linux
* fix: change github runner label
* fix: set github runner specific os version in label
* chore: add self-hosted runner ubuntu-24.04-4cores
* fix: changed label to self-hosted for github runners
* fix: changed label to 4-core for github runners
* fix: fixed app closing delay
* fix: fixed awg description
* chore: bump version
---------
Co-authored-by: irvinklause <ik@amnezia.org>
* 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
* 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>
* bugfix: fixed the migration form appearing on app start
* feature: added app version to api requests payload
* chore: remove unused file
* feature: extended logging in service part
* chore: bump version
* chore: update ru translation file
* Username if whoami returns an error
Сommand to use home directory name if whoami returns error or is missing for prepare_host.sh.
* Update check_user_in_sudo.sh
Сommand to use home directory name if whoami returns error or is missing for check_user_in_sudo.sh.
Checking server user permissions to use sudo using a package manager or using uname.
Сhecking and redefining the system language.
Checking requirements for sudo users or root in script.
* Cases have been changed and added.
Changed description of the “Server User Not In Sudo” case.
Corrected the name and description of the "ServerPacketManagerError" case. Packet to Package.
Adding a "SudoPackageIsNotPreinstalled" case.
Adding a "ServerUserNotAllowedInSudoers" case.
Adding a "ServerUserPasswordRequired" case.
* Serves errors have been changed and added.
Corrected the name of the "ServerPacketManagerError" error to "ServerPackageManagerError".
Adding a "SudoPackageIsNotPreinstalled" error.
Adding a "ServerUserNotAllowedInSudoers" error.
Adding a "ServerUserPasswordRequired" error.
* Return ServerPacketManagerError
Return to the name "ServerPacketManagerError".
* Added errors handling
Added new errors' handling to serverController.cpp.
Permission checks are also performed for the root user.
* Update translations
Updating translations for two existing server errors.
* Myanmar translation update
* Update for my_MM.ts
* checking for not allowed
Checking for "not allowed" in stdOut
* Removed "not allowed"
Removed check for "not allowed" in stdOut
* Removed nested launch
Removed nested launch via sudo
* Returned nested launch
Returned nested launch via sudo
* All checks with sudo
Both checks with sudo always run.
* Moved removing timestamp sudo
Removing the sudo timestamp is done every time.
* Checking the user directory
Checking the accessibility of the user's home directory
* Polishing
Изменение порядка обработки ошибок.
* changing detection order
change the order of detection of inconsistencies:
1. sudo not preinstalled. (if user != root)
2. user not in sudo or wheel group. (if user != root)
3. user's directory is not accessible. (for all)
4. user not allowed in sudoers. (for all)
5. user password required. (for all)
* Packet to Package
* chore: bump version (#1463)
* fix for sh (#1462)
Fix for servers where sh is used as default shell.
* Username if whoami returns an error
Сommand to use home directory name if whoami returns error or is missing for prepare_host.sh.
* Update check_user_in_sudo.sh
Сommand to use home directory name if whoami returns error or is missing for check_user_in_sudo.sh.
Checking server user permissions to use sudo using a package manager or using uname.
Сhecking and redefining the system language.
Checking requirements for sudo users or root in script.
* Cases have been changed and added.
Changed description of the “Server User Not In Sudo” case.
Corrected the name and description of the "ServerPacketManagerError" case. Packet to Package.
Adding a "SudoPackageIsNotPreinstalled" case.
Adding a "ServerUserNotAllowedInSudoers" case.
Adding a "ServerUserPasswordRequired" case.
* Serves errors have been changed and added.
Corrected the name of the "ServerPacketManagerError" error to "ServerPackageManagerError".
Adding a "SudoPackageIsNotPreinstalled" error.
Adding a "ServerUserNotAllowedInSudoers" error.
Adding a "ServerUserPasswordRequired" error.
* Return ServerPacketManagerError
Return to the name "ServerPacketManagerError".
* Update translations
Updating translations for two existing server errors.
* Added errors handling
Added new errors' handling to serverController.cpp.
Permission checks are also performed for the root user.
* Myanmar translation update
* Update for my_MM.ts
* checking for not allowed
Checking for "not allowed" in stdOut
* Removed "not allowed"
Removed check for "not allowed" in stdOut
* Removed nested launch
Removed nested launch via sudo
* Returned nested launch
Returned nested launch via sudo
* All checks with sudo
Both checks with sudo always run.
* Moved removing timestamp sudo
Removing the sudo timestamp is done every time.
* Checking the user directory
Checking the accessibility of the user's home directory
* Polishing
Изменение порядка обработки ошибок.
* changing detection order
change the order of detection of inconsistencies:
1. sudo not preinstalled. (if user != root)
2. user not in sudo or wheel group. (if user != root)
3. user's directory is not accessible. (for all)
4. user not allowed in sudoers. (for all)
5. user password required. (for all)
* Undoing unintended changes
Undoing unintended changes.
* Undoing unintended change
Undoing unintended change.
* not allowed to use sudo
The user is not allowed to use sudo on this server.
* Capital letters in the error
Capital letters in the error description.
---------
Co-authored-by: albexk <albexk@proton.me>