Merge branch 'dev' of github.com:amnezia-vpn/amnezia-client into HEAD

This commit is contained in:
vladimir.kuznetsov 2025-04-16 14:07:46 +08:00
commit 7a1bcfac90
24 changed files with 439 additions and 1319 deletions

View file

@ -10,7 +10,7 @@ env:
jobs:
Build-Linux-Ubuntu:
runs-on: ubuntu-20.04
runs-on: ubuntu-22.04
env:
QT_VERSION: 6.6.2

View file

@ -1,64 +1,41 @@
name: 'Upload a new version'
on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+.[0-9]+'
workflow_dispatch:
inputs:
RELEASE_VERSION:
description: 'Release version (e.g. 1.2.3.4)'
required: true
type: string
jobs:
upload:
Upload-S3:
runs-on: ubuntu-latest
name: upload
steps:
- name: Checkout CMakeLists.txt
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.ref_name }}
ref: ${{ inputs.RELEASE_VERSION }}
sparse-checkout: |
CMakeLists.txt
deploy/deploy_s3.sh
sparse-checkout-cone-mode: false
- name: Verify git tag
run: |
GIT_TAG=${{ github.ref_name }}
TAG_NAME=${{ inputs.RELEASE_VERSION }}
CMAKE_TAG=$(grep 'project.*VERSION' CMakeLists.txt | sed -E 's/.* ([0-9]+.[0-9]+.[0-9]+.[0-9]+)$/\1/')
if [[ "$GIT_TAG" == "$CMAKE_TAG" ]]; then
echo "Git tag ($GIT_TAG) and version in CMakeLists.txt ($CMAKE_TAG) are the same. Continuing..."
if [[ "$TAG_NAME" == "$CMAKE_TAG" ]]; then
echo "Git tag ($TAG_NAME) matches CMakeLists.txt version ($CMAKE_TAG)."
else
echo "Git tag ($GIT_TAG) and version in CMakeLists.txt ($CMAKE_TAG) are not the same! Cancelling..."
echo "::error::Mismatch: Git tag ($TAG_NAME) != CMakeLists.txt version ($CMAKE_TAG). Exiting with error..."
exit 1
fi
- name: Download artifacts from the "${{ github.ref_name }}" tag
uses: robinraju/release-downloader@v1.8
- name: Setup Rclone
uses: AnimMouse/setup-rclone@v1
with:
tag: ${{ github.ref_name }}
fileName: "DefaultVPN_(Linux_|)${{ github.ref_name }}*"
out-file-path: ${{ github.ref_name }}
rclone_config: ${{ secrets.RCLONE_CONFIG }}
- name: Upload beta version
uses: jakejarvis/s3-sync-action@master
if: contains(github.event.base_ref, 'dev')
with:
args: --include "DefaultVPN*" --delete
env:
AWS_S3_BUCKET: updates
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_SECRET_ACCESS_KEY }}
AWS_S3_ENDPOINT: https://${{ vars.CF_ACCOUNT_ID }}.r2.cloudflarestorage.com
SOURCE_DIR: ${{ github.ref_name }}
DEST_DIR: beta/${{ github.ref_name }}
- name: Upload stable version
uses: jakejarvis/s3-sync-action@master
if: contains(github.event.base_ref, 'master')
with:
args: --include "DefaultVPN*" --delete
env:
AWS_S3_BUCKET: updates
AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_SECRET_ACCESS_KEY }}
AWS_S3_ENDPOINT: https://${{ vars.CF_ACCOUNT_ID }}.r2.cloudflarestorage.com
SOURCE_DIR: ${{ github.ref_name }}
DEST_DIR: stable/${{ github.ref_name }}
- name: Send dist to S3
run: bash deploy/deploy_s3.sh ${{ inputs.RELEASE_VERSION }}

View file

@ -11,7 +11,7 @@ string(TIMESTAMP CURRENT_DATE "%Y-%m-%d")
set(RELEASE_DATE "${CURRENT_DATE}")
set(APP_MAJOR_VERSION ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH})
set(APP_ANDROID_VERSION_CODE 2082)
set(APP_ANDROID_VERSION_CODE 2083)
if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(MZ_PLATFORM_NAME "linux")

View file

@ -10,7 +10,8 @@ namespace apiDefs
AmneziaFreeV3,
AmneziaPremiumV1,
AmneziaPremiumV2,
SelfHosted
SelfHosted,
ExternalPremium
};
enum ConfigSource {
@ -43,6 +44,13 @@ namespace apiDefs
constexpr QLatin1String maxDeviceCount("max_device_count");
constexpr QLatin1String subscriptionEndDate("subscription_end_date");
constexpr QLatin1String issuedConfigs("issued_configs");
constexpr QLatin1String supportInfo("support_info");
constexpr QLatin1String email("email");
constexpr QLatin1String billingEmail("billing_email");
constexpr QLatin1String website("website");
constexpr QLatin1String websiteName("website_name");
constexpr QLatin1String telegram("telegram");
}
const int requestTimeoutMsecs = 12 * 1000; // 12 secs

View file

@ -32,15 +32,17 @@ apiDefs::ConfigType apiUtils::getConfigType(const QJsonObject &serverConfigObjec
constexpr QLatin1String servicePremium("amnezia-premium");
constexpr QLatin1String serviceFree("amnezia-free");
constexpr QLatin1String serviceExternalPremium("external-premium");
auto apiConfigObject = serverConfigObject.value(apiDefs::key::apiConfig).toObject();
auto stackType = apiConfigObject.value(apiDefs::key::stackType).toString();
auto serviceType = apiConfigObject.value(apiDefs::key::serviceType).toString();
if (serviceType == servicePremium || stackType == stackPremium) {
if (serviceType == servicePremium) {
return apiDefs::ConfigType::AmneziaPremiumV2;
} else if (serviceType == serviceFree || stackType == stackFree) {
} else if (serviceType == serviceFree) {
return apiDefs::ConfigType::AmneziaFreeV3;
} else if (serviceType == serviceExternalPremium) {
return apiDefs::ConfigType::ExternalPremium;
}
}
default: {
@ -66,6 +68,7 @@ amnezia::ErrorCode apiUtils::checkNetworkReplyErrors(const QList<QSslError> &ssl
return amnezia::ErrorCode::NoError;
} else if (reply->error() == QNetworkReply::NetworkError::OperationCanceledError
|| reply->error() == QNetworkReply::NetworkError::TimeoutError) {
qDebug() << reply->error();
return amnezia::ErrorCode::ApiConfigTimeoutError;
} else {
QString err = reply->errorString();
@ -85,3 +88,10 @@ amnezia::ErrorCode apiUtils::checkNetworkReplyErrors(const QList<QSslError> &ssl
qDebug() << "something went wrong";
return amnezia::ErrorCode::InternalError;
}
bool apiUtils::isPremiumServer(const QJsonObject &serverConfigObject)
{
static const QSet<apiDefs::ConfigType> premiumTypes = { apiDefs::ConfigType::AmneziaPremiumV1, apiDefs::ConfigType::AmneziaPremiumV2,
apiDefs::ConfigType::ExternalPremium };
return premiumTypes.contains(getConfigType(serverConfigObject));
}

View file

@ -13,6 +13,8 @@ namespace apiUtils
bool isSubscriptionExpired(const QString &subscriptionEndDate);
bool isPremiumServer(const QJsonObject &serverConfigObject);
apiDefs::ConfigType getConfigType(const QJsonObject &serverConfigObject);
apiDefs::ConfigSource getConfigSource(const QJsonObject &serverConfigObject);

View file

@ -251,6 +251,9 @@ QStringList GatewayController::getProxyUrls()
}
return endpoints;
} else {
apiUtils::checkNetworkReplyErrors(sslErrors, reply);
qDebug() << "go to the next storage endpoint";
reply->deleteLater();
}
}
@ -261,26 +264,29 @@ bool GatewayController::shouldBypassProxy(QNetworkReply *reply, const QByteArray
const QByteArray &iv, const QByteArray &salt)
{
if (reply->error() == QNetworkReply::NetworkError::OperationCanceledError || reply->error() == QNetworkReply::NetworkError::TimeoutError) {
qDebug() << "Timeout occurred";
qDebug() << "timeout occurred";
qDebug() << reply->error();
return true;
} else if (responseBody.contains("html")) {
qDebug() << "The response contains an html tag";
qDebug() << "the response contains an html tag";
return true;
} else if (reply->error() == QNetworkReply::NetworkError::ContentNotFoundError) {
if (responseBody.contains(errorResponsePattern1) || responseBody.contains(errorResponsePattern2)
|| responseBody.contains(errorResponsePattern3)) {
return false;
} else {
qDebug() << reply->error();
return true;
}
} else if (reply->error() != QNetworkReply::NetworkError::NoError) {
qDebug() << reply->error();
return true;
} else if (checkEncryption) {
try {
QSimpleCrypto::QBlockCipher blockCipher;
static_cast<void>(blockCipher.decryptAesBlockCipher(responseBody, key, iv, "", salt));
} catch (...) {
qDebug() << "Failed to decrypt the data";
qDebug() << "failed to decrypt the data";
return true;
}
}
@ -301,7 +307,7 @@ void GatewayController::bypassProxy(const QString &endpoint, QNetworkReply *repl
QByteArray responseBody;
for (const QString &proxyUrl : proxyUrls) {
qDebug() << "Go to the next endpoint";
qDebug() << "go to the next proxy endpoint";
reply->deleteLater(); // delete the previous reply
reply = requestFunction(endpoint.arg(proxyUrl));

View file

@ -1452,10 +1452,6 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="107"/>
<source>About DefaultVPN</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About AmneziaVPN</source>
<translation type="vanished">عن AmneziaVPN</translation>
</message>
@ -1728,14 +1724,10 @@ Already installed containers were found on the server. All installed containers
</context>
<context>
<name>PageSettingsApiNativeConfigs</name>
<message>
<source>Save AmneziaVPN config</source>
<translation type="obsolete">احفظ تكوين AmneziaVPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
<source>Save AmneziaVPN config</source>
<translation type="unfinished">احفظ تكوين AmneziaVPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
@ -1930,13 +1922,11 @@ Already installed containers were found on the server. All installed containers
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="300"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="338"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="375"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="142"/>
<source>Cancel</source>
<translation>إلغاء</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="304"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="105"/>
<source>Cannot reload API config during active connection</source>
<translation>لا يمكن إعادة تحميل تكوين API اثناء تواجد اتصال نشط</translation>
</message>
@ -1972,85 +1962,9 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="379"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="123"/>
<source>Cannot remove server during active connection</source>
<translation>لا يمكن إزالة الخادم أثناء الاتصال النشط</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="75"/>
<source>Amnezia Premium settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="85"/>
<source>Subscription expires on</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="101"/>
<source>Reset API configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="116"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="139"/>
<source>Reset API configuration?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="140"/>
<source>This will reload the API configuration from the server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="141"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="153"/>
<source>Are you sure you want to remove the server from the app?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="154"/>
<source>You won&apos;t be able to connect to it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="155"/>
<source>Yes, delete anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="156"/>
<source>No, keep it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="170"/>
<source>Amnezia Premium subscription has expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="171"/>
<source>Order a new subscription</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="172"/>
<source>Go to order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="173"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PageSettingsApiSupport</name>
@ -2516,21 +2430,18 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="186"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="215"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="89"/>
<source>Save</source>
<translation>احفظ</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="187"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="216"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="90"/>
<source>Logs files (*.log)</source>
<translation>ملفات الولوج (*.log)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="196"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="225"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="99"/>
<source>Logs file saved</source>
<translation>تم حفظ ملف السجل</translation>
</message>
@ -2580,8 +2491,8 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2595,13 +2506,13 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2688,11 +2599,6 @@ Already installed containers were found on the server. All installed containers
<source>Do you want to remove the server from application?</source>
<translation>هل تريد حذف الخادم من التطبيق؟</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed DefaultVPN services will still remain on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="159"/>
<source>Cannot remove server during active connection</source>
@ -2724,6 +2630,7 @@ Already installed containers were found on the server. All installed containers
<translation>لا يمكن إعادة تعيين تكوين API أثناء الاتصال النشط</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed AmneziaVPN services will still remain on the server.</source>
<translation type="vanished">جميع خدمات AmneziaVPN المٌثبتة ستظل علي الخادم.</translation>
</message>
@ -3155,31 +3062,6 @@ Already installed containers were found on the server. All installed containers
<source>I have nothing</source>
<translation>ليس لدي اي شئ</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="65"/>
<source>Adding a server to&#xa0;connect to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="77"/>
<source>Key</source>
<translation type="unfinished">مفتاح</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="88"/>
<source>VPN://</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="97"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="103"/>
<source>Unsupported config file</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PageSetupWizardCredentials</name>
@ -3482,6 +3364,7 @@ Already installed containers were found on the server. All installed containers
<translation>حفظ تكوين XRay</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the AmneziaVPN app</source>
<translation type="vanished">AmneziaVPN من اجل تطبيق</translation>
</message>
@ -3643,11 +3526,6 @@ Already installed containers were found on the server. All installed containers
<source>Config revoked</source>
<translation>تم سحب وإبطال التكوين</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the DefaultVPN app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="297"/>
<source>User name</source>
@ -4326,23 +4204,13 @@ Already installed containers were found on the server. All installed containers
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN&apos;s support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Normal power consumption on mobile devices
* Flexible customisation to suit user needs to work with different operating systems and devices
* Recognised by DPI systems and therefore susceptible to blocking
* Can operate over both TCP and UDP network protocols.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the DefaultVPN only on desktop platforms
* Configurable encryption protocol
* Detectable by some DPI systems
* Works over TCP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
@ -4355,7 +4223,7 @@ Cloak can modify packet metadata so that it completely masks VPN traffic as norm
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
@ -4369,7 +4237,7 @@ Immediately after receiving the first data packet, Cloak authenticates the incom
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
@ -4382,26 +4250,13 @@ WireGuard is very susceptible to detection and blocking due to its distinct pack
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
* Available in the DefaultVPN only on Windows
* Low power consumption, on mobile devices
* Minimal configuration
* Recognised by DPI analysis systems
* Works over UDP network protocol, ports 500 and 4500.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
@ -4560,6 +4415,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
* يمكن ان يعمل علي بروتوكولات شبكة TCP و UDP.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the AmneziaVPN only on desktop platforms
@ -4594,6 +4450,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin
* يعمل عبر بروتوكول شبكة UDP.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
@ -4863,6 +4720,8 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>ShareConnectionDrawer</name>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save AmneziaVPN config</source>
<translation type="vanished">احفظ تكوين AmneziaVPN</translation>
</message>
@ -4876,12 +4735,6 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<source>Copy</source>
<translation>انسخ</translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="191"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="201"/>
@ -4991,7 +4844,7 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation></translation>
</message>

View file

@ -1531,10 +1531,6 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="107"/>
<source>About DefaultVPN</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About AmneziaVPN</source>
<translation type="vanished">درباره Amnezia</translation>
</message>
@ -1815,14 +1811,10 @@ Already installed containers were found on the server. All installed containers
</context>
<context>
<name>PageSettingsApiNativeConfigs</name>
<message>
<source>Save AmneziaVPN config</source>
<translation type="obsolete">ذخیره تنظیمات AmneziaVPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
<source>Save AmneziaVPN config</source>
<translation type="unfinished">ذخیره تنظیمات AmneziaVPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
@ -2013,13 +2005,11 @@ Already installed containers were found on the server. All installed containers
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="300"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="338"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="375"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="142"/>
<source>Cancel</source>
<translation>لغو</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="304"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="105"/>
<source>Cannot reload API config during active connection</source>
<translation>نمیتوان پیکربندی API را در حین اتصال فعال دوباره بارگذاری کرد.</translation>
</message>
@ -2055,85 +2045,9 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="379"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="123"/>
<source>Cannot remove server during active connection</source>
<translation>نمیتوان سرور را در حین اتصال فعال حذف کرد.</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="75"/>
<source>Amnezia Premium settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="85"/>
<source>Subscription expires on</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="101"/>
<source>Reset API configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="116"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="139"/>
<source>Reset API configuration?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="140"/>
<source>This will reload the API configuration from the server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="141"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="153"/>
<source>Are you sure you want to remove the server from the app?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="154"/>
<source>You won&apos;t be able to connect to it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="155"/>
<source>Yes, delete anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="156"/>
<source>No, keep it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="170"/>
<source>Amnezia Premium subscription has expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="171"/>
<source>Order a new subscription</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="172"/>
<source>Go to order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="173"/>
<source>Close</source>
<translation type="unfinished">بستن</translation>
</message>
</context>
<context>
<name>PageSettingsApiSupport</name>
@ -2599,21 +2513,18 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="186"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="215"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="89"/>
<source>Save</source>
<translation>ذخیره</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="187"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="216"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="90"/>
<source>Logs files (*.log)</source>
<translation>Logs files (*.log)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="196"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="225"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="99"/>
<source>Logs file saved</source>
<translation>فایل گزارشات ذخیره شد</translation>
</message>
@ -2663,8 +2574,8 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2678,13 +2589,13 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2773,11 +2684,6 @@ Already installed containers were found on the server. All installed containers
<source>Do you want to remove the server from application?</source>
<translation>آیا میخواهید سرور را از برنامه حذف کنید؟</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed DefaultVPN services will still remain on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="159"/>
<source>Cannot remove server during active connection</source>
@ -2819,6 +2725,7 @@ Already installed containers were found on the server. All installed containers
<translation>حذف کردن سرور از نرمافزار</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed AmneziaVPN services will still remain on the server.</source>
<translation type="vanished">تمام سرویسهای نصبشده Amnezia همچنان بر روی سرور باقی خواهند ماند.</translation>
</message>
@ -3274,25 +3181,6 @@ It&apos;s okay as long as it&apos;s from someone you trust.</source>
<source>I have nothing</source>
<translation>من هیچی ندارم</translation>
</message>
<message>
<source>Key as text</source>
<translation type="vanished">متن شامل کلید</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="65"/>
<source>Adding a server to&#xa0;connect to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="77"/>
<source>Key</source>
<translation type="unfinished">کلید</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="88"/>
<source>VPN://</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="97"/>
<source>Add</source>
@ -3660,6 +3548,7 @@ It&apos;s okay as long as it&apos;s from someone you trust.</source>
<translation>ذخیره پیکربندی XRay</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the AmneziaVPN app</source>
<translation type="vanished">برای نرمافزار AmneziaVPN</translation>
</message>
@ -3788,11 +3677,6 @@ It&apos;s okay as long as it&apos;s from someone you trust.</source>
<source>Share VPN access without the ability to manage the server</source>
<translation>به اشتراک گذاشتن دسترسی ویپیان بدون امکان مدیریت سرور</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the DefaultVPN app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="377"/>
<location filename="../ui/qml/Pages2/PageShare.qml" line="378"/>
@ -4554,6 +4438,7 @@ REALITY به‌طور منحصربه‌فردی سانسورچیان را در
این قابلیت پیشرفته، REALITY را از فناوریهای مشابه متمایز میکند، زیرا میتواند ترافیک وب را بدون نیاز به پیکربندیهای خاص، بهعنوان ترافیک از سایتهای تصادفی و معتبر جا بزند. برخلاف پروتکلهای قدیمیتر مانند VMess، VLESS و انتقال XTLS-Vision، تشخیص نوآورانه &quot;دوست یا دشمن&quot; REALITY در مرحله دستدهی TLS امنیت را افزایش داده و از شناسایی توسط سیستمهای پیشرفته DPI که از تکنیکهای پروب فعال استفاده میکنند، جلوگیری میکند. این ویژگی REALITY را به یک راهحل قوی برای حفظ آزادی اینترنت در محیطهایی با سانسور شدید تبدیل میکند.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
@ -4629,23 +4514,13 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN&apos;s support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Normal power consumption on mobile devices
* Flexible customisation to suit user needs to work with different operating systems and devices
* Recognised by DPI systems and therefore susceptible to blocking
* Can operate over both TCP and UDP network protocols.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the DefaultVPN only on desktop platforms
* Configurable encryption protocol
* Detectable by some DPI systems
* Works over TCP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
@ -4658,7 +4533,7 @@ Cloak can modify packet metadata so that it completely masks VPN traffic as norm
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
@ -4672,7 +4547,7 @@ Immediately after receiving the first data packet, Cloak authenticates the incom
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
@ -4685,26 +4560,13 @@ WireGuard is very susceptible to detection and blocking due to its distinct pack
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
* Available in the DefaultVPN only on Windows
* Low power consumption, on mobile devices
* Minimal configuration
* Recognised by DPI analysis systems
* Works over UDP network protocol, ports 500 and 4500.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
@ -4758,6 +4620,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
* امکان کار بر روی دو پروتکل TCP و UDP</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the AmneziaVPN only on desktop platforms
@ -5072,6 +4935,8 @@ For more detailed information, you can
<context>
<name>ShareConnectionDrawer</name>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save AmneziaVPN config</source>
<translation type="vanished">ذخیره تنظیمات AmneziaVPN</translation>
</message>
@ -5085,12 +4950,6 @@ For more detailed information, you can
<source>Copy</source>
<translation>کپی</translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="191"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="201"/>
@ -5200,7 +5059,7 @@ For more detailed information, you can
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation>Mbps</translation>
</message>

View file

@ -1460,10 +1460,6 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="107"/>
<source>About DefaultVPN</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About AmneziaVPN</source>
<translation type="vanished">AmneziaVPN </translation>
</message>
@ -1740,14 +1736,10 @@ Already installed containers were found on the server. All installed containers
</context>
<context>
<name>PageSettingsApiNativeConfigs</name>
<message>
<source>Save AmneziaVPN config</source>
<translation type="obsolete">AmneziaVPN ि </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
<source>Save AmneziaVPN config</source>
<translation type="unfinished">AmneziaVPN ि </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
@ -1922,13 +1914,11 @@ Already installed containers were found on the server. All installed containers
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="300"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="338"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="375"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="142"/>
<source>Cancel</source>
<translation type="unfinished"> </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="304"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="105"/>
<source>Cannot reload API config during active connection</source>
<translation type="unfinished"></translation>
</message>
@ -1964,85 +1954,9 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="379"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="123"/>
<source>Cannot remove server during active connection</source>
<translation type="unfinished">ि </translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="75"/>
<source>Amnezia Premium settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="85"/>
<source>Subscription expires on</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="101"/>
<source>Reset API configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="116"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="139"/>
<source>Reset API configuration?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="140"/>
<source>This will reload the API configuration from the server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="141"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="153"/>
<source>Are you sure you want to remove the server from the app?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="154"/>
<source>You won&apos;t be able to connect to it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="155"/>
<source>Yes, delete anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="156"/>
<source>No, keep it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="170"/>
<source>Amnezia Premium subscription has expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="171"/>
<source>Order a new subscription</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="172"/>
<source>Go to order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="173"/>
<source>Close</source>
<translation type="unfinished"> </translation>
</message>
</context>
<context>
<name>PageSettingsApiSupport</name>
@ -2516,21 +2430,18 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="186"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="215"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="89"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="187"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="216"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="90"/>
<source>Logs files (*.log)</source>
<translation> (*.log)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="196"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="225"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="99"/>
<source>Logs file saved</source>
<translation> </translation>
</message>
@ -2580,8 +2491,8 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2595,13 +2506,13 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2688,11 +2599,6 @@ Already installed containers were found on the server. All installed containers
<source>Do you want to remove the server from application?</source>
<translation> ि ?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed DefaultVPN services will still remain on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="159"/>
<source>Cannot remove server during active connection</source>
@ -2724,6 +2630,7 @@ Already installed containers were found on the server. All installed containers
<translation>ि ि ि </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed AmneziaVPN services will still remain on the server.</source>
<translation type="vanished"> ि AmneziaVPN .</translation>
</message>
@ -3171,25 +3078,6 @@ Already installed containers were found on the server. All installed containers
<source>I have nothing</source>
<translation type="unfinished"> </translation>
</message>
<message>
<source>Key as text</source>
<translation type="vanished"> </translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="65"/>
<source>Adding a server to&#xa0;connect to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="77"/>
<source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="88"/>
<source>VPN://</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="97"/>
<source>Add</source>
@ -3521,6 +3409,7 @@ Already installed containers were found on the server. All installed containers
<translation> ि </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the AmneziaVPN app</source>
<translation type="vanished">AmneziaVPN ि</translation>
</message>
@ -3685,11 +3574,6 @@ Already installed containers were found on the server. All installed containers
<source>Config revoked</source>
<translation>ि ि ि </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the DefaultVPN app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="124"/>
<source>OpenVPN native format</source>
@ -4374,23 +4258,13 @@ Already installed containers were found on the server. All installed containers
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN&apos;s support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Normal power consumption on mobile devices
* Flexible customisation to suit user needs to work with different operating systems and devices
* Recognised by DPI systems and therefore susceptible to blocking
* Can operate over both TCP and UDP network protocols.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the DefaultVPN only on desktop platforms
* Configurable encryption protocol
* Detectable by some DPI systems
* Works over TCP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
@ -4403,7 +4277,7 @@ Cloak can modify packet metadata so that it completely masks VPN traffic as norm
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
@ -4417,7 +4291,7 @@ Immediately after receiving the first data packet, Cloak authenticates the incom
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
@ -4430,26 +4304,13 @@ WireGuard is very susceptible to detection and blocking due to its distinct pack
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
* Available in the DefaultVPN only on Windows
* Low power consumption, on mobile devices
* Minimal configuration
* Recognised by DPI analysis systems
* Works over UDP network protocol, ports 500 and 4500.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
@ -4598,6 +4459,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
* .</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the AmneziaVPN only on desktop platforms
@ -4642,6 +4504,7 @@ Unlike older protocols such as VMess, VLESS, and the XTLS-Vision transport, REAL
VMess, VLESS XTLS-Vision ि, TLS REALITY ि &quot; &quot; ि िि ि DPI ि REALITY ि ि .</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
@ -4912,6 +4775,8 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>ShareConnectionDrawer</name>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save AmneziaVPN config</source>
<translation type="vanished">AmneziaVPN ि </translation>
</message>
@ -4925,12 +4790,6 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<source>Copy</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="191"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="201"/>
@ -5040,7 +4899,7 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation></translation>
</message>

View file

@ -1460,10 +1460,6 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="107"/>
<source>About DefaultVPN</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About AmneziaVPN</source>
<translation type="vanished">AmneziaVPN က</translation>
</message>
@ -1740,14 +1736,10 @@ Already installed containers were found on the server. All installed containers
</context>
<context>
<name>PageSettingsApiNativeConfigs</name>
<message>
<source>Save AmneziaVPN config</source>
<translation type="obsolete">AmneziaWG config က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
<source>Save AmneziaVPN config</source>
<translation type="unfinished">AmneziaWG config က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
@ -1942,13 +1934,11 @@ Already installed containers were found on the server. All installed containers
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="300"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="338"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="375"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="142"/>
<source>Cancel</source>
<translation>က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="304"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="105"/>
<source>Cannot reload API config during active connection</source>
<translation>က API config က </translation>
</message>
@ -1984,85 +1974,9 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="379"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="123"/>
<source>Cannot remove server during active connection</source>
<translation>က က </translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="75"/>
<source>Amnezia Premium settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="85"/>
<source>Subscription expires on</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="101"/>
<source>Reset API configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="116"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="139"/>
<source>Reset API configuration?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="140"/>
<source>This will reload the API configuration from the server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="141"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="153"/>
<source>Are you sure you want to remove the server from the app?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="154"/>
<source>You won&apos;t be able to connect to it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="155"/>
<source>Yes, delete anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="156"/>
<source>No, keep it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="170"/>
<source>Amnezia Premium subscription has expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="171"/>
<source>Order a new subscription</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="172"/>
<source>Go to order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="173"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PageSettingsApiSupport</name>
@ -2528,14 +2442,12 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="186"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="215"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="89"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="187"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="216"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="90"/>
<source>Logs files (*.log)</source>
<translatorcomment> (*.log)</translatorcomment>
<translation> (*.log)</translation>
@ -2543,7 +2455,6 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="196"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="225"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="99"/>
<source>Logs file saved</source>
<translation></translation>
</message>
@ -2593,8 +2504,8 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2608,13 +2519,13 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2691,11 +2602,6 @@ Already installed containers were found on the server. All installed containers
<source>Do you want to remove the server from application?</source>
<translation>က က?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed DefaultVPN services will still remain on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="159"/>
<source>Cannot remove server during active connection</source>
@ -2737,6 +2643,7 @@ Already installed containers were found on the server. All installed containers
<translation>က က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed AmneziaVPN services will still remain on the server.</source>
<translation type="vanished"> AmneziaVPN ကက.</translation>
</message>
@ -3168,31 +3075,6 @@ Already installed containers were found on the server. All installed containers
<source>I have nothing</source>
<translation>က</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="65"/>
<source>Adding a server to&#xa0;connect to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="77"/>
<source>Key</source>
<translation type="unfinished">Key</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="88"/>
<source>VPN://</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="97"/>
<source>Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="103"/>
<source>Unsupported config file</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PageSetupWizardCredentials</name>
@ -3530,6 +3412,7 @@ Already installed containers were found on the server. All installed containers
<translation>XRay config က</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the AmneziaVPN app</source>
<translation type="vanished">AmneziaVPN ကက</translation>
</message>
@ -3654,11 +3537,6 @@ Already installed containers were found on the server. All installed containers
<source>Share VPN access without the ability to manage the server</source>
<translation>က VPN က </translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the DefaultVPN app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="377"/>
<location filename="../ui/qml/Pages2/PageShare.qml" line="378"/>
@ -4367,6 +4245,7 @@ This advanced capability differentiates REALITY from similar technologies by its
Unlike older protocols such as VMess, VLESS, and the XTLS-Vision transport, REALITY&apos;s innovative &quot;friend or foe&quot; recognition at the TLS handshake enhances security and circumvents detection by sophisticated DPI systems employing active probing techniques. This makes REALITY a robust solution for maintaining internet freedom in environments with stringent censorship.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
@ -4442,23 +4321,13 @@ IKEv2 သည် လုံခြုံရေး၊ တည်ငြိမ်မှ
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN&apos;s support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Normal power consumption on mobile devices
* Flexible customisation to suit user needs to work with different operating systems and devices
* Recognised by DPI systems and therefore susceptible to blocking
* Can operate over both TCP and UDP network protocols.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the DefaultVPN only on desktop platforms
* Configurable encryption protocol
* Detectable by some DPI systems
* Works over TCP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
@ -4471,7 +4340,7 @@ Cloak can modify packet metadata so that it completely masks VPN traffic as norm
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
@ -4485,7 +4354,7 @@ Immediately after receiving the first data packet, Cloak authenticates the incom
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
@ -4498,26 +4367,13 @@ WireGuard is very susceptible to detection and blocking due to its distinct pack
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
* Available in the DefaultVPN only on Windows
* Low power consumption, on mobile devices
* Minimal configuration
* Recognised by DPI analysis systems
* Works over UDP network protocol, ports 500 and 4500.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
@ -4563,6 +4419,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
* TCP UDP ကက က .</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the AmneziaVPN only on desktop platforms
@ -4873,6 +4730,8 @@ For more detailed information, you can
<context>
<name>ShareConnectionDrawer</name>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save AmneziaVPN config</source>
<translation type="vanished">AmneziaWG config က</translation>
</message>
@ -4886,12 +4745,6 @@ For more detailed information, you can
<source>Copy</source>
<translation>က</translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="191"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="201"/>
@ -5001,7 +4854,7 @@ For more detailed information, you can
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation>Mbps</translation>
</message>

View file

@ -10,7 +10,7 @@
<message>
<location filename="../ui/qml/Components/AdLabel.qml" line="57"/>
<source>Amnezia Premium - for access to all websites and online resources</source>
<translation type="unfinished"></translation>
<translation>Amnezia Premium - доступ ко всем сайтам и онлайн ресурсам</translation>
</message>
</context>
<context>
@ -110,12 +110,12 @@
<message>
<location filename="../ui/models/api/apiServicesModel.cpp" line="68"/>
<source>Amnezia Premium is classic VPN for seamless work, downloading large files, and watching videos. Access all websites and online resources. Speeds up to %1 Mbps.</source>
<translation type="unfinished"></translation>
<translation>Amnezia Premium - это классический VPN для комфортной работы, загрузки больших файлов и просмотра видео. Доступ ко всем сайтам и онлайн ресурсам. Скорость - до %1 Мбит/с.</translation>
</message>
<message>
<location filename="../ui/models/api/apiServicesModel.cpp" line="82"/>
<source>Amnezia Premium is classic VPN for for seamless work, downloading large files, and watching videos. Access all websites and online resources.</source>
<translation type="unfinished"></translation>
<translation>Amnezia Premium - это классический VPN для комфортной работы, загрузки больших файлов и просмотра видео. Доступ ко всем сайтам и онлайн ресурсам.</translation>
</message>
<message>
<location filename="../ui/models/api/apiServicesModel.cpp" line="97"/>
@ -372,12 +372,12 @@ Can&apos;t be disabled for current server</source>
<message>
<location filename="../ui/controllers/importController.cpp" line="685"/>
<source>This configuration contains an OpenVPN setup. OpenVPN configurations can include malicious scripts, so only add it if you fully trust the provider of this config. </source>
<translation type="unfinished"></translation>
<translation>Эта конфигурация содержит настройки OpenVPN. Конфигурации OpenVPN могут содержать вредоносные скрипты, поэтому добавляйте их только в том случае, если полностью доверяете источнику этого файла. </translation>
</message>
<message>
<location filename="../ui/controllers/importController.cpp" line="689"/>
<source>&lt;br&gt;In the imported configuration, potentially dangerous lines were found:</source>
<translation type="unfinished"></translation>
<translation>&lt;br&gt;В импортированной конфигурации обнаружены потенциально опасные строки:</translation>
</message>
<message>
<source>In the imported configuration, potentially dangerous lines were found:</source>
@ -600,12 +600,12 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageDevMenu.qml" line="68"/>
<source>Gateway endpoint</source>
<translation type="unfinished"></translation>
<translation>Gateway endpoint</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageDevMenu.qml" line="97"/>
<source>Dev gateway environment</source>
<translation type="unfinished"></translation>
<translation>Dev gateway environment</translation>
</message>
</context>
<context>
@ -755,47 +755,47 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="146"/>
<source>Jc - Junk packet count</source>
<translation type="unfinished"></translation>
<translation>Jc - Junk packet count</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="168"/>
<source>Jmin - Junk packet minimum size</source>
<translation type="unfinished"></translation>
<translation>Jmin - Junk packet minimum size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="186"/>
<source>Jmax - Junk packet maximum size</source>
<translation type="unfinished"></translation>
<translation>Jmax - Junk packet maximum size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="204"/>
<source>S1 - Init packet junk size</source>
<translation type="unfinished"></translation>
<translation>S1 - Init packet junk size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="228"/>
<source>S2 - Response packet junk size</source>
<translation type="unfinished"></translation>
<translation>S2 - Response packet junk size</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="252"/>
<source>H1 - Init packet magic header</source>
<translation type="unfinished"></translation>
<translation>H1 - Init packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="270"/>
<source>H2 - Response packet magic header</source>
<translation type="unfinished"></translation>
<translation>H2 - Response packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="288"/>
<source>H4 - Transport packet magic header</source>
<translation type="unfinished"></translation>
<translation>H4 - Transport packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="306"/>
<source>H3 - Underload packet magic header</source>
<translation type="unfinished"></translation>
<translation>H3 - Underload packet magic header</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageProtocolAwgSettings.qml" line="354"/>
@ -1569,7 +1569,7 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="123"/>
<source>Dev console</source>
<translation type="unfinished"></translation>
<translation>Dev console</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="142"/>
@ -1713,7 +1713,7 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiDevices.qml" line="45"/>
<source>Active Devices</source>
<translation type="unfinished"></translation>
<translation>Активные устройства</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiDevices.qml" line="46"/>
@ -1866,15 +1866,10 @@ Already installed containers were found on the server. All installed containers
<source>Configuration files</source>
<translation type="vanished">Файл конфигурации</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
<source>Configuration Files</source>
<translation type="unfinished"></translation>
<translation>Файлы конфигурации</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="49"/>
@ -2020,37 +2015,37 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="29"/>
<source>Subscription Status</source>
<translation type="unfinished"></translation>
<translation>Статус подписки</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="37"/>
<source>Valid Until</source>
<translation type="unfinished"></translation>
<translation>Действительна до</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="45"/>
<source>Active Connections</source>
<translation type="unfinished"></translation>
<translation>Активные соединения</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="186"/>
<source>Subscription Key</source>
<translation type="unfinished"></translation>
<translation>Ключ для подключения</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="194"/>
<source>Save VPN key as a file</source>
<translation type="unfinished"></translation>
<translation>Сохранить VPN-ключ в файл</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="216"/>
<source>Configuration Files</source>
<translation type="unfinished"></translation>
<translation>Файлы конфигурации</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="236"/>
<source>Active Devices</source>
<translation type="unfinished"></translation>
<translation>Активные устройства</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="238"/>
@ -2224,7 +2219,7 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiSupport.qml" line="30"/>
<source>Email</source>
<translation type="unfinished"></translation>
<translation>Email</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiSupport.qml" line="31"/>
@ -2581,7 +2576,7 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsConnection.qml" line="143"/>
<source>Cannot change KillSwitch settings during active connection</source>
<translation type="unfinished"></translation>
<translation>Невозможно изменить настройки KillSwitch во время активного подключения</translation>
</message>
<message>
<source>Cannot change killSwitch settings during active connection</source>
@ -2763,12 +2758,12 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="175"/>
<source>Client logs</source>
<translation type="unfinished"></translation>
<translation>Логи приложения</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<translation type="unfinished"></translation>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation>AmneziaVPN logs</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="142"/>
@ -2780,15 +2775,15 @@ Already installed containers were found on the server. All installed containers
<source>Export logs</source>
<translation>Сохранить логи</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
<translation>Логи службы</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation>AmneziaVPN-service logs</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="78"/>
@ -3317,7 +3312,7 @@ It&apos;s okay as long as it&apos;s from someone you trust.</source>
<message>
<location filename="../ui/qml/Pages2/PageSetupWizardConfigSource.qml" line="109"/>
<source>Support tag</source>
<translation type="unfinished"></translation>
<translation>Support tag</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSetupWizardConfigSource.qml" line="120"/>
@ -3934,7 +3929,7 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="726"/>
<source>Allowed IPs: %1</source>
<translation type="unfinished"></translation>
<translation>Разрешенные подсети: %1</translation>
</message>
<message>
<source>Creation date: </source>
@ -4389,22 +4384,22 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<message>
<location filename="../core/errorstrings.cpp" line="25"/>
<source>The sudo package is not pre-installed on the server</source>
<translation type="unfinished"></translation>
<translation>Пакет sudo не установлен на сервере по умолчанию</translation>
</message>
<message>
<location filename="../core/errorstrings.cpp" line="26"/>
<source>The server user&apos;s home directory is not accessible</source>
<translation type="unfinished"></translation>
<translation>Домашний каталог пользователя сервера недоступен</translation>
</message>
<message>
<location filename="../core/errorstrings.cpp" line="27"/>
<source>Action not allowed in sudoers</source>
<translation type="unfinished"></translation>
<translation>Действие не разрешено в sudoers</translation>
</message>
<message>
<location filename="../core/errorstrings.cpp" line="28"/>
<source>The user&apos;s password is required</source>
<translation type="unfinished"></translation>
<translation>Требуется пароль пользователя</translation>
</message>
<message>
<location filename="../core/errorstrings.cpp" line="31"/>
@ -4603,7 +4598,7 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<message>
<location filename="../core/errorstrings.cpp" line="70"/>
<source>Missing AGW public key</source>
<translation type="unfinished"></translation>
<translation>Отсутствует публичный ключ AGW</translation>
</message>
<message>
<location filename="../core/errorstrings.cpp" line="71"/>
@ -4613,7 +4608,7 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<message>
<location filename="../core/errorstrings.cpp" line="72"/>
<source>Missing list of available services</source>
<translation type="unfinished"></translation>
<translation>Отсутствует список доступных сервисов</translation>
</message>
<message>
<location filename="../core/errorstrings.cpp" line="73"/>
@ -5571,7 +5566,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation>Мбит/с</translation>
</message>

View file

@ -1601,10 +1601,6 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="107"/>
<source>About DefaultVPN</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About AmneziaVPN</source>
<translation type="vanished">Про AmneziaVPN</translation>
</message>
@ -1909,14 +1905,10 @@ Already installed containers were found on the server. All installed containers
</context>
<context>
<name>PageSettingsApiNativeConfigs</name>
<message>
<source>Save AmneziaVPN config</source>
<translation type="obsolete">Зберегти config AmneziaVPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
<source>Save AmneziaVPN config</source>
<translation type="unfinished">Зберегти config AmneziaVPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
@ -2107,13 +2099,11 @@ Already installed containers were found on the server. All installed containers
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="300"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="338"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="375"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="142"/>
<source>Cancel</source>
<translation>Відмінити</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="304"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="105"/>
<source>Cannot reload API config during active connection</source>
<translation>Неможливо перезавантажити конфігурацію API під час активного підключення</translation>
</message>
@ -2149,85 +2139,9 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="379"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="123"/>
<source>Cannot remove server during active connection</source>
<translation>Неможливо видалити сервер під час активного підключення</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="75"/>
<source>Amnezia Premium settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="85"/>
<source>Subscription expires on</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="101"/>
<source>Reset API configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="116"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="139"/>
<source>Reset API configuration?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="140"/>
<source>This will reload the API configuration from the server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="141"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="153"/>
<source>Are you sure you want to remove the server from the app?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="154"/>
<source>You won&apos;t be able to connect to it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="155"/>
<source>Yes, delete anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="156"/>
<source>No, keep it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="170"/>
<source>Amnezia Premium subscription has expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="171"/>
<source>Order a new subscription</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="172"/>
<source>Go to order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="173"/>
<source>Close</source>
<translation type="unfinished">Закрити</translation>
</message>
</context>
<context>
<name>PageSettingsApiSupport</name>
@ -2717,21 +2631,18 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="186"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="215"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="89"/>
<source>Save</source>
<translation>Зберегти</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="187"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="216"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="90"/>
<source>Logs files (*.log)</source>
<translation>Logs files (*.log)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="196"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="225"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="99"/>
<source>Logs file saved</source>
<translation>Файл з логами збережено</translation>
</message>
@ -2781,8 +2692,8 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2796,13 +2707,13 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2896,11 +2807,6 @@ Already installed containers were found on the server. All installed containers
<source>Do you want to remove the server from application?</source>
<translation>Ви впевнені, що хочете видалити сервер із застосунку?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed DefaultVPN services will still remain on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="159"/>
<source>Cannot remove server during active connection</source>
@ -2954,6 +2860,7 @@ Already installed containers were found on the server. All installed containers
<translation type="vanished">Видалити сервер із застосунку?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed AmneziaVPN services will still remain on the server.</source>
<translation type="vanished">Всі встановлені сервіси та протоколи Amnezia все ще залишаться на сервері.</translation>
</message>
@ -3432,25 +3339,6 @@ It&apos;s okay as long as it&apos;s from someone you trust.</source>
<source>I have nothing</source>
<translation>У мене нічого нема</translation>
</message>
<message>
<source>Key as text</source>
<translation type="vanished">Ключ у вигляді тексту</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="65"/>
<source>Adding a server to&#xa0;connect to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="77"/>
<source>Key</source>
<translation type="unfinished">Ключ</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="88"/>
<source>VPN://</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="97"/>
<source>Add</source>
@ -3884,14 +3772,10 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation>Зберегти конфігурацію XRay</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the AmneziaVPN app</source>
<translation type="vanished">Для AmneziaVPN</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the DefaultVPN app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="134"/>
<source>AmneziaWG native format</source>
@ -4781,6 +4665,7 @@ REALITY унікально ідентифікує цензорів під час
На відміну від старіших протоколів, таких як VMess, VLESS та XTLS-Vision transport, продвиуте розпізнавання &quot;Свій Чужий&quot; REALITY під час TLS-handshake підвищує безпеку та протидіє виявленню складними системами DPI, що використовують активні техніки аналізу. Це робить REALITY надійним рішенням для підтримання інтернет-свободи в середовищах з жорсткою цензурою.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
@ -4856,69 +4741,13 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN&apos;s support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Normal power consumption on mobile devices
* Flexible customisation to suit user needs to work with different operating systems and devices
* Recognised by DPI systems and therefore susceptible to blocking
* Can operate over both TCP and UDP network protocols.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the DefaultVPN only on desktop platforms
* Configurable encryption protocol
* Detectable by some DPI systems
* Works over TCP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server.
Cloak protects OpenVPN from detection.
Cloak can modify packet metadata so that it completely masks VPN traffic as normal web traffic, and also protects the VPN from detection by Active Probing. This makes it very resistant to being detected
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the DefaultVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
* Works over TCP network protocol, 443 port.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="185"/>
<source>A relatively new popular VPN protocol with a simplified architecture.
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the DefaultVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="198"/>
<source>A modern iteration of the popular VPN protocol, AmneziaWG builds upon the foundation set by WireGuard, retaining its simplified architecture and high-performance capabilities across devices.
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the DefaultVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship.</source>
<translation type="vanished">WireGuard - новий популярний VPN-протокол, з високою швидістю та низьким енергоспоживанням. Для регіонів з низьким рівнем цензури.</translation>
@ -4964,6 +4793,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
* Може працювати за протоколом TCP і UDP.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the AmneziaVPN only on desktop platforms
@ -4977,6 +4807,52 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
* Розпізнається деякими DPI-системами
* Працює по мережевому протоколу TCP.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server.
Cloak protects OpenVPN from detection.
Cloak can modify packet metadata so that it completely masks VPN traffic as normal web traffic, and also protects the VPN from detection by Active Probing. This makes it very resistant to being detected
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the AmneziaVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
* Works over TCP network protocol, 443 port.
</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="185"/>
<source>A relatively new popular VPN protocol with a simplified architecture.
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="198"/>
<source>A modern iteration of the popular VPN protocol, AmneziaWG builds upon the foundation set by WireGuard, retaining its simplified architecture and high-performance capabilities across devices.
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
@ -4985,19 +4861,6 @@ This advanced capability differentiates REALITY from similar technologies by its
Unlike older protocols such as VMess, VLESS, and the XTLS-Vision transport, REALITY&apos;s innovative &quot;friend or foe&quot; recognition at the TLS handshake enhances security. This makes REALITY a robust solution for maintaining internet freedom.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
* Available in the DefaultVPN only on Windows
* Low power consumption, on mobile devices
* Minimal configuration
* Recognised by DPI analysis systems
* Works over UDP network protocol, ports 500 and 4500.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="239"/>
<source>After installation, Amnezia will create a
@ -5364,6 +5227,8 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<context>
<name>ShareConnectionDrawer</name>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save AmneziaVPN config</source>
<translation type="vanished">Зберегти config AmneziaVPN</translation>
</message>
@ -5377,12 +5242,6 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<source>Copy</source>
<translation>Скопіювати</translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="191"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="201"/>
@ -5492,7 +5351,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation>Mbps</translation>
</message>

View file

@ -1464,10 +1464,6 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="107"/>
<source>About DefaultVPN</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About AmneziaVPN</source>
<translation type="vanished">AmneziaVPN کے بارے میں</translation>
</message>
@ -1740,14 +1736,10 @@ Already installed containers were found on the server. All installed containers
</context>
<context>
<name>PageSettingsApiNativeConfigs</name>
<message>
<source>Save AmneziaVPN config</source>
<translation type="obsolete">AmneziaVPN ترتیب کو محفوظ کریں</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
<source>Save AmneziaVPN config</source>
<translation type="unfinished">AmneziaVPN ترتیب کو محفوظ کریں</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
@ -1918,13 +1910,11 @@ Already installed containers were found on the server. All installed containers
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="300"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="338"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="375"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="142"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="304"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="105"/>
<source>Cannot reload API config during active connection</source>
<translation type="unfinished"></translation>
</message>
@ -1960,85 +1950,9 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="379"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="123"/>
<source>Cannot remove server during active connection</source>
<translation type="unfinished">چالو کنکشن کے دوران سرور کو ہٹایا نہیں جا سکتا</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="75"/>
<source>Amnezia Premium settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="85"/>
<source>Subscription expires on</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="101"/>
<source>Reset API configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="116"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="139"/>
<source>Reset API configuration?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="140"/>
<source>This will reload the API configuration from the server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="141"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="153"/>
<source>Are you sure you want to remove the server from the app?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="154"/>
<source>You won&apos;t be able to connect to it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="155"/>
<source>Yes, delete anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="156"/>
<source>No, keep it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="170"/>
<source>Amnezia Premium subscription has expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="171"/>
<source>Order a new subscription</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="172"/>
<source>Go to order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="173"/>
<source>Close</source>
<translation type="unfinished">بند</translation>
</message>
</context>
<context>
<name>PageSettingsApiSupport</name>
@ -2508,21 +2422,18 @@ Already installed containers were found on the server. All installed containers
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="186"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="215"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="89"/>
<source>Save</source>
<translation>محفوظ</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="187"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="216"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="90"/>
<source>Logs files (*.log)</source>
<translation>لاگ فائلیں (*.log)</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="196"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="225"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="99"/>
<source>Logs file saved</source>
<translation>لاگ فائل محفوظ ہوگئی</translation>
</message>
@ -2572,8 +2483,8 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2587,13 +2498,13 @@ Already installed containers were found on the server. All installed containers
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2680,11 +2591,6 @@ Already installed containers were found on the server. All installed containers
<source>Do you want to remove the server from application?</source>
<translation>کیا آپ ایپلیکیشن سے سرور کو ہٹانا چاہتے ہیں؟</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed DefaultVPN services will still remain on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="159"/>
<source>Cannot remove server during active connection</source>
@ -2716,6 +2622,7 @@ Already installed containers were found on the server. All installed containers
<translation>چالو کنکشن کے دوران API ترتیبات کو دوبارہ ترتیب نہیں دی جا سکتی</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed AmneziaVPN services will still remain on the server.</source>
<translation type="vanished">سرور پر تمام انسٹال شدہ AmneziaVPN سروسز محفوظ رہیں گے.</translation>
</message>
@ -3163,25 +3070,6 @@ Already installed containers were found on the server. All installed containers
<source>I have nothing</source>
<translation type="unfinished">میرے پاس کچھ نہیں ہے</translation>
</message>
<message>
<source>Key as text</source>
<translation type="vanished">متن کے طور پر کلید</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="65"/>
<source>Adding a server to&#xa0;connect to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="77"/>
<source>Key</source>
<translation type="unfinished">کلید</translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="88"/>
<source>VPN://</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="97"/>
<source>Add</source>
@ -3513,6 +3401,7 @@ Already installed containers were found on the server. All installed containers
<translation>&quot;XRay کنفیگ کو محفوظ کریں</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the AmneziaVPN app</source>
<translation type="vanished">AmneziaVPN ایپ کے لئے</translation>
</message>
@ -3677,11 +3566,6 @@ Already installed containers were found on the server. All installed containers
<source>Config revoked</source>
<translation>کنفیگ منسوخ</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the DefaultVPN app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="124"/>
<source>OpenVPN native format</source>
@ -4365,23 +4249,13 @@ Already installed containers were found on the server. All installed containers
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN&apos;s support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Normal power consumption on mobile devices
* Flexible customisation to suit user needs to work with different operating systems and devices
* Recognised by DPI systems and therefore susceptible to blocking
* Can operate over both TCP and UDP network protocols.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the DefaultVPN only on desktop platforms
* Configurable encryption protocol
* Detectable by some DPI systems
* Works over TCP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
@ -4394,7 +4268,7 @@ Cloak can modify packet metadata so that it completely masks VPN traffic as norm
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
@ -4408,7 +4282,7 @@ Immediately after receiving the first data packet, Cloak authenticates the incom
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
@ -4421,26 +4295,13 @@ WireGuard is very susceptible to detection and blocking due to its distinct pack
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
* Works over UDP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
* Available in the DefaultVPN only on Windows
* Low power consumption, on mobile devices
* Minimal configuration
* Recognised by DPI analysis systems
* Works over UDP network protocol, ports 500 and 4500.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
@ -4562,6 +4423,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
<translation type="vanished">OpenVPN دستیاب سب سے زیادہ مقبول اور وقتی آزمائشی VPN پروٹوکولز میں سے ایک ہے۔ یہ انکرپشن اور کلیدی تبادلے کے لیے SSL/TLS کی طاقت کا فائدہ اٹھاتے ہوئے اپنا منفرد سیکیورٹی پروٹوکول استعمال کرتا ہے۔ مزید برآں، توثیق کے بہت سے طریقوں کے لیے OpenVPN کی حمایت اسے ورسٹائل اور قابل موافق بناتی ہے، جو آلات اور آپریٹنگ سسٹم کی ایک وسیع رینج کو پورا کرتی ہے۔ اوپن سورس کی نوعیت کی وجہ سے، اوپن وی پی این کو عالمی برادری کی طرف سے وسیع جانچ سے فائدہ ہوتا ہے، جو اس کی سلامتی کو مسلسل تقویت دیتا ہے۔ کارکردگی، سیکورٹی اور مطابقت کے مضبوط توازن کے ساتھ، OpenVPN رازداری کے بارے میں شعور رکھنے والے افراد اور کاروباروں کے لیے یکساں انتخاب ہے۔ * تمام پلیٹ فارمز پر AmneziaVPN میں دستیاب ہے * موبائل آلات پر بجلی کی عام کھپت * صارف کو مختلف آپریٹنگ سسٹمز اور ڈیوائسز کے ساتھ کام کرنے کی ضرورت کے مطابق لچکدار تخصیص * DPI تجزیہ سسٹمز کے ذریعہ پہچانا جاتا ہے اور اس وجہ سے بلاک کرنے کا خطرہ ہوتا ہے * TCP اور UDP دونوں نیٹ ورک پر کام کر سکتا ہے۔ پروٹوکول</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the AmneziaVPN only on desktop platforms
@ -4583,6 +4445,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<translation type="vanished">ایک معاصر اشارہ جاتا ہے مقبول وی پی این پروٹوکول کا امنیزیہ ڈبلیو جی۔ امنیزیہ ڈبلیو جی وائر گارڈ کے بنیادی ڈھانچے پر مبنی ہے، جس نے اس کی آسانی سے معماری اور ایکسیلنٹ کارکردگی کی خصوصیات کو برقرار رکھا۔ جبکہ وائر گارڈ کو اس کی کارآمدی کے لئے جانا جاتا ہے، اس میں اپنے ممتاز پیکٹ سائنیچرز کی وجہ سے آسانی سے پہچان میں مسائل پیش آتے تھے۔ امنیزیہ ڈبلیو جی اس مسئلے کا حل پیش کرتا ہے بہتر اوبفسکیشن میتھڈس کے ذریعے، جس سے اس کی ٹریفک عام انٹرنیٹ ٹریفک کے ساتھ مل جل کر رہتی ہے۔ اس سے مطلب یہ ہے کہ امنیزیہ ڈبلیو جی نے اصل وائر گارڈ کی تیزی کارکردگی کو برقرار رکھا جبکہ اس میں ایک اضافی پردہ شامل کیا، جو اسے ایک تیز اور پرانے طریقہ سے وی پی این کنکشن کی درخواست کرنے والوں کے لئے ایک عمدہ چوئس بناتا ہے۔ * تمام پلیٹ فارمز پر دستیاب ہے * کم بجلی کی استعمال * کم سیٹنگز کی تعداد * ڈی پی آئی تجزیہ سسٹمز سے پہچانا نہیں جاتا، بند کرنے کے لئے مزید مضبوط ہے * یو ڈی پی نیٹ ورک پروٹوکول پر کام کرتا ہے۔</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
@ -4845,6 +4708,8 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>ShareConnectionDrawer</name>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save AmneziaVPN config</source>
<translation type="vanished">AmneziaVPN ترتیب کو محفوظ کریں</translation>
</message>
@ -4858,12 +4723,6 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<source>Copy</source>
<translation>کاپی</translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="191"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="201"/>
@ -4973,7 +4832,7 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation>ایم بی پی ایس</translation>
</message>

View file

@ -1514,10 +1514,6 @@ Already installed containers were found on the server. All installed containers
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettings.qml" line="107"/>
<source>About DefaultVPN</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>About AmneziaVPN</source>
<translation type="vanished"></translation>
</message>
@ -1796,14 +1792,10 @@ And if you don&apos;t like the app, all the more support it - the donation will
</context>
<context>
<name>PageSettingsApiNativeConfigs</name>
<message>
<source>Save AmneziaVPN config</source>
<translation type="obsolete"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="23"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
<source>Save AmneziaVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiNativeConfigs.qml" line="48"/>
@ -1974,13 +1966,11 @@ And if you don&apos;t like the app, all the more support it - the donation will
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="300"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="338"/>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="375"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="142"/>
<source>Cancel</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="304"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="105"/>
<source>Cannot reload API config during active connection</source>
<translation type="unfinished"></translation>
</message>
@ -2016,85 +2006,9 @@ And if you don&apos;t like the app, all the more support it - the donation will
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsApiServerInfo.qml" line="379"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="123"/>
<source>Cannot remove server during active connection</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="75"/>
<source>Amnezia Premium settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="85"/>
<source>Subscription expires on</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="101"/>
<source>Reset API configuration</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="116"/>
<source>Delete</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="139"/>
<source>Reset API configuration?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="140"/>
<source>This will reload the API configuration from the server</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="141"/>
<source>Reset</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="153"/>
<source>Are you sure you want to remove the server from the app?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="154"/>
<source>You won&apos;t be able to connect to it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="155"/>
<source>Yes, delete anyway</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="156"/>
<source>No, keep it</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="170"/>
<source>Amnezia Premium subscription has expired</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="171"/>
<source>Order a new subscription</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="172"/>
<source>Go to order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsApiServerInfo.qml" line="173"/>
<source>Close</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>PageSettingsApiSupport</name>
@ -2588,21 +2502,18 @@ And if you don&apos;t like the app, all the more support it - the donation will
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="186"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="215"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="89"/>
<source>Save</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="187"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="216"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="90"/>
<source>Logs files (*.log)</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="196"/>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="225"/>
<location filename="../ui/qml/DefaultVpn/Pages/PageSettingsLogging.qml" line="99"/>
<source>Logs file saved</source>
<translation></translation>
</message>
@ -2652,8 +2563,8 @@ And if you don&apos;t like the app, all the more support it - the donation will
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>DefaultVPN-service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>AmneziaVPN logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2667,13 +2578,13 @@ And if you don&apos;t like the app, all the more support it - the donation will
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="176"/>
<source>DefaultVPN logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="204"/>
<source>Service logs</source>
<location filename="../ui/qml/Pages2/PageSettingsLogging.qml" line="205"/>
<source>AmneziaVPN-service logs</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -2772,11 +2683,6 @@ And if you don&apos;t like the app, all the more support it - the donation will
<source>Do you want to remove the server from application?</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed DefaultVPN services will still remain on the server.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="159"/>
<source>Cannot remove server during active connection</source>
@ -2812,6 +2718,7 @@ And if you don&apos;t like the app, all the more support it - the donation will
<translation type="vanished">?</translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageSettingsServerData.qml" line="153"/>
<source>All installed AmneziaVPN services will still remain on the server.</source>
<translation type="vanished"> AmneziaVPN </translation>
</message>
@ -3310,25 +3217,6 @@ It&apos;s okay as long as it&apos;s from someone you trust.</source>
<source>I have nothing</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Key as text</source>
<translation type="vanished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="65"/>
<source>Adding a server to&#xa0;connect to</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="77"/>
<source>Key</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="88"/>
<source>VPN://</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/DefaultVpn/Pages/PageSetupWizardConfigSource.qml" line="97"/>
<source>Add</source>
@ -3702,6 +3590,7 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the AmneziaVPN app</source>
<translation type="vanished">AmneziaVPN </translation>
</message>
@ -3911,11 +3800,6 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<source>Config revoked</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="119"/>
<source>For the DefaultVPN app</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Pages2/PageShare.qml" line="297"/>
<source>User name</source>
@ -4649,45 +4533,18 @@ and will not be shared or disclosed to the Amnezia or any third parties</source>
<source>XRay with REALITY masks VPN traffic as web traffic and protects against active probing. It is highly resistant to detection and offers high speed.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
It uniquely identifies attackers during the TLS handshake phase, seamlessly operating as a proxy for legitimate clients while diverting attackers to genuine websites, thus presenting an authentic TLS certificate and data.
This advanced capability differentiates REALITY from similar technologies by its ability to disguise web traffic as coming from random, legitimate sites without the need for specific configurations.
Unlike older protocols such as VMess, VLESS, and the XTLS-Vision transport, REALITY&apos;s innovative &quot;friend or foe&quot; recognition at the TLS handshake enhances security. This makes REALITY a robust solution for maintaining internet freedom.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shadowsocks - masks VPN traffic, making it similar to normal web traffic, but it may be recognized by analysis systems in some highly censored regions.</source>
<translation type="vanished">Shadowsocks - VPN流量使.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="127"/>
<source>IKEv2/IPsec - Modern stable protocol, a bit faster than others, restores connection after signal loss. It has native support on the latest versions of Android and iOS.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="143"/>
<source>OpenVPN stands as one of the most popular and time-tested VPN protocols available.
It employs its unique security protocol, leveraging the strength of SSL/TLS for encryption and key exchange. Furthermore, OpenVPN&apos;s support for a multitude of authentication methods makes it versatile and adaptable, catering to a wide range of devices and operating systems. Due to its open-source nature, OpenVPN benefits from extensive scrutiny by the global community, which continually reinforces its security. With a strong balance of performance, security, and compatibility, OpenVPN remains a top choice for privacy-conscious individuals and businesses alike.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Normal power consumption on mobile devices
* Flexible customisation to suit user needs to work with different operating systems and devices
* Recognised by DPI systems and therefore susceptible to blocking
* Can operate over both TCP and UDP network protocols.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the DefaultVPN only on desktop platforms
* Configurable encryption protocol
* Detectable by some DPI systems
* Works over TCP network protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="168"/>
<source>This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against detection.
@ -4700,7 +4557,7 @@ Cloak can modify packet metadata so that it completely masks VPN traffic as norm
Immediately after receiving the first data packet, Cloak authenticates the incoming connection. If authentication fails, the plugin masks the server as a fake website and your VPN becomes invisible to analysis systems.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* High power consumption on mobile devices
* Flexible settings
* Not recognised by detection systems
@ -4714,7 +4571,7 @@ Immediately after receiving the first data packet, Cloak authenticates the incom
WireGuard provides stable VPN connection and high performance on all devices. It uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput.
WireGuard is very susceptible to detection and blocking due to its distinct packet signatures. Unlike some other VPN protocols that employ obfuscation techniques, the consistent signature patterns of WireGuard packets can be more easily identified and thus blocked by advanced Deep Packet Inspection (DPI) systems and other network monitoring tools.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Easily recognised by DPI analysis systems, susceptible to blocking
@ -4727,7 +4584,7 @@ WireGuard is very susceptible to detection and blocking due to its distinct pack
While WireGuard is known for its efficiency, it had issues with being easily detected due to its distinct packet signatures. AmneziaWG solves this problem by using better obfuscation methods, making its traffic blend in with regular internet traffic.
This means that AmneziaWG keeps the fast performance of the original while adding an extra layer of stealth, making it a great choice for those wanting a fast and discreet VPN connection.
* Available in the DefaultVPN across all platforms
* Available in the AmneziaVPN across all platforms
* Low power consumption
* Minimum number of settings
* Not recognised by traffic analysis systems
@ -4735,16 +4592,20 @@ This means that AmneziaWG keeps the fast performance of the original while addin
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
* Available in the DefaultVPN only on Windows
* Low power consumption, on mobile devices
* Minimal configuration
* Recognised by DPI analysis systems
* Works over UDP network protocol, ports 500 and 4500.</source>
<location filename="../containers/containers_defs.cpp" line="214"/>
<source>The REALITY protocol, a pioneering development by the creators of XRay, is designed to provide the highest level of protection against detection through its innovative approach to security and privacy.
It uniquely identifies attackers during the TLS handshake phase, seamlessly operating as a proxy for legitimate clients while diverting attackers to genuine websites, thus presenting an authentic TLS certificate and data.
This advanced capability differentiates REALITY from similar technologies by its ability to disguise web traffic as coming from random, legitimate sites without the need for specific configurations.
Unlike older protocols such as VMess, VLESS, and the XTLS-Vision transport, REALITY&apos;s innovative &quot;friend or foe&quot; recognition at the TLS handshake enhances security. This makes REALITY a robust solution for maintaining internet freedom.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Shadowsocks - masks VPN traffic, making it similar to normal web traffic, but it may be recognized by analysis systems in some highly censored regions.</source>
<translation type="vanished">Shadowsocks - VPN流量使.</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="127"/>
<source>IKEv2/IPsec - Modern stable protocol, a bit faster than others, restores connection after signal loss. It has native support on the latest versions of Android and iOS.</source>
<translation type="unfinished"></translation>
</message>
<message>
@ -4848,6 +4709,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for
* TCP UDP .</translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="159"/>
<source>Shadowsocks, inspired by the SOCKS5 protocol, safeguards the connection using the AEAD cipher. Although Shadowsocks is designed to be discreet and challenging to identify, it isn&apos;t identical to a standard HTTPS connection.However, certain traffic analysis systems might still detect a Shadowsocks connection. Due to limited support in Amnezia, it&apos;s recommended to use AmneziaWG protocol.
* Available in the AmneziaVPN only on desktop platforms
@ -4939,6 +4801,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin
* UDP </translation>
</message>
<message>
<location filename="../containers/containers_defs.cpp" line="225"/>
<source>IKEv2, paired with the IPSec encryption layer, stands as a modern and stable VPN protocol.
One of its distinguishing features is its ability to swiftly switch between networks and devices, making it particularly adaptive in dynamic network environments.
While it offers a blend of security, stability, and speed, it&apos;s essential to note that IKEv2 can be easily detected and is susceptible to blocking.
@ -5237,6 +5100,8 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>ShareConnectionDrawer</name>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save AmneziaVPN config</source>
<translation type="vanished"></translation>
</message>
@ -5250,12 +5115,6 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<source>Copy</source>
<translation></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="30"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="37"/>
<source>Save DefaultVPN config</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="191"/>
<location filename="../ui/qml/Components/ShareConnectionDrawer.qml" line="201"/>
@ -5369,7 +5228,7 @@ While it offers a blend of security, stability, and speed, it&apos;s essential t
<context>
<name>VpnConnection</name>
<message>
<location filename="../vpnconnection.cpp" line="415"/>
<location filename="../vpnconnection.cpp" line="421"/>
<source>Mbps</source>
<translation></translation>
</message>

View file

@ -310,7 +310,7 @@ bool ApiConfigsController::deactivateDevice()
auto serverConfigObject = m_serversModel->getServerConfig(serverIndex);
auto apiConfigObject = serverConfigObject.value(configKey::apiConfig).toObject();
if (apiUtils::getConfigType(serverConfigObject) != apiDefs::ConfigType::AmneziaPremiumV2) {
if (!apiUtils::isPremiumServer(serverConfigObject)) {
return true;
}
@ -345,7 +345,7 @@ bool ApiConfigsController::deactivateExternalDevice(const QString &uuid, const Q
auto serverConfigObject = m_serversModel->getServerConfig(serverIndex);
auto apiConfigObject = serverConfigObject.value(configKey::apiConfig).toObject();
if (apiUtils::getConfigType(serverConfigObject) != apiDefs::ConfigType::AmneziaPremiumV2) {
if (!apiUtils::isPremiumServer(serverConfigObject)) {
return true;
}

View file

@ -62,7 +62,7 @@ bool ApiSettingsController::getAccountInfo(bool reload)
QByteArray responseBody;
if (apiUtils::getConfigType(serverConfig) == apiDefs::ConfigType::AmneziaPremiumV2) {
if (apiUtils::isPremiumServer(serverConfig)) {
ErrorCode errorCode = gatewayController.post(QString("%1v1/account_info"), apiPayload, responseBody);
if (errorCode != ErrorCode::NoError) {
emit errorOccurred(errorCode);

View file

@ -48,15 +48,19 @@ QVariant ApiAccountInfoModel::data(const QModelIndex &index, int role) const
}
case ServiceDescriptionRole: {
if (m_accountInfoData.configType == apiDefs::ConfigType::AmneziaPremiumV2) {
return tr("Classic VPN for seamless work, downloading large files, and watching videos. Access all websites and online resources. "
return tr("Classic VPN for seamless work, downloading large files, and watching videos. Access all websites and online "
"resources. "
"Speeds up to 200 Mbps");
} else if (m_accountInfoData.configType == apiDefs::ConfigType::AmneziaFreeV3) {
return tr("Free unlimited access to a basic set of websites such as Facebook, Instagram, Twitter (X), Discord, Telegram and "
"more. YouTube is not included in the free plan.");
} else {
return "";
}
}
case IsComponentVisibleRole: {
return m_accountInfoData.configType == apiDefs::ConfigType::AmneziaPremiumV2;
return m_accountInfoData.configType == apiDefs::ConfigType::AmneziaPremiumV2
|| m_accountInfoData.configType == apiDefs::ConfigType::ExternalPremium;
}
case HasExpiredWorkerRole: {
for (int i = 0; i < m_issuedConfigsInfo.size(); i++) {
@ -93,6 +97,8 @@ void ApiAccountInfoModel::updateModel(const QJsonObject &accountInfoObject, cons
m_accountInfoData = accountInfoData;
m_supportInfo = accountInfoObject.value(apiDefs::key::supportInfo).toObject();
endResetModel();
}
@ -121,12 +127,27 @@ QJsonArray ApiAccountInfoModel::getIssuedConfigsInfo()
QString ApiAccountInfoModel::getTelegramBotLink()
{
if (m_accountInfoData.configType == apiDefs::ConfigType::AmneziaFreeV3) {
return tr("amnezia_free_support_bot");
} else if (m_accountInfoData.configType == apiDefs::ConfigType::AmneziaPremiumV2) {
return tr("amnezia_premium_support_bot");
}
return "";
return m_supportInfo.value(apiDefs::key::telegram).toString();
}
QString ApiAccountInfoModel::getEmailLink()
{
return m_supportInfo.value(apiDefs::key::email).toString();
}
QString ApiAccountInfoModel::getBillingEmailLink()
{
return m_supportInfo.value(apiDefs::key::billingEmail).toString();
}
QString ApiAccountInfoModel::getSiteLink()
{
return m_supportInfo.value(apiDefs::key::websiteName).toString();
}
QString ApiAccountInfoModel::getFullSiteLink()
{
return m_supportInfo.value(apiDefs::key::website).toString();
}
QHash<int, QByteArray> ApiAccountInfoModel::roleNames() const

View file

@ -33,7 +33,12 @@ public slots:
QJsonArray getAvailableCountries();
QJsonArray getIssuedConfigsInfo();
QString getTelegramBotLink();
QString getEmailLink();
QString getBillingEmailLink();
QString getSiteLink();
QString getFullSiteLink();
protected:
QHash<int, QByteArray> roleNames() const override;
@ -51,6 +56,7 @@ private:
AccountInfoData m_accountInfoData;
QJsonArray m_availableCountries;
QJsonArray m_issuedConfigsInfo;
QJsonObject m_supportInfo;
};
#endif // APIACCOUNTINFOMODEL_H

View file

@ -28,24 +28,24 @@ PageType {
id: techSupport
readonly property string title: qsTr("Email")
readonly property string description: qsTr("support@amnezia.org")
readonly property string link: "mailto:support@amnezia.org"
readonly property string description: ApiAccountInfoModel.getEmailLink()
readonly property string link: "mailto:" + ApiAccountInfoModel.getEmailLink()
}
QtObject {
id: paymentSupport
readonly property string title: qsTr("Email Billing & Orders")
readonly property string description: qsTr("help@vpnpay.io")
readonly property string link: "mailto:help@vpnpay.io"
readonly property string description: ApiAccountInfoModel.getBillingEmailLink()
readonly property string link: "mailto:" + ApiAccountInfoModel.getBillingEmailLink()
}
QtObject {
id: site
readonly property string title: qsTr("Website")
readonly property string description: qsTr("amnezia.org")
readonly property string link: LanguageModel.getCurrentSiteUrl()
readonly property string description: ApiAccountInfoModel.getSiteLink()
readonly property string link: ApiAccountInfoModel.getFullSiteLink()
}
property list<QtObject> supportModel: [

View file

@ -3,6 +3,8 @@ import QtQuick.Controls
import QtQuick.Layouts
import QtQuick.Dialogs
import QtCore
import PageEnum 1.0
import Style 1.0
@ -101,6 +103,34 @@ PageType {
}
}
LabelWithButtonType {
Layout.fillWidth: true
text: qsTr("Export client logs")
rightImageSource: "qrc:/images/controls/chevron-right.svg"
visible: PageController.isStartPageVisible()
clickedFunction: function() {
var fileName = ""
if (GC.isMobile()) {
fileName = "AmneziaVPN.log"
} else {
fileName = SystemController.getFileName(qsTr("Save"),
qsTr("Logs files (*.log)"),
StandardPaths.standardLocations(StandardPaths.DocumentsLocation) + "/AmneziaVPN",
true,
".log")
}
if (fileName !== "") {
PageController.showBusyIndicator(true)
SettingsController.exportLogsFile(fileName)
PageController.showBusyIndicator(false)
PageController.showNotificationMessage(qsTr("Logs file saved"))
}
}
}
LabelWithButtonType {
id: supportUuid
Layout.fillWidth: true

View file

@ -351,8 +351,10 @@ void VpnConnection::appendSplitTunnelingConfig()
sitesJsonArray.append(site);
}
// Allow traffic to Amnezia DNS
if (sitesRouteMode == Settings::VpnOnlyForwardSites) {
if (sitesJsonArray.isEmpty()) {
sitesRouteMode = Settings::RouteMode::VpnAllSites;
} else if (sitesRouteMode == Settings::VpnOnlyForwardSites) {
// Allow traffic to Amnezia DNS
sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns1).toString());
sitesJsonArray.append(m_vpnConfiguration.value(config_key::dns2).toString());
}
@ -371,6 +373,10 @@ void VpnConnection::appendSplitTunnelingConfig()
for (const auto &app : apps) {
appsJsonArray.append(app.appPath.isEmpty() ? app.packageName : app.appPath);
}
if (appsJsonArray.isEmpty()) {
appsRouteMode = Settings::AppsRouteMode::VpnAllApps;
}
}
m_vpnConfiguration.insert(config_key::appSplitTunnelType, appsRouteMode);

View file

@ -2,13 +2,33 @@
APP_NAME=DefaultVPN
PLIST_NAME=$APP_NAME.plist
LAUNCH_DAEMONS_PLIST_NAME=/Library/LaunchDaemons/$PLIST_NAME
LAUNCH_DAEMONS_PLIST_NAME="/Library/LaunchDaemons/$PLIST_NAME"
APP_PATH="/Applications/$APP_NAME.app"
USER_APP_SUPPORT="$HOME/Library/Application Support/$APP_NAME"
SYSTEM_APP_SUPPORT="/Library/Application Support/$APP_NAME"
LOG_FOLDER="/var/log/$APP_NAME"
CACHES_FOLDER="$HOME/Library/Caches/$APP_NAME"
if launchctl list "$APP_NAME-service" &> /dev/null; then
launchctl unload $LAUNCH_DAEMONS_PLIST_NAME
rm -f $LAUNCH_DAEMONS_PLIST_NAME
# Stop the running service if it exists
if pgrep -x "${APP_NAME}-service" > /dev/null; then
sudo killall -9 "${APP_NAME}-service"
fi
rm -rf "$HOME/Library/Application Support/$APP_NAME"
rm -rf /var/log/$APP_NAME
rm -rf /Applications/$APP_NAME.app/Contents
# Unload the service if loaded and remove its plist file regardless
if launchctl list "${APP_NAME}-service" &> /dev/null; then
sudo launchctl unload "$LAUNCH_DAEMONS_PLIST_NAME"
fi
sudo rm -f "$LAUNCH_DAEMONS_PLIST_NAME"
# Remove the entire application bundle
sudo rm -rf "$APP_PATH"
# Remove Application Support folders (user and system, if they exist)
rm -rf "$USER_APP_SUPPORT"
sudo rm -rf "$SYSTEM_APP_SUPPORT"
# Remove the log folder
sudo rm -rf "$LOG_FOLDER"
# Remove any caches left behind
rm -rf "$CACHES_FOLDER"

38
deploy/deploy_s3.sh Executable file
View file

@ -0,0 +1,38 @@
#!/bin/sh
set -e
VERSION=$1
if [[ $VERSION = '' ]]; then
echo '::error::VERSION does not set. Exiting with error...'
exit 1
fi
mkdir -p dist
cd dist
echo $VERSION >> VERSION
curl -s https://api.github.com/repos/amnezia-vpn/amnezia-client/releases/tags/$VERSION | jq -r .body | tr -d '\r' > CHANGELOG
if [[ $(cat CHANGELOG) = null ]]; then
echo '::error::Release does not exists. Exiting with error...'
exit 1
fi
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android8+_arm64-v8a.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android8+_armeabi-v7a.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android8+_x86.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android8+_x86_64.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android_7_arm64-v8a.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android_7_armeabi-v7a.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android_7_x86.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_android_7_x86_64.apk
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_linux.tar.zip
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_macos.dmg
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_macos_old.dmg
wget -q https://github.com/amnezia-vpn/amnezia-client/releases/download/${VERSION}/AmneziaVPN_${VERSION}_x64.exe
cd ../
rclone sync ./dist/ r2:/updates/