Commit Graph

54 Commits

Author SHA1 Message Date
vkamn
847bb6923b refactor: refactor the application to the mvvm architecture (#2009)
* 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
2026-04-30 14:53:03 +08:00
vkamn
78f504e35c feat: new services description (#2412)
* 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>
2026-04-08 12:21:12 +08:00
aiamnezia
cd7f78b9ca feat: news and notifications page (#1660)
* Add news and notifications

* Add localization for news and notifications

* Remove news caching

* Add fetching news befor openning news page

* Fix not updating news page

* Delete debug output

* Remove news and notificztions with only self-hosted servers

* Add stack filters to fetching news request

* Add fetching news with changing stack in the client

* small refactoring

* polishing

* Rename newsModel files and fix naming in code

* fix: remove custom signals; fetch news only on stack expansion

* chore: delete unnecessary code

* chore: code style fixes

* fix: fixed memory leak in gateway controller

---------

Co-authored-by: vkamn <vk@amnezia.org>
2025-10-06 12:06:36 +08:00
Nethius
728b48044c Merge pull request #1440 from amnezia-vpn/feature/subscription-settings-page
feature/subscription settings page
2025-02-28 22:17:43 +07:00
Nethius
e7fa160c9c feature: added ad label on page home (#1316)
* feature: added ad label on page home
2025-01-07 10:38:32 +07:00
Nethius
843156cf1b New start page and AmneziaFree support (#865)
New start page and AmneziaFree support
2024-08-20 10:54:05 +01:00
Shehab Ahmed
5f631eaa76 Refactoring/change application text (#687)
Changing some texts
2024-03-26 18:05:04 +00:00
Nethius
61abf74b2d feature/page-home-split-tunneling (#540)
Added split tunneling button on home page
2024-02-21 11:27:27 +00:00
vladimir.kuznetsov
5dc3b64e0b added search bar for client management page 2023-11-23 14:54:49 +07:00
vladimir.kuznetsov
e01dd2bf57 added close application button in settings page 2023-10-09 19:16:06 +05:00
vladimir.kuznetsov
90ae0b3e44 added PageSettingsSplitTunneling
- added a call to the context menu when clicking the right mouse button for textInput
2023-08-08 19:10:14 +05:00
vladimir.kuznetsov
aa66133813 added 'insert' button and 'show password' button for PageSetupWizardCredentials 2023-07-31 14:29:49 +09:00
vladimir.kuznetsov
5b8a0881b7 Merge branch 'dev' of github.com:amnezia-vpn/amnezia-client into feature/new-gui 2023-07-18 05:36:17 +03:00
vladimir.kuznetsov
5d677a9115 added pages for sftp and tor website settings 2023-07-18 11:15:04 +09:00
pokamest
d9b4529932 Bugfix/ios icons (#260)
iOS icons updated  [no ci]
2023-07-16 15:41:15 +01:00
vladimir.kuznetsov
d0c9c1043c Merge remote-tracking branch 'remotes/origin/dev' into feature/new-gui 2023-06-27 13:38:06 +03:00
pokamest
34a228adbe Added AmneziaVPN svg logo 2023-06-20 18:19:48 +01:00
vladimir.kuznetsov
3a264e6baf added a drawer to change the server name and moved the display of the exported config to a separate drawer 2023-06-20 10:25:24 +09:00
vladimir.kuznetsov
7b14ad9616 added PageSettingsAbout, PageSettingsApplication, PageSettingsBackup, PageSettingsConnection, PageSettingsDns
- added SettingsController
2023-06-16 13:43:55 +09:00
vladimir.kuznetsov
be7386f0d7 added exportController and PageShare
- added a blank PageSettingsProtocol
2023-06-13 20:03:20 +09:00
vladimir.kuznetsov
420c33d3ba added PageSetupWizardViewConfig
- added a popup with a question when deleting containers/servers
- added import from code and import error handling
2023-06-05 15:49:10 +08:00
vladimir.kuznetsov
de0cd976de added page transition effects
- added functionality for buttons on PageSettingsServerData page
2023-06-01 11:25:33 +08:00
vladimir.kuznetsov
1e180489a4 added display of vpn containers and services on the settings page
- added PageSettingsData and implementation of 'remove all containers'  button
2023-05-27 22:46:41 +08:00
vladimir.kuznetsov
e00656d757 added PageSettings and PageSettingsServersList.
- replaced PageLoader with PageType with stackView property.
- added error handling when installing a server/container
2023-05-25 15:40:17 +08:00
vladimir.kuznetsov
03a0e2084a added PageLoader and pageController 2023-05-15 13:38:17 +08:00
vladimir.kuznetsov
116fa6777b added logic to the connect to vpn button 2023-05-14 21:11:19 +08:00
Vladimir Kuznetsov
b66f4bf2be added display of protocols on PageHome 2023-05-11 14:50:50 +08:00
vladimir.kuznetsov
1c8dbae359 added PageHome, PageSettings, PageShare, PageStart
- renamed old PageStart to PageSetupWizardStart
- added various text types
- moved servers model to "global" scope
2023-05-06 06:52:23 +03:00
vladimir.kuznetsov
4f36349630 changed the way to create qml pages, now the page is created when you go to it
- added PageSetupWizardConfigSource, PageSetupWizardInstalling, PageSetupWizardProtocolSettings, PageSetupWizardTextKey
2023-05-03 19:06:16 +03:00
vladimir.kuznetsov
a9ebf534c6 added DropDown component 2023-04-25 08:04:20 +03:00
vladimir.kuznetsov
905a3a30f3 added some new controls and started layout of pageStart and pageCredentials 2023-04-12 19:13:41 +03:00
vladimir.kuznetsov
c74c5e0c6d added CheckBoxType
- added hover effect to LabelWithButtonType
2023-04-07 20:50:55 +03:00
vladimir.kuznetsov
8e61d77497 added new controls elements (BasicButtonType, ImageButtonType, LabelWithButtonType, TextFieldWithHeaderType) 2023-03-23 17:49:36 +03:00
pokamest
ac6000a2ae Svg icons, dns ui fix 2022-02-05 15:52:14 +03:00
pokamest
b341224c92 AppStore icon fix 2021-12-16 15:04:59 +03:00
pokamest
3861f23af3 iOS icon fixed 2021-12-16 14:45:08 +03:00
pokamest
e7beff79d0 iOS icons 2021-12-16 14:38:41 +03:00
pokamest
67d413956d AndroidController reimpl 2021-11-26 17:43:02 +03:00
pokamest
9dee7bb7e7 UI fixes, VPN page fixes 2021-11-17 15:01:48 +03:00
pokamest
6ee203a21d Merge branch 'tor_site_container' into teplitsa_tz
Containers page refactoring
2021-09-21 01:49:28 +03:00
pokamest
27171ed974 qml ui fixes 2021-08-19 01:27:22 +03:00
pokamest
6c74f30d79 Custom sites reimplemented 2021-05-27 22:18:36 +03:00
pokamest
4ba964db47 win7 support fixes
wizard added
2021-05-18 15:50:52 +03:00
pokamest
615bba69e5 refactoring 2021-04-26 22:54:31 +03:00
pokamest
a5e9cea22f Release 1.6 WIP 2021-04-20 02:09:47 +03:00
pokamest
c63990f720 Auto start
Auto connect
Dns settings
ui fixes
2021-02-24 21:58:32 +03:00
pokamest
ad643bf76e new icon 2021-02-22 18:07:39 +03:00
pokamest
806677510f icon changed 2021-01-21 19:16:10 +03:00
pokamest
f36c16191b ui fixes 2021-01-03 19:14:54 +03:00
driftingsun
c9bc8aa8c1 Refactoring 2020-12-04 00:45:21 +03:00