Commit Graph

2897 Commits

Author SHA1 Message Date
MrMirDan
25a02ebbda Merge branch 'dev' into refactoring/tests 2026-05-05 12:46:46 +03:00
Yaroslav Gurov
009ca981d5 feat: initial conan support and build process refactoring (#2260)
* 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>
2026-05-04 22:59:24 +08:00
cd-amn
c0cae0ff01 fix: outbound freedom for xray (#2479)
* fix: outbound freedom for xray on linux

* fix: outbound freedom for xray on macOS

* build: auto-generate pf rules based on the build type
2026-05-04 19:39:07 +08:00
Nethius
c28452a5da feat: desktop updater (#825)
* 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>
2026-05-04 12:37:19 +08:00
vkamn
396ce23228 fix: fixed xray config parsing in xrayprotocol (#2557) 2026-05-02 12:25:07 +08:00
vkamn
b05ee0a654 chore: return missing code after merge with mmvm (#2553) 2026-05-01 20:50:24 +08:00
MrMirDan
f7cba6dd2c proper path for some vars 2026-05-01 11:53:29 +03:00
MrMirDan
132c836777 update: added local vars file for tests 2026-05-01 11:53:29 +03:00
MrMirDan
1238920b60 update: rewrited env's, qtest include and clear clients in some tests 2026-05-01 11:53:29 +03:00
MrMirDan
8fc9fb87fb update: Android tests job 2026-05-01 11:53:29 +03:00
MrMirDan
b6407e049e update: MacOS tests job 2026-05-01 11:53:29 +03:00
MrMirDan
a1b7a98ae1 update: offscreen for linux tests 2026-05-01 11:53:29 +03:00
MrMirDan
37b8c03e33 update: linux additional dependencies 2026-05-01 11:53:29 +03:00
MrMirDan
473a968d75 update: some qverify2 messages 2026-05-01 11:53:29 +03:00
MrMirDan
c3ea4f5ee6 update: changed QVERIFY to QVERIFY2 2026-05-01 11:53:29 +03:00
MrMirDan
c965aba61d update: modified qtest include 2026-05-01 11:53:29 +03:00
MrMirDan
2f9f0ee50d update: linux 'Install dependencies' 2026-05-01 11:53:29 +03:00
MrMirDan
4c6cf9f2d4 update: linux job step 'Run tests' 2026-05-01 11:53:29 +03:00
MrMirDan
ae763187b9 update: removed unneccessary step and line 2026-05-01 11:53:29 +03:00
MrMirDan
a5deb30abb fixed issue with ssh path 2026-05-01 11:53:29 +03:00
MrMirDan
a3cff2099f update: path to ssh.dll 2026-05-01 11:53:29 +03:00
MrMirDan
d37c616d3d removed mcvs install 2026-05-01 11:51:28 +03:00
MrMirDan
3885013829 update: installing msvc and additional checks 2026-05-01 11:51:05 +03:00
MrMirDan
63f33bff83 added ctest to client cmake 2026-05-01 11:50:10 +03:00
MrMirDan
562858c9df update: changed tests dir 2026-05-01 11:50:10 +03:00
MrMirDan
a58b05214f update: removed api tests from cmake 2026-05-01 11:50:10 +03:00
MrMirDan
703384445b update: serialization test 2026-05-01 11:50:10 +03:00
MrMirDan
a02419e229 update: qt path 2026-05-01 11:50:10 +03:00
MrMirDan
ea5e76e8c8 update: set dir for tests exe 2026-05-01 11:50:09 +03:00
MrMirDan
72a8b15ac8 update: include ctest 2026-05-01 11:49:40 +03:00
MrMirDan
eb6f7a5870 update: ctest dir 2026-05-01 11:49:40 +03:00
MrMirDan
3b8adf3b6a update: dependencies only for tests executables 2026-05-01 11:49:24 +03:00
MrMirDan
5a7c7c9df9 update: changed path to deploy qt dependencies 2026-05-01 11:49:24 +03:00
MrMirDan
3426ea4e26 update: 'Build' step 2026-05-01 11:49:24 +03:00
MrMirDan
ffb1e556b1 changed path to run tests 2026-05-01 11:49:24 +03:00
MrMirDan
b2d7b3e686 search for exe files 2026-05-01 11:49:24 +03:00
MrMirDan
93e70e8d9f update: using ctest 2026-05-01 11:49:00 +03:00
MrMirDan
e9ec3d6734 update: 'get sources' step and windows shell 2026-05-01 11:48:26 +03:00
MrMirDan
e2944b1794 update: tests jobs remake 2026-05-01 11:48:26 +03:00
MrMirDan
6c7d414a64 update: added 'get sources' and changed steps order 2026-05-01 11:48:26 +03:00
MrMirDan
631d4c7fd0 update: added envs 2026-05-01 11:48:26 +03:00
MrMirDan
fbde1aab00 update: proper artifact names 2026-05-01 11:48:26 +03:00
MrMirDan
ee09913cea update: job for tests (Windows) 2026-05-01 11:48:26 +03:00
MrMirDan
a51b073692 update: job for tests (Linux) 2026-05-01 11:48:26 +03:00
MrMirDan
f6ca964ff8 update: api services ui model and controller test (incompleted) 2026-05-01 11:48:26 +03:00
MrMirDan
545e751d33 update: news ui model and controller test (incomplete) 2026-05-01 11:48:26 +03:00
MrMirDan
87c5f2a284 update: env vars and removed some lines 2026-05-01 11:48:26 +03:00
MrMirDan
23f993e2e5 update: allowed dns ui model and controller test 2026-05-01 11:48:25 +03:00
MrMirDan
ddb522a8d3 update: app ui model and controller test 2026-05-01 11:48:25 +03:00
MrMirDan
2ee792d088 update: sites test 2026-05-01 11:48:25 +03:00