* 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
* 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
* Checking Linux kernel version when installing amneziawg-go
print the Linux kernel version to stdOut for subsequent checking by the server controller.
* Add error for old linux kernel
Add error 214 ServerLinuxKernelTooOld
* Add case for old linux kernel
Add case for error 214 ServerLinuxKernelTooOld
* Added kernel check for Awg2
Added Linux kernel version check and introduced corresponding ServerLinuxKernelTooOld error for Awg2.
* LOCK_FILE for zypper
Checking LOCK_FILE for zypper to support OpenSUSE
* Installation for OpenSUSE
Docker installation support for OpenSUSE
* quiet for zypper
* LOCK_CMD variable
Implementing the LOCK_CMD variable for different OS.
* additional exception for "server is busy"
* Replacing and with or
Replacing && with ||
* undo changes to serverController
* rpm.lock
rpm.lock for dnf yum and zypper
* LOCK_CMD
check for dnf
* Added zypper in check_user_in_sudo
* Direct use of the $HOME variable.
* Sudo check witch variable $HOME.
Direct use of the $HOME variable.
* Changing for Error 208
Changing description and title for error 208
* Revert "Changing for Error 208"
This reverts commit f45624c023.
* Changing for Error 207
Changing description and title for Error 207
* 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>
Improved docker cleanup.
Removing anonymous volumes associated with containers.
Specifying the full name of the amn0 network interface to remove when cleaning the server.