diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a34bfcf4..580e209e 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -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 diff --git a/.github/workflows/tag-upload.yml b/.github/workflows/tag-upload.yml index fb9116c6..9ac2da58 100644 --- a/.github/workflows/tag-upload.yml +++ b/.github/workflows/tag-upload.yml @@ -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 }} diff --git a/CMakeLists.txt b/CMakeLists.txt index 554eb935..ae583484 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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") diff --git a/client/core/api/apiDefs.h b/client/core/api/apiDefs.h index 41dd80ba..d1a92d9d 100644 --- a/client/core/api/apiDefs.h +++ b/client/core/api/apiDefs.h @@ -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 diff --git a/client/core/api/apiUtils.cpp b/client/core/api/apiUtils.cpp index 9f518b52..f5f575c5 100644 --- a/client/core/api/apiUtils.cpp +++ b/client/core/api/apiUtils.cpp @@ -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 &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 &ssl qDebug() << "something went wrong"; return amnezia::ErrorCode::InternalError; } + +bool apiUtils::isPremiumServer(const QJsonObject &serverConfigObject) +{ + static const QSet premiumTypes = { apiDefs::ConfigType::AmneziaPremiumV1, apiDefs::ConfigType::AmneziaPremiumV2, + apiDefs::ConfigType::ExternalPremium }; + return premiumTypes.contains(getConfigType(serverConfigObject)); +} diff --git a/client/core/api/apiUtils.h b/client/core/api/apiUtils.h index 82ac315b..47006e80 100644 --- a/client/core/api/apiUtils.h +++ b/client/core/api/apiUtils.h @@ -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); diff --git a/client/core/controllers/gatewayController.cpp b/client/core/controllers/gatewayController.cpp index be42ad4d..f8c23c1a 100644 --- a/client/core/controllers/gatewayController.cpp +++ b/client/core/controllers/gatewayController.cpp @@ -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(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)); diff --git a/client/translations/defaultvpn_ar_EG.ts b/client/translations/defaultvpn_ar_EG.ts index c839bdac..260d18e6 100644 --- a/client/translations/defaultvpn_ar_EG.ts +++ b/client/translations/defaultvpn_ar_EG.ts @@ -1452,10 +1452,6 @@ Already installed containers were found on the server. All installed containers - About DefaultVPN - - - About AmneziaVPN عن AmneziaVPN @@ -1728,14 +1724,10 @@ Already installed containers were found on the server. All installed containers PageSettingsApiNativeConfigs - - Save AmneziaVPN config - احفظ تكوين AmneziaVPN - - Save DefaultVPN config - + Save AmneziaVPN config + احفظ تكوين AmneziaVPN @@ -1930,13 +1922,11 @@ Already installed containers were found on the server. All installed containers - Cancel إلغاء - Cannot reload API config during active connection لا يمكن إعادة تحميل تكوين API اثناء تواجد اتصال نشط @@ -1972,85 +1962,9 @@ Already installed containers were found on the server. All installed containers - Cannot remove server during active connection لا يمكن إزالة الخادم أثناء الاتصال النشط - - - Amnezia Premium settings - - - - - Subscription expires on - - - - - Reset API configuration - - - - - Delete - - - - - Reset API configuration? - - - - - This will reload the API configuration from the server - - - - - Reset - - - - - Are you sure you want to remove the server from the app? - - - - - You won't be able to connect to it - - - - - Yes, delete anyway - - - - - No, keep it - - - - - Amnezia Premium subscription has expired - - - - - Order a new subscription - - - - - Go to order - - - - - Close - - PageSettingsApiSupport @@ -2516,21 +2430,18 @@ Already installed containers were found on the server. All installed containers - Save احفظ - Logs files (*.log) ملفات الولوج (*.log) - Logs file saved تم حفظ ملف السجل @@ -2580,8 +2491,8 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN-service logs + + AmneziaVPN logs @@ -2595,13 +2506,13 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN logs + + Service logs - - Service logs + + AmneziaVPN-service logs @@ -2688,11 +2599,6 @@ Already installed containers were found on the server. All installed containers Do you want to remove the server from application? هل تريد حذف الخادم من التطبيق؟ - - - All installed DefaultVPN services will still remain on the server. - - Cannot remove server during active connection @@ -2724,6 +2630,7 @@ Already installed containers were found on the server. All installed containers لا يمكن إعادة تعيين تكوين API أثناء الاتصال النشط + All installed AmneziaVPN services will still remain on the server. جميع خدمات AmneziaVPN المٌثبتة ستظل علي الخادم. @@ -3155,31 +3062,6 @@ Already installed containers were found on the server. All installed containers I have nothing ليس لدي اي شئ - - - Adding a server to connect to - - - - - Key - مفتاح - - - - VPN:// - - - - - Add - - - - - Unsupported config file - - PageSetupWizardCredentials @@ -3482,6 +3364,7 @@ Already installed containers were found on the server. All installed containers حفظ تكوين XRay + For the AmneziaVPN app AmneziaVPN من اجل تطبيق @@ -3643,11 +3526,6 @@ Already installed containers were found on the server. All installed containers Config revoked تم سحب وإبطال التكوين - - - For the DefaultVPN app - - User name @@ -4326,23 +4204,13 @@ Already installed containers were found on the server. All installed containers 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'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. - - - 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'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'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. - - 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. - - - 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'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. - - 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. + 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'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'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. + 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'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's essential t ShareConnectionDrawer + + Save AmneziaVPN config احفظ تكوين AmneziaVPN @@ -4876,12 +4735,6 @@ While it offers a blend of security, stability, and speed, it's essential t Copy انسخ - - - - Save DefaultVPN config - - @@ -4991,7 +4844,7 @@ While it offers a blend of security, stability, and speed, it's essential t VpnConnection - + Mbps diff --git a/client/translations/defaultvpn_fa_IR.ts b/client/translations/defaultvpn_fa_IR.ts index c4ccf81d..72f60252 100644 --- a/client/translations/defaultvpn_fa_IR.ts +++ b/client/translations/defaultvpn_fa_IR.ts @@ -1531,10 +1531,6 @@ Already installed containers were found on the server. All installed containers - About DefaultVPN - - - About AmneziaVPN درباره Amnezia @@ -1815,14 +1811,10 @@ Already installed containers were found on the server. All installed containers PageSettingsApiNativeConfigs - - Save AmneziaVPN config - ذخیره تنظیمات AmneziaVPN - - Save DefaultVPN config - + Save AmneziaVPN config + ذخیره تنظیمات AmneziaVPN @@ -2013,13 +2005,11 @@ Already installed containers were found on the server. All installed containers - Cancel لغو - Cannot reload API config during active connection نمی‌توان پیکربندی API را در حین اتصال فعال دوباره بارگذاری کرد. @@ -2055,85 +2045,9 @@ Already installed containers were found on the server. All installed containers - Cannot remove server during active connection نمی‌توان سرور را در حین اتصال فعال حذف کرد. - - - Amnezia Premium settings - - - - - Subscription expires on - - - - - Reset API configuration - - - - - Delete - - - - - Reset API configuration? - - - - - This will reload the API configuration from the server - - - - - Reset - - - - - Are you sure you want to remove the server from the app? - - - - - You won't be able to connect to it - - - - - Yes, delete anyway - - - - - No, keep it - - - - - Amnezia Premium subscription has expired - - - - - Order a new subscription - - - - - Go to order - - - - - Close - بستن - PageSettingsApiSupport @@ -2599,21 +2513,18 @@ Already installed containers were found on the server. All installed containers - Save ذخیره - Logs files (*.log) Logs files (*.log) - Logs file saved فایل گزارشات ذخیره شد @@ -2663,8 +2574,8 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN-service logs + + AmneziaVPN logs @@ -2678,13 +2589,13 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN logs + + Service logs - - Service logs + + AmneziaVPN-service logs @@ -2773,11 +2684,6 @@ Already installed containers were found on the server. All installed containers Do you want to remove the server from application? آیا می‌خواهید سرور را از برنامه حذف کنید؟ - - - All installed DefaultVPN services will still remain on the server. - - Cannot remove server during active connection @@ -2819,6 +2725,7 @@ Already installed containers were found on the server. All installed containers حذف کردن سرور از نرم‎افزار + All installed AmneziaVPN services will still remain on the server. تمام سرویس‎های نصب‎شده Amnezia همچنان بر روی سرور باقی خواهند ماند. @@ -3274,25 +3181,6 @@ It's okay as long as it's from someone you trust. I have nothing من هیچی ندارم - - Key as text - متن شامل کلید - - - - Adding a server to connect to - - - - - Key - کلید - - - - VPN:// - - Add @@ -3660,6 +3548,7 @@ It's okay as long as it's from someone you trust. ذخیره پیکربندی XRay + For the AmneziaVPN app برای نرم‎افزار AmneziaVPN @@ -3788,11 +3677,6 @@ It's okay as long as it's from someone you trust. Share VPN access without the ability to manage the server به اشتراک گذاشتن دسترسی وی‎پی‎ان بدون امکان مدیریت سرور - - - For the DefaultVPN app - - @@ -4554,6 +4438,7 @@ REALITY به‌طور منحصربه‌فردی سانسورچیان را در این قابلیت پیشرفته، REALITY را از فناوری‌های مشابه متمایز می‌کند، زیرا می‌تواند ترافیک وب را بدون نیاز به پیکربندی‌های خاص، به‌عنوان ترافیک از سایت‌های تصادفی و معتبر جا بزند. برخلاف پروتکل‌های قدیمی‌تر مانند VMess، VLESS و انتقال XTLS-Vision، تشخیص نوآورانه "دوست یا دشمن" REALITY در مرحله دست‌دهی TLS امنیت را افزایش داده و از شناسایی توسط سیستم‌های پیشرفته DPI که از تکنیک‌های پروب فعال استفاده می‌کنند، جلوگیری می‌کند. این ویژگی REALITY را به یک راه‌حل قوی برای حفظ آزادی اینترنت در محیط‌هایی با سانسور شدید تبدیل می‌کند. + 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'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's essential t 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'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. - - - 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'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'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. - - 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. - - - 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'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. - - 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 + 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'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's recommended to use AmneziaWG protocol. * Available in the AmneziaVPN only on desktop platforms @@ -5072,6 +4935,8 @@ For more detailed information, you can ShareConnectionDrawer + + Save AmneziaVPN config ذخیره تنظیمات AmneziaVPN @@ -5085,12 +4950,6 @@ For more detailed information, you can Copy کپی - - - - Save DefaultVPN config - - @@ -5200,7 +5059,7 @@ For more detailed information, you can VpnConnection - + Mbps Mbps diff --git a/client/translations/defaultvpn_hi_IN.ts b/client/translations/defaultvpn_hi_IN.ts index 28b04050..df7b8e1b 100644 --- a/client/translations/defaultvpn_hi_IN.ts +++ b/client/translations/defaultvpn_hi_IN.ts @@ -1460,10 +1460,6 @@ Already installed containers were found on the server. All installed containers - About DefaultVPN - - - About AmneziaVPN AmneziaVPN के बारे में @@ -1740,14 +1736,10 @@ Already installed containers were found on the server. All installed containers PageSettingsApiNativeConfigs - - Save AmneziaVPN config - AmneziaVPN कॉन्फ़िगरेशन सहेजें - - Save DefaultVPN config - + Save AmneziaVPN config + AmneziaVPN कॉन्फ़िगरेशन सहेजें @@ -1922,13 +1914,11 @@ Already installed containers were found on the server. All installed containers - Cancel रद्द करना - Cannot reload API config during active connection @@ -1964,85 +1954,9 @@ Already installed containers were found on the server. All installed containers - Cannot remove server during active connection सक्रिय कनेक्शन के दौरान सर्वर को हटाया नहीं जा सकता - - - Amnezia Premium settings - - - - - Subscription expires on - - - - - Reset API configuration - - - - - Delete - - - - - Reset API configuration? - - - - - This will reload the API configuration from the server - - - - - Reset - - - - - Are you sure you want to remove the server from the app? - - - - - You won't be able to connect to it - - - - - Yes, delete anyway - - - - - No, keep it - - - - - Amnezia Premium subscription has expired - - - - - Order a new subscription - - - - - Go to order - - - - - Close - बंद करना - PageSettingsApiSupport @@ -2516,21 +2430,18 @@ Already installed containers were found on the server. All installed containers - Save सहेजें - Logs files (*.log) लॉग फ़ाइलें (*.log) - Logs file saved लॉग फ़ाइल सहेजी गई @@ -2580,8 +2491,8 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN-service logs + + AmneziaVPN logs @@ -2595,13 +2506,13 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN logs + + Service logs - - Service logs + + AmneziaVPN-service logs @@ -2688,11 +2599,6 @@ Already installed containers were found on the server. All installed containers Do you want to remove the server from application? क्या आप एप्लिकेशन से सर्वर हटाना चाहते हैं? - - - All installed DefaultVPN services will still remain on the server. - - Cannot remove server during active connection @@ -2724,6 +2630,7 @@ Already installed containers were found on the server. All installed containers सक्रिय कनेक्शन के दौरान एपीआई कॉन्फिगरेशन को रीसेट नहीं किया जा सकता + All installed AmneziaVPN services will still remain on the server. सभी स्थापित AmneziaVPN सेवाएँ अभी भी सर्वर पर रहेंगी. @@ -3171,25 +3078,6 @@ Already installed containers were found on the server. All installed containers I have nothing मेरे पास कुछ नहीं है - - Key as text - पाठ के रूप में कुंजी - - - - Adding a server to connect to - - - - - Key - चाबी - - - - VPN:// - - Add @@ -3521,6 +3409,7 @@ Already installed containers were found on the server. All installed containers एक्सरे कॉन्फिगरेशन सहेजें + For the AmneziaVPN app AmneziaVPN ऐप के लिए @@ -3685,11 +3574,6 @@ Already installed containers were found on the server. All installed containers Config revoked कॉन्फ़िगरेशन निरस्त कर दिया गया - - - For the DefaultVPN app - - OpenVPN native format @@ -4374,23 +4258,13 @@ Already installed containers were found on the server. All installed containers 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'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. - - - 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'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'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. - - 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. - - - 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'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. - - 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 * टीसीपी और यूडीपी दोनों नेटवर्क प्रोटोकॉल पर काम कर सकता है।. + 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'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'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 की अभिनव "दोस्त या दुश्मन" पहचान सुरक्षा को बढ़ाती है और सक्रिय जांच तकनीकों को नियोजित करने वाले परिष्कृत DPI सिस्टम द्वारा पहचान को रोकती है। यह REALITY को कठोर सेंसरशिप वाले वातावरण में इंटरनेट की स्वतंत्रता बनाए रखने के लिए एक मजबूत समाधान बनाता है. + 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'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's essential t ShareConnectionDrawer + + Save AmneziaVPN config AmneziaVPN कॉन्फ़िगरेशन सहेजें @@ -4925,12 +4790,6 @@ While it offers a blend of security, stability, and speed, it's essential t Copy कॉपी - - - - Save DefaultVPN config - - @@ -5040,7 +4899,7 @@ While it offers a blend of security, stability, and speed, it's essential t VpnConnection - + Mbps diff --git a/client/translations/defaultvpn_my_MM.ts b/client/translations/defaultvpn_my_MM.ts index d9a517d0..8aa10a3a 100644 --- a/client/translations/defaultvpn_my_MM.ts +++ b/client/translations/defaultvpn_my_MM.ts @@ -1460,10 +1460,6 @@ Already installed containers were found on the server. All installed containers - About DefaultVPN - - - About AmneziaVPN AmneziaVPN အကြောင်း @@ -1740,14 +1736,10 @@ Already installed containers were found on the server. All installed containers PageSettingsApiNativeConfigs - - Save AmneziaVPN config - AmneziaWG config ကိုသိမ်းဆည်းမည် - - Save DefaultVPN config - + Save AmneziaVPN config + AmneziaWG config ကိုသိမ်းဆည်းမည် @@ -1942,13 +1934,11 @@ Already installed containers were found on the server. All installed containers - Cancel ပယ်ဖျက်မည် - Cannot reload API config during active connection ချိတ်ဆက်မှုရှိနေချိန်အတွင်း API config ကို ပြန်လည်စတင်၍မရပါ @@ -1984,85 +1974,9 @@ Already installed containers were found on the server. All installed containers - Cannot remove server during active connection ချိတ်ဆက်မှုရှိနေချိန်အတွင်း ဆာဗာကို ဖယ်ရှား၍မရပါ - - - Amnezia Premium settings - - - - - Subscription expires on - - - - - Reset API configuration - - - - - Delete - - - - - Reset API configuration? - - - - - This will reload the API configuration from the server - - - - - Reset - - - - - Are you sure you want to remove the server from the app? - - - - - You won't be able to connect to it - - - - - Yes, delete anyway - - - - - No, keep it - - - - - Amnezia Premium subscription has expired - - - - - Order a new subscription - - - - - Go to order - - - - - Close - ပိတ်မည် - PageSettingsApiSupport @@ -2528,14 +2442,12 @@ Already installed containers were found on the server. All installed containers - Save သိမ်းဆည်းမည် - Logs files (*.log) မှတ်တမ်းဖိုင်များ (*.log) မှတ်တမ်းဖိုင်များ (*.log) @@ -2543,7 +2455,6 @@ Already installed containers were found on the server. All installed containers - Logs file saved မှတ်တမ်းဖိုင်များသိမ်းဆည်းပြီးပါပြီ @@ -2593,8 +2504,8 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN-service logs + + AmneziaVPN logs @@ -2608,13 +2519,13 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN logs + + Service logs - - Service logs + + AmneziaVPN-service logs @@ -2691,11 +2602,6 @@ Already installed containers were found on the server. All installed containers Do you want to remove the server from application? ဆာဗာကို အပလီကေးရှင်းမှဖယ်ရှားချင်ပါသလား? - - - All installed DefaultVPN services will still remain on the server. - - Cannot remove server during active connection @@ -2737,6 +2643,7 @@ Already installed containers were found on the server. All installed containers ဆာဗာကို အပလီကေးရှင်းမှဖယ်ရှားမည် + All installed AmneziaVPN services will still remain on the server. ထည့်သွင်းထားသော AmneziaVPN ဝန်ဆောင်မှုများအားလုံးသည် ဆာဗာပေါ်တွင် ဆက်လက်ရှိနေမည်ဖြစ်သည်. @@ -3168,31 +3075,6 @@ Already installed containers were found on the server. All installed containers I have nothing ကျွန်ုပ်တွင်ဘာမှမရှိပါ - - - Adding a server to connect to - - - - - Key - Key - - - - VPN:// - - - - - Add - - - - - Unsupported config file - - PageSetupWizardCredentials @@ -3530,6 +3412,7 @@ Already installed containers were found on the server. All installed containers XRay config ကိုသိမ်းဆည်းမည် + For the AmneziaVPN app AmneziaVPN အက်ပ်အတွက် @@ -3654,11 +3537,6 @@ Already installed containers were found on the server. All installed containers Share VPN access without the ability to manage the server ဆာဗာကို စီမံခန့်ခွဲနိုင်စွမ်းမပါရှိဘဲ VPN အသုံးပြုခွင့်ကို မျှဝေမည် - - - For the DefaultVPN app - - @@ -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's innovative "friend or foe" 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. + 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's essential to note that IKEv2 can be easily detected and is susceptible to blocking. @@ -4442,23 +4321,13 @@ IKEv2 သည် လုံခြုံရေး၊ တည်ငြိမ်မှ 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'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. - - - 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'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'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. - - 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. - - - 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'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. - - 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 ကွန်ရက် ပရိုတိုကော နှစ်ခုလုံးတွင် လည်ပတ်နိုင်သည်။. + 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'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's recommended to use AmneziaWG protocol. * Available in the AmneziaVPN only on desktop platforms @@ -4873,6 +4730,8 @@ For more detailed information, you can ShareConnectionDrawer + + Save AmneziaVPN config AmneziaWG config ကိုသိမ်းဆည်းမည် @@ -4886,12 +4745,6 @@ For more detailed information, you can Copy ကူးယူမည် - - - - Save DefaultVPN config - - @@ -5001,7 +4854,7 @@ For more detailed information, you can VpnConnection - + Mbps Mbps diff --git a/client/translations/defaultvpn_ru_RU.ts b/client/translations/defaultvpn_ru_RU.ts index 05352ec7..84255853 100644 --- a/client/translations/defaultvpn_ru_RU.ts +++ b/client/translations/defaultvpn_ru_RU.ts @@ -10,7 +10,7 @@ Amnezia Premium - for access to all websites and online resources - + Amnezia Premium - доступ ко всем сайтам и онлайн ресурсам @@ -110,12 +110,12 @@ 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. - + Amnezia Premium - это классический VPN для комфортной работы, загрузки больших файлов и просмотра видео. Доступ ко всем сайтам и онлайн ресурсам. Скорость - до %1 Мбит/с. Amnezia Premium is classic VPN for for seamless work, downloading large files, and watching videos. Access all websites and online resources. - + Amnezia Premium - это классический VPN для комфортной работы, загрузки больших файлов и просмотра видео. Доступ ко всем сайтам и онлайн ресурсам. @@ -372,12 +372,12 @@ Can't be disabled for current server 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. - + Эта конфигурация содержит настройки OpenVPN. Конфигурации OpenVPN могут содержать вредоносные скрипты, поэтому добавляйте их только в том случае, если полностью доверяете источнику этого файла. <br>In the imported configuration, potentially dangerous lines were found: - + <br>В импортированной конфигурации обнаружены потенциально опасные строки: In the imported configuration, potentially dangerous lines were found: @@ -600,12 +600,12 @@ Already installed containers were found on the server. All installed containers Gateway endpoint - + Gateway endpoint Dev gateway environment - + Dev gateway environment @@ -755,47 +755,47 @@ Already installed containers were found on the server. All installed containers Jc - Junk packet count - + Jc - Junk packet count Jmin - Junk packet minimum size - + Jmin - Junk packet minimum size Jmax - Junk packet maximum size - + Jmax - Junk packet maximum size S1 - Init packet junk size - + S1 - Init packet junk size S2 - Response packet junk size - + S2 - Response packet junk size H1 - Init packet magic header - + H1 - Init packet magic header H2 - Response packet magic header - + H2 - Response packet magic header H4 - Transport packet magic header - + H4 - Transport packet magic header H3 - Underload packet magic header - + H3 - Underload packet magic header @@ -1569,7 +1569,7 @@ Already installed containers were found on the server. All installed containers Dev console - + Dev console @@ -1713,7 +1713,7 @@ Already installed containers were found on the server. All installed containers Active Devices - + Активные устройства @@ -1866,15 +1866,10 @@ Already installed containers were found on the server. All installed containers Configuration files Файл конфигурации - - - Save DefaultVPN config - - Configuration Files - + Файлы конфигурации @@ -2020,37 +2015,37 @@ Already installed containers were found on the server. All installed containers Subscription Status - + Статус подписки Valid Until - + Действительна до Active Connections - + Активные соединения Subscription Key - + Ключ для подключения Save VPN key as a file - + Сохранить VPN-ключ в файл Configuration Files - + Файлы конфигурации Active Devices - + Активные устройства @@ -2224,7 +2219,7 @@ Already installed containers were found on the server. All installed containers Email - + Email @@ -2581,7 +2576,7 @@ Already installed containers were found on the server. All installed containers Cannot change KillSwitch settings during active connection - + Невозможно изменить настройки KillSwitch во время активного подключения Cannot change killSwitch settings during active connection @@ -2763,12 +2758,12 @@ Already installed containers were found on the server. All installed containers Client logs - + Логи приложения - - DefaultVPN-service logs - + + AmneziaVPN logs + AmneziaVPN logs @@ -2780,15 +2775,15 @@ Already installed containers were found on the server. All installed containers Export logs Сохранить логи - - - DefaultVPN logs - - Service logs - + Логи службы + + + + AmneziaVPN-service logs + AmneziaVPN-service logs @@ -3317,7 +3312,7 @@ It's okay as long as it's from someone you trust. Support tag - + Support tag @@ -3934,7 +3929,7 @@ and will not be shared or disclosed to the Amnezia or any third parties Allowed IPs: %1 - + Разрешенные подсети: %1 Creation date: @@ -4389,22 +4384,22 @@ and will not be shared or disclosed to the Amnezia or any third parties The sudo package is not pre-installed on the server - + Пакет sudo не установлен на сервере по умолчанию The server user's home directory is not accessible - + Домашний каталог пользователя сервера недоступен Action not allowed in sudoers - + Действие не разрешено в sudoers The user's password is required - + Требуется пароль пользователя @@ -4603,7 +4598,7 @@ and will not be shared or disclosed to the Amnezia or any third parties Missing AGW public key - + Отсутствует публичный ключ AGW @@ -4613,7 +4608,7 @@ and will not be shared or disclosed to the Amnezia or any third parties Missing list of available services - + Отсутствует список доступных сервисов @@ -5571,7 +5566,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin VpnConnection - + Mbps Мбит/с diff --git a/client/translations/defaultvpn_uk_UA.ts b/client/translations/defaultvpn_uk_UA.ts index 7d7d6ab1..3edf0b88 100644 --- a/client/translations/defaultvpn_uk_UA.ts +++ b/client/translations/defaultvpn_uk_UA.ts @@ -1601,10 +1601,6 @@ Already installed containers were found on the server. All installed containers - About DefaultVPN - - - About AmneziaVPN Про AmneziaVPN @@ -1909,14 +1905,10 @@ Already installed containers were found on the server. All installed containers PageSettingsApiNativeConfigs - - Save AmneziaVPN config - Зберегти config AmneziaVPN - - Save DefaultVPN config - + Save AmneziaVPN config + Зберегти config AmneziaVPN @@ -2107,13 +2099,11 @@ Already installed containers were found on the server. All installed containers - Cancel Відмінити - Cannot reload API config during active connection Неможливо перезавантажити конфігурацію API під час активного підключення @@ -2149,85 +2139,9 @@ Already installed containers were found on the server. All installed containers - Cannot remove server during active connection Неможливо видалити сервер під час активного підключення - - - Amnezia Premium settings - - - - - Subscription expires on - - - - - Reset API configuration - - - - - Delete - - - - - Reset API configuration? - - - - - This will reload the API configuration from the server - - - - - Reset - - - - - Are you sure you want to remove the server from the app? - - - - - You won't be able to connect to it - - - - - Yes, delete anyway - - - - - No, keep it - - - - - Amnezia Premium subscription has expired - - - - - Order a new subscription - - - - - Go to order - - - - - Close - Закрити - PageSettingsApiSupport @@ -2717,21 +2631,18 @@ Already installed containers were found on the server. All installed containers - Save Зберегти - Logs files (*.log) Logs files (*.log) - Logs file saved Файл з логами збережено @@ -2781,8 +2692,8 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN-service logs + + AmneziaVPN logs @@ -2796,13 +2707,13 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN logs + + Service logs - - Service logs + + AmneziaVPN-service logs @@ -2896,11 +2807,6 @@ Already installed containers were found on the server. All installed containers Do you want to remove the server from application? Ви впевнені, що хочете видалити сервер із застосунку? - - - All installed DefaultVPN services will still remain on the server. - - Cannot remove server during active connection @@ -2954,6 +2860,7 @@ Already installed containers were found on the server. All installed containers Видалити сервер із застосунку? + All installed AmneziaVPN services will still remain on the server. Всі встановлені сервіси та протоколи Amnezia все ще залишаться на сервері. @@ -3432,25 +3339,6 @@ It's okay as long as it's from someone you trust. I have nothing У мене нічого нема - - Key as text - Ключ у вигляді тексту - - - - Adding a server to connect to - - - - - Key - Ключ - - - - VPN:// - - Add @@ -3884,14 +3772,10 @@ and will not be shared or disclosed to the Amnezia or any third parties Зберегти конфігурацію XRay + For the AmneziaVPN app Для AmneziaVPN - - - For the DefaultVPN app - - AmneziaWG native format @@ -4781,6 +4665,7 @@ REALITY унікально ідентифікує цензорів під час На відміну від старіших протоколів, таких як VMess, VLESS та XTLS-Vision transport, продвиуте розпізнавання "Свій — Чужий" REALITY під час TLS-handshake підвищує безпеку та протидіє виявленню складними системами DPI, що використовують активні техніки аналізу. Це робить REALITY надійним рішенням для підтримання інтернет-свободи в середовищах з жорсткою цензурою. + 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'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's essential t 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'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. - - - 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'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'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. - - - - - 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. - - - - - - 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. - - - - - 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. - - WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship. WireGuard - новий популярний VPN-протокол, з високою швидістю та низьким енергоспоживанням. Для регіонів з низьким рівнем цензури. @@ -4964,6 +4793,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * Може працювати за протоколом TCP і UDP. + 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'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'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. + + + 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. + + + + + + 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. + + + + + 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. + + 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's innovative "friend or foe" recognition at the TLS handshake enhances security. This makes REALITY a robust solution for maintaining internet freedom. - - - 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'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. - - After installation, Amnezia will create a @@ -5364,6 +5227,8 @@ This means that AmneziaWG keeps the fast performance of the original while addin ShareConnectionDrawer + + Save AmneziaVPN config Зберегти config AmneziaVPN @@ -5377,12 +5242,6 @@ This means that AmneziaWG keeps the fast performance of the original while addin Copy Скопіювати - - - - Save DefaultVPN config - - @@ -5492,7 +5351,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin VpnConnection - + Mbps Mbps diff --git a/client/translations/defaultvpn_ur_PK.ts b/client/translations/defaultvpn_ur_PK.ts index 46e331b6..bd18cbca 100644 --- a/client/translations/defaultvpn_ur_PK.ts +++ b/client/translations/defaultvpn_ur_PK.ts @@ -1464,10 +1464,6 @@ Already installed containers were found on the server. All installed containers - About DefaultVPN - - - About AmneziaVPN AmneziaVPN کے بارے میں @@ -1740,14 +1736,10 @@ Already installed containers were found on the server. All installed containers PageSettingsApiNativeConfigs - - Save AmneziaVPN config - AmneziaVPN ترتیب کو محفوظ کریں - - Save DefaultVPN config - + Save AmneziaVPN config + AmneziaVPN ترتیب کو محفوظ کریں @@ -1918,13 +1910,11 @@ Already installed containers were found on the server. All installed containers - Cancel - Cannot reload API config during active connection @@ -1960,85 +1950,9 @@ Already installed containers were found on the server. All installed containers - Cannot remove server during active connection چالو کنکشن کے دوران سرور کو ہٹایا نہیں جا سکتا - - - Amnezia Premium settings - - - - - Subscription expires on - - - - - Reset API configuration - - - - - Delete - - - - - Reset API configuration? - - - - - This will reload the API configuration from the server - - - - - Reset - - - - - Are you sure you want to remove the server from the app? - - - - - You won't be able to connect to it - - - - - Yes, delete anyway - - - - - No, keep it - - - - - Amnezia Premium subscription has expired - - - - - Order a new subscription - - - - - Go to order - - - - - Close - بند - PageSettingsApiSupport @@ -2508,21 +2422,18 @@ Already installed containers were found on the server. All installed containers - Save محفوظ - Logs files (*.log) لاگ فائلیں (*.log) - Logs file saved لاگ فائل محفوظ ہوگئی @@ -2572,8 +2483,8 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN-service logs + + AmneziaVPN logs @@ -2587,13 +2498,13 @@ Already installed containers were found on the server. All installed containers - - DefaultVPN logs + + Service logs - - Service logs + + AmneziaVPN-service logs @@ -2680,11 +2591,6 @@ Already installed containers were found on the server. All installed containers Do you want to remove the server from application? کیا آپ ایپلیکیشن سے سرور کو ہٹانا چاہتے ہیں؟ - - - All installed DefaultVPN services will still remain on the server. - - Cannot remove server during active connection @@ -2716,6 +2622,7 @@ Already installed containers were found on the server. All installed containers چالو کنکشن کے دوران API ترتیبات کو دوبارہ ترتیب نہیں دی جا سکتی + All installed AmneziaVPN services will still remain on the server. سرور پر تمام انسٹال شدہ AmneziaVPN سروسز محفوظ رہیں گے. @@ -3163,25 +3070,6 @@ Already installed containers were found on the server. All installed containers I have nothing میرے پاس کچھ نہیں ہے - - Key as text - متن کے طور پر کلید - - - - Adding a server to connect to - - - - - Key - کلید - - - - VPN:// - - Add @@ -3513,6 +3401,7 @@ Already installed containers were found on the server. All installed containers "XRay کنفیگ کو محفوظ کریں + For the AmneziaVPN app AmneziaVPN ایپ کے لئے @@ -3677,11 +3566,6 @@ Already installed containers were found on the server. All installed containers Config revoked کنفیگ منسوخ - - - For the DefaultVPN app - - OpenVPN native format @@ -4365,23 +4249,13 @@ Already installed containers were found on the server. All installed containers 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'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. - - - 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'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'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. - - 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. - - - 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'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. - - 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 OpenVPN دستیاب سب سے زیادہ مقبول اور وقتی آزمائشی VPN پروٹوکولز میں سے ایک ہے۔ یہ انکرپشن اور کلیدی تبادلے کے لیے SSL/TLS کی طاقت کا فائدہ اٹھاتے ہوئے اپنا منفرد سیکیورٹی پروٹوکول استعمال کرتا ہے۔ مزید برآں، توثیق کے بہت سے طریقوں کے لیے OpenVPN کی حمایت اسے ورسٹائل اور قابل موافق بناتی ہے، جو آلات اور آپریٹنگ سسٹم کی ایک وسیع رینج کو پورا کرتی ہے۔ اوپن سورس کی نوعیت کی وجہ سے، اوپن وی پی این کو عالمی برادری کی طرف سے وسیع جانچ سے فائدہ ہوتا ہے، جو اس کی سلامتی کو مسلسل تقویت دیتا ہے۔ کارکردگی، سیکورٹی اور مطابقت کے مضبوط توازن کے ساتھ، OpenVPN رازداری کے بارے میں شعور رکھنے والے افراد اور کاروباروں کے لیے یکساں انتخاب ہے۔ * تمام پلیٹ فارمز پر AmneziaVPN میں دستیاب ہے * موبائل آلات پر بجلی کی عام کھپت * صارف کو مختلف آپریٹنگ سسٹمز اور ڈیوائسز کے ساتھ کام کرنے کی ضرورت کے مطابق لچکدار تخصیص * DPI تجزیہ سسٹمز کے ذریعہ پہچانا جاتا ہے اور اس وجہ سے بلاک کرنے کا خطرہ ہوتا ہے * TCP اور UDP دونوں نیٹ ورک پر کام کر سکتا ہے۔ پروٹوکول + 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'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'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 ایک معاصر اشارہ جاتا ہے مقبول وی پی این پروٹوکول کا امنیزیہ ڈبلیو جی۔ امنیزیہ ڈبلیو جی وائر گارڈ کے بنیادی ڈھانچے پر مبنی ہے، جس نے اس کی آسانی سے معماری اور ایکسیلنٹ کارکردگی کی خصوصیات کو برقرار رکھا۔ جبکہ وائر گارڈ کو اس کی کارآمدی کے لئے جانا جاتا ہے، اس میں اپنے ممتاز پیکٹ سائنیچرز کی وجہ سے آسانی سے پہچان میں مسائل پیش آتے تھے۔ امنیزیہ ڈبلیو جی اس مسئلے کا حل پیش کرتا ہے بہتر اوبفسکیشن میتھڈس کے ذریعے، جس سے اس کی ٹریفک عام انٹرنیٹ ٹریفک کے ساتھ مل جل کر رہتی ہے۔ اس سے مطلب یہ ہے کہ امنیزیہ ڈبلیو جی نے اصل وائر گارڈ کی تیزی کارکردگی کو برقرار رکھا جبکہ اس میں ایک اضافی پردہ شامل کیا، جو اسے ایک تیز اور پرانے طریقہ سے وی پی این کنکشن کی درخواست کرنے والوں کے لئے ایک عمدہ چوئس بناتا ہے۔ * تمام پلیٹ فارمز پر دستیاب ہے * کم بجلی کی استعمال * کم سیٹنگز کی تعداد * ڈی پی آئی تجزیہ سسٹمز سے پہچانا نہیں جاتا، بند کرنے کے لئے مزید مضبوط ہے * یو ڈی پی نیٹ ورک پروٹوکول پر کام کرتا ہے۔ + 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'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's essential t ShareConnectionDrawer + + Save AmneziaVPN config AmneziaVPN ترتیب کو محفوظ کریں @@ -4858,12 +4723,6 @@ While it offers a blend of security, stability, and speed, it's essential t Copy کاپی - - - - Save DefaultVPN config - - @@ -4973,7 +4832,7 @@ While it offers a blend of security, stability, and speed, it's essential t VpnConnection - + Mbps ایم بی پی ایس diff --git a/client/translations/defaultvpn_zh_CN.ts b/client/translations/defaultvpn_zh_CN.ts index dea15b0d..2b7a1da7 100644 --- a/client/translations/defaultvpn_zh_CN.ts +++ b/client/translations/defaultvpn_zh_CN.ts @@ -1514,10 +1514,6 @@ Already installed containers were found on the server. All installed containers - About DefaultVPN - - - About AmneziaVPN 关于 @@ -1796,14 +1792,10 @@ And if you don't like the app, all the more support it - the donation will PageSettingsApiNativeConfigs - - Save AmneziaVPN config - 保存配置 - - Save DefaultVPN config - + Save AmneziaVPN config + 保存配置 @@ -1974,13 +1966,11 @@ And if you don't like the app, all the more support it - the donation will - Cancel 取消 - Cannot reload API config during active connection @@ -2016,85 +2006,9 @@ And if you don't like the app, all the more support it - the donation will - Cannot remove server during active connection - - - Amnezia Premium settings - - - - - Subscription expires on - - - - - Reset API configuration - - - - - Delete - - - - - Reset API configuration? - - - - - This will reload the API configuration from the server - - - - - Reset - - - - - Are you sure you want to remove the server from the app? - - - - - You won't be able to connect to it - - - - - Yes, delete anyway - - - - - No, keep it - - - - - Amnezia Premium subscription has expired - - - - - Order a new subscription - - - - - Go to order - - - - - Close - 关闭 - PageSettingsApiSupport @@ -2588,21 +2502,18 @@ And if you don't like the app, all the more support it - the donation will - Save 保存 - Logs files (*.log) - Logs file saved 日志文件已保存 @@ -2652,8 +2563,8 @@ And if you don't like the app, all the more support it - the donation will - - DefaultVPN-service logs + + AmneziaVPN logs @@ -2667,13 +2578,13 @@ And if you don't like the app, all the more support it - the donation will - - DefaultVPN logs + + Service logs - - Service logs + + AmneziaVPN-service logs @@ -2772,11 +2683,6 @@ And if you don't like the app, all the more support it - the donation will Do you want to remove the server from application? 您想要从应用程序中移除服务器吗? - - - All installed DefaultVPN services will still remain on the server. - - Cannot remove server during active connection @@ -2812,6 +2718,7 @@ And if you don't like the app, all the more support it - the donation will 移除本地服务器信息? + All installed AmneziaVPN services will still remain on the server. 所有已安装的 AmneziaVPN 服务仍将保留在服务器上。 @@ -3310,25 +3217,6 @@ It's okay as long as it's from someone you trust. I have nothing 我没有 - - Key as text - 授权码文本 - - - - Adding a server to connect to - - - - - Key - 授权码 - - - - VPN:// - - Add @@ -3702,6 +3590,7 @@ and will not be shared or disclosed to the Amnezia or any third parties + For the AmneziaVPN app AmneziaVPN 应用 @@ -3911,11 +3800,6 @@ and will not be shared or disclosed to the Amnezia or any third parties Config revoked 配置已撤销 - - - For the DefaultVPN app - - User name @@ -4649,45 +4533,18 @@ and will not be shared or disclosed to the Amnezia or any third parties XRay with REALITY masks VPN traffic as web traffic and protects against active probing. It is highly resistant to detection and offers high speed. - - - 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's innovative "friend or foe" recognition at the TLS handshake enhances security. This makes REALITY a robust solution for maintaining internet freedom. - - - - Shadowsocks - masks VPN traffic, making it similar to normal web traffic, but it may be recognized by analysis systems in some highly censored regions. - Shadowsocks - 掩盖VPN流量,使其类似于正常的网络流量,但在一些高度审查的地区可能会被分析系统识别. - - - - 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. - - 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'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. - - - 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'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'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. - - 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 - - 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'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. + + 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's innovative "friend or foe" recognition at the TLS handshake enhances security. This makes REALITY a robust solution for maintaining internet freedom. + + + + Shadowsocks - masks VPN traffic, making it similar to normal web traffic, but it may be recognized by analysis systems in some highly censored regions. + Shadowsocks - 掩盖VPN流量,使其类似于正常的网络流量,但在一些高度审查的地区可能会被分析系统识别. + + + + 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. @@ -4848,6 +4709,7 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * 可以通过 TCP 和 UDP 网络协议运行. + 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'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'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 网络协议工作。 + 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'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's essential t ShareConnectionDrawer + + Save AmneziaVPN config 保存配置 @@ -5250,12 +5115,6 @@ While it offers a blend of security, stability, and speed, it's essential t Copy 拷贝 - - - - Save DefaultVPN config - - @@ -5369,7 +5228,7 @@ While it offers a blend of security, stability, and speed, it's essential t VpnConnection - + Mbps diff --git a/client/ui/controllers/api/apiConfigsController.cpp b/client/ui/controllers/api/apiConfigsController.cpp index 00e6ae3d..74e22a85 100644 --- a/client/ui/controllers/api/apiConfigsController.cpp +++ b/client/ui/controllers/api/apiConfigsController.cpp @@ -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; } diff --git a/client/ui/controllers/api/apiSettingsController.cpp b/client/ui/controllers/api/apiSettingsController.cpp index 737bfd1a..8927312d 100644 --- a/client/ui/controllers/api/apiSettingsController.cpp +++ b/client/ui/controllers/api/apiSettingsController.cpp @@ -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); diff --git a/client/ui/models/api/apiAccountInfoModel.cpp b/client/ui/models/api/apiAccountInfoModel.cpp index 191582a5..fdd4e2ca 100644 --- a/client/ui/models/api/apiAccountInfoModel.cpp +++ b/client/ui/models/api/apiAccountInfoModel.cpp @@ -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 ApiAccountInfoModel::roleNames() const diff --git a/client/ui/models/api/apiAccountInfoModel.h b/client/ui/models/api/apiAccountInfoModel.h index 44eb7ee6..ead92488 100644 --- a/client/ui/models/api/apiAccountInfoModel.h +++ b/client/ui/models/api/apiAccountInfoModel.h @@ -33,7 +33,12 @@ public slots: QJsonArray getAvailableCountries(); QJsonArray getIssuedConfigsInfo(); + QString getTelegramBotLink(); + QString getEmailLink(); + QString getBillingEmailLink(); + QString getSiteLink(); + QString getFullSiteLink(); protected: QHash roleNames() const override; @@ -51,6 +56,7 @@ private: AccountInfoData m_accountInfoData; QJsonArray m_availableCountries; QJsonArray m_issuedConfigsInfo; + QJsonObject m_supportInfo; }; #endif // APIACCOUNTINFOMODEL_H diff --git a/client/ui/qml/DefaultVpn/Controls/InputType.qml b/client/ui/qml/DefaultVpn/Controls/InputType.qml index 5670a7db..46fb0048 100644 --- a/client/ui/qml/DefaultVpn/Controls/InputType.qml +++ b/client/ui/qml/DefaultVpn/Controls/InputType.qml @@ -14,7 +14,7 @@ TextField { property string defaultBackgroundColor: Style.color.white property string defaultBorderColor: Style.color.gray3 - property string defaultTextColor: Style.color.gray6 + property string defaultTextColor: Style.color.black property string hoveredBackgroundColor: Style.color.white property string hoveredBorderColor: Style.color.gray6 @@ -44,6 +44,7 @@ TextField { selectionColor: Style.color.accent1 selectedTextColor: Style.color.white + placeholderTextColor: Style.color.gray6 font.pixelSize: 17 font.weight: 400 diff --git a/client/ui/qml/DefaultVpn/Pages/PageHome.qml b/client/ui/qml/DefaultVpn/Pages/PageHome.qml index 6bd1aee0..b0cf1ce6 100644 --- a/client/ui/qml/DefaultVpn/Pages/PageHome.qml +++ b/client/ui/qml/DefaultVpn/Pages/PageHome.qml @@ -85,9 +85,7 @@ Page { Layout.topMargin: 10 Layout.preferredWidth: defaultServerDropDown.width - visible: ServersModel.isDefaultServerFromApi && - ServersModel.defaultServerDescriptionCollapsed !== "" && - ServersModel.defaultServerDescriptionCollapsed !== ServersModel.defaultServerName + visible: ServersModel.defaultServerImagePathCollapsed !== "" text: ServersModel.defaultServerDescriptionCollapsed @@ -96,6 +94,7 @@ Page { PageController.showNotificationMessage(qsTr("Unable change server location while there is an active connection")) return } + ServersModel.setProcessedServerIndex(ServersModel.defaultIndex) PageController.goToPage(PageEnum.PageCountrySelector) } } diff --git a/client/ui/qml/DefaultVpn/Pages/PageSettingsServerInfo.qml b/client/ui/qml/DefaultVpn/Pages/PageSettingsServerInfo.qml index a2eb5f1f..8651db5c 100644 --- a/client/ui/qml/DefaultVpn/Pages/PageSettingsServerInfo.qml +++ b/client/ui/qml/DefaultVpn/Pages/PageSettingsServerInfo.qml @@ -65,6 +65,8 @@ Page { } XSmallTextType { + visible: false + Layout.leftMargin: 16 Layout.rightMargin: 16 Layout.bottomMargin: 8 @@ -74,6 +76,8 @@ Page { } InputType { + visible: false + id: textKey Layout.leftMargin: 16 diff --git a/client/ui/qml/Pages2/PageSettingsApiSupport.qml b/client/ui/qml/Pages2/PageSettingsApiSupport.qml index 2ca13151..0ea8ec84 100644 --- a/client/ui/qml/Pages2/PageSettingsApiSupport.qml +++ b/client/ui/qml/Pages2/PageSettingsApiSupport.qml @@ -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 supportModel: [ diff --git a/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml b/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml index f2b063a8..09210d22 100644 --- a/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml +++ b/client/ui/qml/Pages2/PageSetupWizardConfigSource.qml @@ -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 diff --git a/client/vpnconnection.cpp b/client/vpnconnection.cpp index 042c51c7..ff875b39 100644 --- a/client/vpnconnection.cpp +++ b/client/vpnconnection.cpp @@ -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); diff --git a/deploy/data/macos/post_uninstall.sh b/deploy/data/macos/post_uninstall.sh index dc9ac5ae..247b6cd5 100755 --- a/deploy/data/macos/post_uninstall.sh +++ b/deploy/data/macos/post_uninstall.sh @@ -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" diff --git a/deploy/deploy_s3.sh b/deploy/deploy_s3.sh new file mode 100755 index 00000000..c109a286 --- /dev/null +++ b/deploy/deploy_s3.sh @@ -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/