From 61092259baadb0fc5f9aaf8e7576abc82a3616ed Mon Sep 17 00:00:00 2001 From: Victor Corchez Date: Wed, 24 Jan 2024 07:34:40 +0200 Subject: [PATCH 01/15] Implemented graphview for down/up traffic --- client/resources.qrc | 1 + client/translations/amneziavpn_fa_IR.ts | 128 ++++++++++-------- client/translations/amneziavpn_ru.ts | 128 ++++++++++-------- client/translations/amneziavpn_zh_CN.ts | 128 ++++++++++-------- .../ui/controllers/connectionController.cpp | 16 +++ client/ui/controllers/connectionController.h | 7 + client/ui/qml/Controls2/GraphViewType.qml | 97 +++++++++++++ client/ui/qml/Pages2/PageHome.qml | 32 ++++- 8 files changed, 359 insertions(+), 178 deletions(-) create mode 100644 client/ui/qml/Controls2/GraphViewType.qml diff --git a/client/resources.qrc b/client/resources.qrc index dfadcb205..c098ef754 100644 --- a/client/resources.qrc +++ b/client/resources.qrc @@ -225,5 +225,6 @@ ui/qml/Pages2/PageShareFullAccess.qml images/controls/close.svg images/controls/search.svg + ui/qml/Controls2/GraphViewType.qml diff --git a/client/translations/amneziavpn_fa_IR.ts b/client/translations/amneziavpn_fa_IR.ts index e843f8071..8347fdf5a 100644 --- a/client/translations/amneziavpn_fa_IR.ts +++ b/client/translations/amneziavpn_fa_IR.ts @@ -35,48 +35,48 @@ ConnectionController - + VPN Protocols is not installed. Please install VPN container at first پروتکل وی‎پی‎ان نصب نشده است لطفا کانتینر وی‎پی‎ان را نصب کنید - + Connection... در حال ارتباط... - + Connected متصل - + Settings updated successfully, Reconnnection... تنظیمات به روز رسانی شد در حال اتصال دوباره... - + Settings updated successfully تنظیمات با موفقیت به‎روز‎رسانی شدند - + Reconnection... اتصال دوباره... - - - + + + Connect اتصال - + Disconnection... قطع ارتباط... @@ -133,12 +133,12 @@ HomeContainersListView - + Unable change protocol while there is an active connection امکان تغییر پروتکل در هنگام متصل بودن وجود ندارد - + The selected protocol is not supported on the current platform پروتکل انتخاب شده بر روی این پلتفرم پشتیبانی نمی‎‎شود @@ -277,17 +277,17 @@ Already installed containers were found on the server. All installed containers PageHome - + VPN protocol پروتکل وی‎پی‎ان - + Servers سرورها - + Unable change server while there is an active connection امکان تغییر سرور در هنگام متصل بودن وجود ندارد @@ -1220,57 +1220,62 @@ Already installed containers were found on the server. All installed containers PageSettingsDns - + + Default server does not support custom dns + + + + DNS servers سرورهای DNS - + If AmneziaDNS is not used or installed اگر AmneziaDNS نصب نباشد یا استفاده نشود - + Primary DNS DNS اصلی - + Secondary DNS DNS ثانویه - + Restore default بازگشت به پیش‎فرض - + Restore default DNS settings? بازگشت به تنظیمات پیش‎فرض DNS؟ - + Continue ادامه - + Cancel کنسل - + Settings have been reset تنظیمات ریست شد - + Save ذخیره - + Settings saved ذخیره تنظیمات @@ -1501,90 +1506,95 @@ Already installed containers were found on the server. All installed containers PageSettingsSplitTunneling - + + Default server does not support split tunneling function + + + + Addresses from the list should be accessed via VPN دسترسی به آدرس‎های لیست از طریق وی‎پی‎ان - + Addresses from the list should not be accessed via VPN دسترسی به آدرس‎های لیست بدون وی‎پی‎ان - + Split tunneling جداسازی ترافیک - + Mode حالت - + Remove حذف - + Continue ادامه - + Cancel کنسل - + Site or IP سایت یا آی‎پی - + Import/Export Sites بارگذاری / خروجی‎گرفتن از سایت‎ها - + Import بارگذاری - + Save site list ذخیره لیست سایت‎ها - + Save sites ذخیره سایت‎ها - - - + + + Sites files (*.json) Sites files (*.json) - + Import a list of sites بارگذاری لیست سایت‎ها - + Replace site list جایگزین کردن لیست سایت - - + + Open sites file باز کردن فایل سایت‎ها - + Add imported sites to existing ones اضافه کردن سایت‎های بارگذاری شده به سایت‎های موجود @@ -1734,7 +1744,7 @@ and will not be shared or disclosed to the Amnezia or any third parties PageSetupWizardInstalling - + The server has already been added to the application سرور در حال حاضر به نرم‎افزار اضافه شده است @@ -1747,33 +1757,33 @@ and will not be shared or disclosed to the Amnezia or any third parties занят установкой других протоколов или сервисов. Установка Amnesia - + Amnezia has detected that your server is currently برنامه Amnezia تشخیص داده است که سرور در حال حاضر - + busy installing other software. Amnezia installation مشغول نصب نرم‎افزار دیگری است. نصب Amnezia - + will pause until the server finishes installing other software متوقف شده تا زمانی که سرور نصب نرم‎افزار دیگر را تمام کند - + Installing در حال نصب - + Cancel installation لغو عملیات نصب - + Usually it takes no more than 5 minutes معمولا بیش از 5 دقیقه طول نمی‎کشد @@ -1896,27 +1906,27 @@ and will not be shared or disclosed to the Amnezia or any third parties PageSetupWizardViewConfig - + New connection ارتباط جدید - + Do not use connection code from public sources. It could be created to intercept your data. از کد اتصالی که در منابع عمومی هست استفاده نکنید. ممکن است برای شنود اطلاعات شما ایجاد شده باشد. - + Collapse content جمع کردن محتوا - + Show content نمایش محتوا - + Connect اتصال @@ -3105,7 +3115,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin VpnConnection - + Mbps Mbps diff --git a/client/translations/amneziavpn_ru.ts b/client/translations/amneziavpn_ru.ts index ddd7b0e96..eb3680d3f 100644 --- a/client/translations/amneziavpn_ru.ts +++ b/client/translations/amneziavpn_ru.ts @@ -35,47 +35,47 @@ ConnectionController - + VPN Protocols is not installed. Please install VPN container at first VPN протоколы не установлены. Пожалуйста, установите протокол - + Connection... Подключение... - + Connected Подключено - + Settings updated successfully, Reconnnection... Настройки успешно обновлены. Подключение... - + Settings updated successfully Настройки успешно обновлены - + Reconnection... Переподключение... - - - + + + Connect Подключиться - + Disconnection... Отключение... @@ -132,12 +132,12 @@ HomeContainersListView - + Unable change protocol while there is an active connection Невозможно изменить протокол при активном соединении - + The selected protocol is not supported on the current platform Выбранный протокол не поддерживается на данном устройстве @@ -275,17 +275,17 @@ Already installed containers were found on the server. All installed containers PageHome - + VPN protocol VPN протокол - + Servers Серверы - + Unable change server while there is an active connection Невозможно изменить сервер при активном соединении @@ -1218,57 +1218,62 @@ Already installed containers were found on the server. All installed containers PageSettingsDns - + + Default server does not support custom dns + + + + DNS servers DNS сервер - + If AmneziaDNS is not used or installed Эти адреса будут использоваться, если не включен или не установлен AmneziaDNS - + Primary DNS Первичный DNS - + Secondary DNS Вторичный DNS - + Restore default Восстановить по умолчанию - + Restore default DNS settings? Восстановить настройки DNS по умолчанию? - + Continue Продолжить - + Cancel Отменить - + Settings have been reset Настройки сброшены - + Save Сохранить - + Settings saved Сохранить настройки @@ -1499,90 +1504,95 @@ Already installed containers were found on the server. All installed containers PageSettingsSplitTunneling - + + Default server does not support split tunneling function + + + + Addresses from the list should be accessed via VPN Только адреса из списка должны открываться через VPN - + Addresses from the list should not be accessed via VPN Адреса из списка не должны открываться через VPN - + Split tunneling Раздельное VPN-туннелирование - + Mode Режим - + Remove Удалить - + Continue Продолжить - + Cancel Отменить - + Site or IP Сайт или IP - + Import/Export Sites Импорт/экспорт Сайтов - + Import Импорт - + Save site list Сохранить список сайтов - + Save sites Сохранить - - - + + + Sites files (*.json) Sites files (*.json) - + Import a list of sites Импортировать список с сайтами - + Replace site list Заменить список сайтов - - + + Open sites file Открыть список с сайтами - + Add imported sites to existing ones Добавить импортированные сайты к существующим @@ -1732,7 +1742,7 @@ and will not be shared or disclosed to the Amnezia or any third parties PageSetupWizardInstalling - + The server has already been added to the application Сервер уже был добавлен в приложение @@ -1745,33 +1755,33 @@ and will not be shared or disclosed to the Amnezia or any third parties занят установкой других протоколов или сервисов. Установка Amnesia - + Amnezia has detected that your server is currently Amnezia обнаружила, что ваш сервер в настоящее время - + busy installing other software. Amnezia installation занят установкой другого программного обеспечения. Установка Amnezia - + will pause until the server finishes installing other software будет приостановлена до тех пор, пока сервер не завершит установку - + Installing Установка - + Cancel installation - + Usually it takes no more than 5 minutes Обычно это занимает не более 5 минут @@ -1894,27 +1904,27 @@ and will not be shared or disclosed to the Amnezia or any third parties PageSetupWizardViewConfig - + New connection Новое соединение - + Do not use connection code from public sources. It could be created to intercept your data. Не используйте код подключения из публичных источников. Его могли создать, чтобы перехватывать ваши данные. - + Collapse content Свернуть - + Show content Показать содержимое ключа - + Connect Подключиться @@ -3072,7 +3082,7 @@ This means that AmneziaWG keeps the fast performance of the original while addin VpnConnection - + Mbps Mbps diff --git a/client/translations/amneziavpn_zh_CN.ts b/client/translations/amneziavpn_zh_CN.ts index 7143c76b6..c2335d546 100644 --- a/client/translations/amneziavpn_zh_CN.ts +++ b/client/translations/amneziavpn_zh_CN.ts @@ -27,46 +27,46 @@ ConnectionController - - - + + + Connect 连接 - + VPN Protocols is not installed. Please install VPN container at first 请先安装VPN协议 - + Connection... 连接中 - + Connected 已连接 - + Reconnection... 重连中 - + Disconnection... 断开中 - + Settings updated successfully, Reconnnection... 配置已更新,重连中 - + Settings updated successfully 配置更新成功 @@ -135,12 +135,12 @@ HomeContainersListView - + Unable change protocol while there is an active connection 已建立连接时无法更改服务器配置 - + The selected protocol is not supported on the current platform 当前平台不支持所选协议 @@ -302,17 +302,17 @@ Already installed containers were found on the server. All installed containers PageHome - + VPN protocol VPN协议 - + Servers 服务器 - + Unable change server while there is an active connection 已建立连接时无法更改服务器配置 @@ -1297,57 +1297,62 @@ And if you don't like the app, all the more support it - the donation will PageSettingsDns - + + Default server does not support custom dns + + + + DNS servers DNS服务器 - + If AmneziaDNS is not used or installed 如果未使用或未安装AmneziaDNS - + Primary DNS 首选 DNS - + Secondary DNS 备用 DNS - + Restore default 恢复默认配置 - + Restore default DNS settings? 是否恢复默认DNS配置? - + Continue 继续 - + Cancel 取消 - + Settings have been reset 已重置 - + Save 保存 - + Settings saved 配置已保存 @@ -1598,90 +1603,95 @@ And if you don't like the app, all the more support it - the donation will 网站级VPN分流 - + + Default server does not support split tunneling function + + + + Addresses from the list should be accessed via VPN 仅使用VPN访问 - + Addresses from the list should not be accessed via VPN 不使用VPN访问 - + Split tunneling 隧道分离 - + Mode 规则 - + Remove 移除 - + Continue 继续 - + Cancel 取消 - + Site or IP 网站或IP地址 - + Import/Export Sites 导入/导出网站 - + Import 导入 - + Save site list 保存网址 - + Save sites 保存网址 - - - + + + Sites files (*.json) - + Import a list of sites 导入网址列表 - + Replace site list 替换网址列表 - - + + Open sites file 打开网址文件 - + Add imported sites to existing ones 将导入的网址添加到现有网址中 @@ -1832,27 +1842,27 @@ and will not be shared or disclosed to the Amnezia or any third parties PageSetupWizardInstalling - + Usually it takes no more than 5 minutes 通常不超过5分钟 - + The server has already been added to the application 服务器已添加到应用软件中 - + Amnezia has detected that your server is currently Amnezia 检测到您的服务器当前 - + busy installing other software. Amnezia installation 正安装其他软件。Amnezia安装 - + Cancel installation @@ -1865,12 +1875,12 @@ and will not be shared or disclosed to the Amnezia or any third parties 正安装其他软件。Amnezia安装 - + will pause until the server finishes installing other software 将暂停,直到其他软件安装完成。 - + Installing 安装中 @@ -1993,27 +2003,27 @@ and will not be shared or disclosed to the Amnezia or any third parties PageSetupWizardViewConfig - + New connection 新连接 - + Do not use connection code from public sources. It could be created to intercept your data. 请勿使用公共来源的连接码。它可以被创建来拦截您的数据。 - + Collapse content 折叠内容 - + Show content 显示内容 - + Connect 连接 @@ -3220,7 +3230,7 @@ While it offers a blend of security, stability, and speed, it's essential t VpnConnection - + Mbps diff --git a/client/ui/controllers/connectionController.cpp b/client/ui/controllers/connectionController.cpp index 25bebfb1c..227177062 100644 --- a/client/ui/controllers/connectionController.cpp +++ b/client/ui/controllers/connectionController.cpp @@ -15,6 +15,12 @@ ConnectionController::ConnectionController(const QSharedPointer &s { connect(m_vpnConnection.get(), &VpnConnection::connectionStateChanged, this, &ConnectionController::onConnectionStateChanged); + connect(m_vpnConnection.get(), &VpnConnection::bytesChanged, this, [this](quint64 rx, quint64 tx) + { + m_rxBytes = rx; + m_txBytes = tx; + emit bytesChanged(); + }); connect(this, &ConnectionController::connectToVpn, m_vpnConnection.get(), &VpnConnection::connectToVpn, Qt::QueuedConnection); connect(this, &ConnectionController::disconnectFromVpn, m_vpnConnection.get(), &VpnConnection::disconnectFromVpn, @@ -129,6 +135,16 @@ QString ConnectionController::connectionStateText() const return m_connectionStateText; } +quint64 ConnectionController::rxBytes() const +{ + return m_rxBytes; +} + +quint64 ConnectionController::txBytes() const +{ + return m_txBytes; +} + bool ConnectionController::isConnectionInProgress() const { return m_isConnectionInProgress; diff --git a/client/ui/controllers/connectionController.h b/client/ui/controllers/connectionController.h index 74a3f6003..807df5d5b 100644 --- a/client/ui/controllers/connectionController.h +++ b/client/ui/controllers/connectionController.h @@ -14,6 +14,8 @@ class ConnectionController : public QObject Q_PROPERTY(bool isConnected READ isConnected NOTIFY connectionStateChanged) Q_PROPERTY(bool isConnectionInProgress READ isConnectionInProgress NOTIFY connectionStateChanged) Q_PROPERTY(QString connectionStateText READ connectionStateText NOTIFY connectionStateChanged) + Q_PROPERTY(quint64 rxBytes READ rxBytes NOTIFY bytesChanged) + Q_PROPERTY(quint64 txBytes READ txBytes NOTIFY bytesChanged) explicit ConnectionController(const QSharedPointer &serversModel, const QSharedPointer &containersModel, @@ -24,6 +26,8 @@ class ConnectionController : public QObject bool isConnected() const; bool isConnectionInProgress() const; QString connectionStateText() const; + quint64 rxBytes() const; + quint64 txBytes() const; public slots: void openConnection(); @@ -44,6 +48,7 @@ public slots: void connectionErrorOccurred(const QString &errorMessage); void reconnectWithUpdatedContainer(const QString &message); + void bytesChanged(); private: Vpn::ConnectionState getCurrentConnectionState(); @@ -56,6 +61,8 @@ public slots: bool m_isConnected = false; bool m_isConnectionInProgress = false; QString m_connectionStateText = tr("Connect"); + quint64 m_rxBytes = 0; + quint64 m_txBytes = 0; Vpn::ConnectionState m_state; }; diff --git a/client/ui/qml/Controls2/GraphViewType.qml b/client/ui/qml/Controls2/GraphViewType.qml new file mode 100644 index 000000000..9d5f57421 --- /dev/null +++ b/client/ui/qml/Controls2/GraphViewType.qml @@ -0,0 +1,97 @@ +import QtQuick +import QtCharts + +ChartView { + id: chartView + legend.visible: false + theme: ChartView.ChartThemeDark + plotArea: Qt.rect(0, 0, 400, 50) + + function addValues(rx, tx) + { + let currentTime = new Date().getTime() + console.log("VICTOR: ", currentTime, rx, tx) + rxLine.append(currentTime, rx) + txLine.append(currentTime, tx) + if (rx > yAxis.max) + { + yAxis.max = rx + } + if (tx > yAxis.max) + { + yAxis.max = tx + } + } + + Timer { + interval: 1000 + running: true + repeat: true + onTriggered: { + let currentTime = new Date().getTime() + maxAnimation.to = currentTime + maxAnimation.running = true + minAnimation.to = currentTime - 60000 + minAnimation.running = true + } + } + + ValueAxis { + id: yAxis + min: 0 + max: 1000000 + visible: false + labelsVisible: false + gridLineColor: "transparent" + } + + ValueAxis { + id: xAxis + visible: false + labelsVisible: false + gridLineColor: "transparent" + } + + PropertyAnimation { + id: maxAnimation + target: xAxis + properties: "max" + duration: 1500 + } + + PropertyAnimation { + id: minAnimation + target: xAxis + properties: "min" + duration: 1500 + } + + SplineSeries { + id: rxLine + name: "Received Bytes" + //useOpenGL: true + axisX: xAxis + axisY: yAxis + capStyle: Qt.RoundCap + color: "orange" + + XYPoint { x: new Date().getTime(); y: 0 } + } + + SplineSeries { + id: txLine + name: "Transmitted Bytes" + //useOpenGL: true + axisX: xAxis + axisY: yAxis + capStyle: Qt.RoundCap + color: "grey" + + XYPoint { x: new Date().getTime(); y: 0 } + } + + onWidthChanged: { + console.log("WIDTH: ", width) + chartView.plotArea = Qt.rect(0, 0, width, 50) + } +} diff --git a/client/ui/qml/Pages2/PageHome.qml b/client/ui/qml/Pages2/PageHome.qml index 5b44bc7cc..63e4be37e 100644 --- a/client/ui/qml/Pages2/PageHome.qml +++ b/client/ui/qml/Pages2/PageHome.qml @@ -263,12 +263,27 @@ PageType { LabelTextType { id: collapsedServerMenuDescription - Layout.bottomMargin: 44 + Layout.bottomMargin: 10 Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter visible: buttonContent.collapsedVisibility text: ServersModel.defaultServerDescriptionCollapsed } + GraphViewType { + id: graph1 + Layout.preferredHeight: 50 + Layout.fillWidth: true + visible: buttonContent.collapsedVisibility + + Connections { + target: ConnectionController + function onBytesChanged() + { + graph1.addValues(ConnectionController.rxBytes, ConnectionController.txBytes) + } + } + } + ColumnLayout { id: serversMenuHeader @@ -297,6 +312,21 @@ PageType { text: ServersModel.defaultServerDescriptionExpanded } + GraphViewType { + id: graph2 + Layout.preferredHeight: 50 + Layout.fillWidth: true + visible: buttonContent.expandedVisibility + + Connections { + target: ConnectionController + function onBytesChanged() + { + graph2.addValues(ConnectionController.rxBytes, ConnectionController.txBytes) + } + } + } + RowLayout { Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter spacing: 8 From 81242b405f1a502ee348c67db4dca14b1b25a1de Mon Sep 17 00:00:00 2001 From: Victor Corchez Date: Thu, 25 Jan 2024 09:00:32 +0200 Subject: [PATCH 02/15] Update deploy.yml --- .github/workflows/deploy.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 9f5566273..81d1901fb 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -25,7 +25,7 @@ jobs: host: 'linux' target: 'desktop' arch: 'gcc_64' - modules: 'qtremoteobjects qt5compat qtshadertools' + modules: 'qtremoteobjects qt5compat qtshadertools qtcharts' dir: ${{ runner.temp }} setup-python: 'true' tools: 'tools_ifw' @@ -93,7 +93,7 @@ jobs: host: 'windows' target: 'desktop' arch: 'win64_msvc2019_64' - modules: 'qtremoteobjects qt5compat qtshadertools' + modules: 'qtremoteobjects qt5compat qtshadertools qtcharts' dir: ${{ runner.temp }} setup-python: 'true' tools: 'tools_ifw' @@ -148,7 +148,7 @@ jobs: version: ${{ env.QT_VERSION }} host: 'mac' target: 'desktop' - modules: 'qtremoteobjects qt5compat qtshadertools qtmultimedia' + modules: 'qtremoteobjects qt5compat qtshadertools qtmultimedia qtcharts' arch: 'clang_64' dir: ${{ runner.temp }} set-env: 'true' @@ -160,7 +160,7 @@ jobs: version: ${{ env.QT_VERSION }} host: 'mac' target: 'ios' - modules: 'qtremoteobjects qt5compat qtshadertools qtmultimedia' + modules: 'qtremoteobjects qt5compat qtshadertools qtmultimedia qtcharts' dir: ${{ runner.temp }} setup-python: 'true' set-env: 'true' @@ -237,7 +237,7 @@ jobs: host: 'mac' target: 'desktop' arch: 'clang_64' - modules: 'qtremoteobjects qt5compat qtshadertools' + modules: 'qtremoteobjects qt5compat qtshadertools qtcharts' dir: ${{ runner.temp }} setup-python: 'true' tools: 'tools_ifw' @@ -282,7 +282,7 @@ jobs: env: ANDROID_BUILD_PLATFORM: android-34 QT_VERSION: 6.6.1 - QT_MODULES: 'qtremoteobjects qt5compat qtimageformats qtshadertools' + QT_MODULES: 'qtremoteobjects qt5compat qtimageformats qtshadertools qtcharts' steps: - name: 'Install desktop Qt' From acfe19b9147dd4a190cf73a19183b455e57c6dec Mon Sep 17 00:00:00 2001 From: Victor Corchez Date: Thu, 25 Jan 2024 14:08:43 +0200 Subject: [PATCH 03/15] cleanup --- client/ui/qml/Controls2/GraphViewType.qml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/client/ui/qml/Controls2/GraphViewType.qml b/client/ui/qml/Controls2/GraphViewType.qml index 9d5f57421..53545c0e5 100644 --- a/client/ui/qml/Controls2/GraphViewType.qml +++ b/client/ui/qml/Controls2/GraphViewType.qml @@ -10,7 +10,6 @@ ChartView { function addValues(rx, tx) { let currentTime = new Date().getTime() - console.log("VICTOR: ", currentTime, rx, tx) rxLine.append(currentTime, rx) txLine.append(currentTime, tx) if (rx > yAxis.max) @@ -69,7 +68,6 @@ ChartView { SplineSeries { id: rxLine name: "Received Bytes" - //useOpenGL: true axisX: xAxis axisY: yAxis capStyle: Qt.RoundCap @@ -81,7 +79,6 @@ ChartView { SplineSeries { id: txLine name: "Transmitted Bytes" - //useOpenGL: true axisX: xAxis axisY: yAxis capStyle: Qt.RoundCap @@ -91,7 +88,6 @@ ChartView { } onWidthChanged: { - console.log("WIDTH: ", width) chartView.plotArea = Qt.rect(0, 0, width, 50) } } From c9af9f34fca48b4a3c39d4b5cd67811c9eb2b31f Mon Sep 17 00:00:00 2001 From: Victor Corchez Date: Sun, 28 Jan 2024 15:50:37 +0200 Subject: [PATCH 04/15] fixed CPU consumption and added graph values persistence --- client/translations/amneziavpn_fa_IR.ts | 68 +++++++-------- client/translations/amneziavpn_ru.ts | 68 +++++++-------- client/translations/amneziavpn_zh_CN.ts | 68 +++++++-------- .../ui/controllers/connectionController.cpp | 32 ++++++- client/ui/controllers/connectionController.h | 11 +++ client/ui/controllers/systemController.cpp | 14 ++++ client/ui/controllers/systemController.h | 6 ++ client/ui/qml/Controls2/GraphViewType.qml | 83 ++++++++++++------- client/ui/qml/Pages2/PageHome.qml | 16 ---- client/ui/qml/main2.qml | 4 + 10 files changed, 220 insertions(+), 150 deletions(-) diff --git a/client/translations/amneziavpn_fa_IR.ts b/client/translations/amneziavpn_fa_IR.ts index 8347fdf5a..089b2b1da 100644 --- a/client/translations/amneziavpn_fa_IR.ts +++ b/client/translations/amneziavpn_fa_IR.ts @@ -35,48 +35,48 @@ ConnectionController - + VPN Protocols is not installed. Please install VPN container at first پروتکل وی‎پی‎ان نصب نشده است لطفا کانتینر وی‎پی‎ان را نصب کنید - + Connection... در حال ارتباط... - + Connected متصل - + Settings updated successfully, Reconnnection... تنظیمات به روز رسانی شد در حال اتصال دوباره... - + Settings updated successfully تنظیمات با موفقیت به‎روز‎رسانی شدند - + Reconnection... اتصال دوباره... - - + - + + Connect اتصال - + Disconnection... قطع ارتباط... @@ -150,7 +150,7 @@ ImportController - + Scanned %1 of %2. ارزیابی %1 از %2. @@ -277,17 +277,17 @@ Already installed containers were found on the server. All installed containers PageHome - + VPN protocol پروتکل وی‎پی‎ان - + Servers سرورها - + Unable change server while there is an active connection امکان تغییر سرور در هنگام متصل بودن وجود ندارد @@ -1293,52 +1293,52 @@ Already installed containers were found on the server. All installed containers ذخیره گزارشات - + Open folder with logs باز کردن پوشه گزارشات - + Save ذخیره - + Logs files (*.log) Logs files (*.log) - + Logs file saved فایل گزارشات ذخیره شد - + Save logs to file ذخیره گزارشات در فایل - + Clear logs? پاک کردن گزارشات؟ - + Continue ادامه - + Cancel کنسل - + Logs have been cleaned up گزارشات پاک شدند - + Clear logs پاک کردن گزارشات @@ -1721,22 +1721,22 @@ and will not be shared or disclosed to the Amnezia or any third parties سطح کنترل اینترنت در منطقه شما چگونه است؟ - + Set up a VPN yourself یک وی‎پی‎ان برای خودتان بسازید - + I want to choose a VPN protocol می‎خواهم پروتکل وی‎پی‎ان را انتخاب کنم - + Continue ادامه - + Set up later بعدا تنظیم شود @@ -2968,22 +2968,22 @@ This means that AmneziaWG keeps the fast performance of the original while addin SettingsController - + Software version نسخه نرم‎افزار - + All settings have been reset to default values تمام تنظیمات به مقادیر پیش فرض ریست شد - + Cached profiles cleared پروفایل ذخیره شده پاک شد - + Backup file is corrupted فایل بک‎آپ خراب شده است @@ -3219,12 +3219,12 @@ This means that AmneziaWG keeps the fast performance of the original while addin main2 - + Private key passphrase عبارت کلید خصوصی - + Save ذخیره diff --git a/client/translations/amneziavpn_ru.ts b/client/translations/amneziavpn_ru.ts index eb3680d3f..5b276aff3 100644 --- a/client/translations/amneziavpn_ru.ts +++ b/client/translations/amneziavpn_ru.ts @@ -35,47 +35,47 @@ ConnectionController - + VPN Protocols is not installed. Please install VPN container at first VPN протоколы не установлены. Пожалуйста, установите протокол - + Connection... Подключение... - + Connected Подключено - + Settings updated successfully, Reconnnection... Настройки успешно обновлены. Подключение... - + Settings updated successfully Настройки успешно обновлены - + Reconnection... Переподключение... - - + - + + Connect Подключиться - + Disconnection... Отключение... @@ -149,7 +149,7 @@ ImportController - + Scanned %1 of %2. Отсканировано %1 из%2. @@ -275,17 +275,17 @@ Already installed containers were found on the server. All installed containers PageHome - + VPN protocol VPN протокол - + Servers Серверы - + Unable change server while there is an active connection Невозможно изменить сервер при активном соединении @@ -1291,52 +1291,52 @@ Already installed containers were found on the server. All installed containers Сохранять логи - + Open folder with logs Открыть папку с логами - + Save Сохранить - + Logs files (*.log) Logs files (*.log) - + Logs file saved Файл с логами сохранен - + Save logs to file Сохранить логи в файл - + Clear logs? Очистить логи? - + Continue Продолжить - + Cancel Отменить - + Logs have been cleaned up Логи удалены - + Clear logs Удалить логи @@ -1719,22 +1719,22 @@ and will not be shared or disclosed to the Amnezia or any third parties Какой уровень контроля интернета в вашем регионе? - + Set up a VPN yourself Настроить VPN самостоятельно - + I want to choose a VPN protocol Выбрать VPN-протокол - + Continue Продолжить - + Set up later Настроить позднее @@ -2935,22 +2935,22 @@ This means that AmneziaWG keeps the fast performance of the original while addin SettingsController - + Software version Версия ПО - + All settings have been reset to default values Все настройки были сброшены к значению "По умолчанию" - + Cached profiles cleared Кэш профиля очищен - + Backup file is corrupted Backup файл поврежден @@ -3186,12 +3186,12 @@ This means that AmneziaWG keeps the fast performance of the original while addin main2 - + Private key passphrase Кодовая фраза для закрытого ключа - + Save Сохранить diff --git a/client/translations/amneziavpn_zh_CN.ts b/client/translations/amneziavpn_zh_CN.ts index c2335d546..6a3855b9e 100644 --- a/client/translations/amneziavpn_zh_CN.ts +++ b/client/translations/amneziavpn_zh_CN.ts @@ -27,46 +27,46 @@ ConnectionController - - + - + + Connect 连接 - + VPN Protocols is not installed. Please install VPN container at first 请先安装VPN协议 - + Connection... 连接中 - + Connected 已连接 - + Reconnection... 重连中 - + Disconnection... 断开中 - + Settings updated successfully, Reconnnection... 配置已更新,重连中 - + Settings updated successfully 配置更新成功 @@ -152,7 +152,7 @@ ImportController - + Scanned %1 of %2. 扫描 %1 of %2. @@ -302,17 +302,17 @@ Already installed containers were found on the server. All installed containers PageHome - + VPN protocol VPN协议 - + Servers 服务器 - + Unable change server while there is an active connection 已建立连接时无法更改服务器配置 @@ -1370,52 +1370,52 @@ And if you don't like the app, all the more support it - the donation will 记录日志 - + Open folder with logs 打开日志文件夹 - + Save 保存 - + Logs files (*.log) - + Logs file saved 日志文件已保存 - + Save logs to file 保存日志到文件 - + Clear logs? 清理日志? - + Continue 继续 - + Cancel 取消 - + Logs have been cleaned up 日志已清理 - + Clear logs 清理日志 @@ -1818,22 +1818,22 @@ and will not be shared or disclosed to the Amnezia or any third parties 您所在地区的互联网管控力度如何? - + Set up a VPN yourself 自己架设VPN - + I want to choose a VPN protocol 我想选择VPN协议 - + Continue 继续 - + Set up later 稍后设置 @@ -3079,22 +3079,22 @@ While it offers a blend of security, stability, and speed, it's essential t SettingsController - + Software version 软件版本 - + Backup file is corrupted 备份文件已损坏 - + All settings have been reset to default values 所配置恢复为默认值 - + Cached profiles cleared 缓存的配置文件已清除 @@ -3334,12 +3334,12 @@ While it offers a blend of security, stability, and speed, it's essential t main2 - + Private key passphrase 私钥密码 - + Save 保存 diff --git a/client/ui/controllers/connectionController.cpp b/client/ui/controllers/connectionController.cpp index 227177062..70d0e5be7 100644 --- a/client/ui/controllers/connectionController.cpp +++ b/client/ui/controllers/connectionController.cpp @@ -19,12 +19,25 @@ ConnectionController::ConnectionController(const QSharedPointer &s { m_rxBytes = rx; m_txBytes = tx; - emit bytesChanged(); }); connect(this, &ConnectionController::connectToVpn, m_vpnConnection.get(), &VpnConnection::connectToVpn, Qt::QueuedConnection); connect(this, &ConnectionController::disconnectFromVpn, m_vpnConnection.get(), &VpnConnection::disconnectFromVpn, Qt::QueuedConnection); + connect(&m_tick, &QTimer::timeout, this, [this]() + { + quint64 time = QDateTime::currentSecsSinceEpoch(); + if (m_times.length() > viewSize) + { + m_times.removeFirst(); + m_rxView.removeFirst(); + m_txView.removeFirst(); + } + m_times.append(time); + m_rxView.append(m_rxBytes); + m_txView.append(m_txBytes); + emit bytesChanged(); + }); m_state = Vpn::ConnectionState::Disconnected; } @@ -68,6 +81,7 @@ void ConnectionController::onConnectionStateChanged(Vpn::ConnectionState state) m_isConnectionInProgress = false; m_isConnected = true; m_connectionStateText = tr("Connected"); + m_tick.start(1000); break; } case Vpn::ConnectionState::Connecting: { @@ -87,6 +101,7 @@ void ConnectionController::onConnectionStateChanged(Vpn::ConnectionState state) case Vpn::ConnectionState::Disconnecting: { m_isConnectionInProgress = true; m_connectionStateText = tr("Disconnection..."); + m_tick.stop(); break; } case Vpn::ConnectionState::Preparing: { @@ -145,6 +160,21 @@ quint64 ConnectionController::txBytes() const return m_txBytes; } +QVector ConnectionController::getRxView() const +{ + return m_rxView; +} + +QVector ConnectionController::getTxView() const +{ + return m_txView; +} + +QVector ConnectionController::getTimes() const +{ + return m_times; +} + bool ConnectionController::isConnectionInProgress() const { return m_isConnectionInProgress; diff --git a/client/ui/controllers/connectionController.h b/client/ui/controllers/connectionController.h index 807df5d5b..673e59fb2 100644 --- a/client/ui/controllers/connectionController.h +++ b/client/ui/controllers/connectionController.h @@ -29,6 +29,10 @@ class ConnectionController : public QObject quint64 rxBytes() const; quint64 txBytes() const; + Q_INVOKABLE QVector getRxView() const; + Q_INVOKABLE QVector getTxView() const; + Q_INVOKABLE QVector getTimes() const; + public slots: void openConnection(); void closeConnection(); @@ -63,8 +67,15 @@ public slots: QString m_connectionStateText = tr("Connect"); quint64 m_rxBytes = 0; quint64 m_txBytes = 0; + QVector m_rxView{}; + QVector m_txView{}; + QVector m_times{}; + + QTimer m_tick{}; Vpn::ConnectionState m_state; + + const static quint8 viewSize{60}; }; #endif // CONNECTIONCONTROLLER_H diff --git a/client/ui/controllers/systemController.cpp b/client/ui/controllers/systemController.cpp index ecd68c8f5..126b5df6b 100644 --- a/client/ui/controllers/systemController.cpp +++ b/client/ui/controllers/systemController.cpp @@ -24,6 +24,20 @@ SystemController::SystemController(const std::shared_ptr &settings, QO { } +void SystemController::setHasFocus(bool hasFocus) +{ + if (m_hasFocus != hasFocus) + { + m_hasFocus = hasFocus; + emit hasFocusChanged(); + } +} + +bool SystemController::hasFocus() const +{ + return m_hasFocus; +} + void SystemController::saveFile(QString fileName, const QString &data) { #if defined Q_OS_ANDROID diff --git a/client/ui/controllers/systemController.h b/client/ui/controllers/systemController.h index 274df2349..973784f39 100644 --- a/client/ui/controllers/systemController.h +++ b/client/ui/controllers/systemController.h @@ -8,9 +8,13 @@ class SystemController : public QObject { Q_OBJECT + Q_PROPERTY(bool hasFocus READ hasFocus WRITE setHasFocus NOTIFY hasFocusChanged) public: explicit SystemController(const std::shared_ptr &setting, QObject *parent = nullptr); + void setHasFocus(bool isActive); + bool hasFocus() const; + static void saveFile(QString fileName, const QString &data); public slots: @@ -21,11 +25,13 @@ public slots: signals: void fileDialogClosed(const bool isAccepted); + void hasFocusChanged(); private: std::shared_ptr m_settings; QObject *m_qmlRoot; + bool m_hasFocus{false}; }; #endif // SYSTEMCONTROLLER_H diff --git a/client/ui/qml/Controls2/GraphViewType.qml b/client/ui/qml/Controls2/GraphViewType.qml index 53545c0e5..932587b5c 100644 --- a/client/ui/qml/Controls2/GraphViewType.qml +++ b/client/ui/qml/Controls2/GraphViewType.qml @@ -7,11 +7,18 @@ ChartView { theme: ChartView.ChartThemeDark plotArea: Qt.rect(0, 0, 400, 50) - function addValues(rx, tx) - { - let currentTime = new Date().getTime() - rxLine.append(currentTime, rx) - txLine.append(currentTime, tx) + property bool shouldUpdate: SystemController.hasFocus + + function getUTCSeconds() { + return new Date().setMilliseconds(0) / 1000 + } + + function addValues(rx, tx) { + let currentTime = getUTCSeconds() + + xAxis.min = currentTime - 60 + xAxis.max = currentTime + if (rx > yAxis.max) { yAxis.max = rx @@ -20,18 +27,46 @@ ChartView { { yAxis.max = tx } + + rxLine.append(currentTime, rx) + txLine.append(currentTime, tx) + } + + function printAll() { + var rxValues = ConnectionController.getRxView() + var txValues = ConnectionController.getTxView() + var times = ConnectionController.getTimes() + + rxLine.clear() + txLine.clear() + + xAxis.min = times[0] + xAxis.max = times[times.length - 1] + + for (let i = 0; i < times.length; i++) + { + rxLine.append(times[i], rxValues[i]) + txLine.append(times[i], txValues[i]) + } } - Timer { - interval: 1000 - running: true - repeat: true - onTriggered: { - let currentTime = new Date().getTime() - maxAnimation.to = currentTime - maxAnimation.running = true - minAnimation.to = currentTime - 60000 - minAnimation.running = true + Component.onCompleted: { + printAll() + } + + Connections { + target: ConnectionController + function onBytesChanged() { + if (shouldUpdate) { + addValues(ConnectionController.rxBytes, ConnectionController.txBytes) + } + } + } + + Connections { + target: SystemController + function onHasFocusChanged() { + if (shouldUpdate) { printAll() } } } @@ -51,20 +86,6 @@ ChartView { gridLineColor: "transparent" } - PropertyAnimation { - id: maxAnimation - target: xAxis - properties: "max" - duration: 1500 - } - - PropertyAnimation { - id: minAnimation - target: xAxis - properties: "min" - duration: 1500 - } - SplineSeries { id: rxLine name: "Received Bytes" @@ -73,7 +94,7 @@ ChartView { capStyle: Qt.RoundCap color: "orange" - XYPoint { x: new Date().getTime(); y: 0 } + XYPoint { x: getUTCSeconds(); y: 0 } } SplineSeries { @@ -84,7 +105,7 @@ ChartView { capStyle: Qt.RoundCap color: "grey" - XYPoint { x: new Date().getTime(); y: 0 } + XYPoint { x: getUTCSeconds(); y: 0 } } onWidthChanged: { diff --git a/client/ui/qml/Pages2/PageHome.qml b/client/ui/qml/Pages2/PageHome.qml index 63e4be37e..025c22f95 100644 --- a/client/ui/qml/Pages2/PageHome.qml +++ b/client/ui/qml/Pages2/PageHome.qml @@ -274,14 +274,6 @@ PageType { Layout.preferredHeight: 50 Layout.fillWidth: true visible: buttonContent.collapsedVisibility - - Connections { - target: ConnectionController - function onBytesChanged() - { - graph1.addValues(ConnectionController.rxBytes, ConnectionController.txBytes) - } - } } ColumnLayout { @@ -317,14 +309,6 @@ PageType { Layout.preferredHeight: 50 Layout.fillWidth: true visible: buttonContent.expandedVisibility - - Connections { - target: ConnectionController - function onBytesChanged() - { - graph2.addValues(ConnectionController.rxBytes, ConnectionController.txBytes) - } - } } RowLayout { diff --git a/client/ui/qml/main2.qml b/client/ui/qml/main2.qml index 073fb4ad1..0238ce524 100644 --- a/client/ui/qml/main2.qml +++ b/client/ui/qml/main2.qml @@ -27,6 +27,10 @@ Window { PageController.closeWindow() } + onActiveChanged: { + SystemController.hasFocus = active + } + title: "AmneziaVPN" StackViewType { From 7ef41bfe7588523f9fb5f3039a2ea61cf625824f Mon Sep 17 00:00:00 2001 From: pokamest Date: Tue, 30 Jan 2024 10:02:48 +0000 Subject: [PATCH 05/15] GraphViewType fixes --- client/ui/qml/Controls2/GraphViewType.qml | 53 ++++++++++++++--------- 1 file changed, 33 insertions(+), 20 deletions(-) diff --git a/client/ui/qml/Controls2/GraphViewType.qml b/client/ui/qml/Controls2/GraphViewType.qml index 932587b5c..32a93ae36 100644 --- a/client/ui/qml/Controls2/GraphViewType.qml +++ b/client/ui/qml/Controls2/GraphViewType.qml @@ -4,8 +4,17 @@ import QtCharts ChartView { id: chartView legend.visible: false - theme: ChartView.ChartThemeDark - plotArea: Qt.rect(0, 0, 400, 50) + animationOptions: ChartView.AllAnimations + animationDuration: 2000.0 + + backgroundColor: "#1C1D21" + plotAreaColor: "#1C1D21" + margins.top: 0 + margins.bottom: 0 + margins.left: 0 + margins.right: 0 + antialiasing: true + property bool shouldUpdate: SystemController.hasFocus @@ -19,14 +28,8 @@ ChartView { xAxis.min = currentTime - 60 xAxis.max = currentTime - if (rx > yAxis.max) - { - yAxis.max = rx - } - if (tx > yAxis.max) - { - yAxis.max = tx - } + if (rx > yAxis.max) yAxis.max = rx * 1.1 + if (tx > yAxis.max) yAxis.max = tx * 1.1 rxLine.append(currentTime, rx) txLine.append(currentTime, tx) @@ -37,14 +40,24 @@ ChartView { var txValues = ConnectionController.getTxView() var times = ConnectionController.getTimes() + let currentTime = getUTCSeconds() + xAxis.min = currentTime - 60 + xAxis.max = currentTime + + rxLine.clear() txLine.clear() + if (times.length === 0) return + xAxis.min = times[0] xAxis.max = times[times.length - 1] for (let i = 0; i < times.length; i++) { + if (rxValues[i] > yAxis.max) yAxis.max = rxValues[i] + if (txValues[i] > yAxis.max) yAxis.max = txValues[i] + rxLine.append(times[i], rxValues[i]) txLine.append(times[i], txValues[i]) } @@ -72,8 +85,8 @@ ChartView { ValueAxis { id: yAxis - min: 0 - max: 1000000 + min: -100 + max: 1000 visible: false labelsVisible: false gridLineColor: "transparent" @@ -89,26 +102,26 @@ ChartView { SplineSeries { id: rxLine name: "Received Bytes" + //width: 2 axisX: xAxis axisY: yAxis + style: Qt.RoundCap capStyle: Qt.RoundCap - color: "orange" - + useOpenGL: true + color: "#70553c" XYPoint { x: getUTCSeconds(); y: 0 } } SplineSeries { id: txLine name: "Transmitted Bytes" + //width: 2 axisX: xAxis axisY: yAxis + style: Qt.RoundCap capStyle: Qt.RoundCap - color: "grey" - + useOpenGL: true + color: "#737274" XYPoint { x: getUTCSeconds(); y: 0 } } - - onWidthChanged: { - chartView.plotArea = Qt.rect(0, 0, width, 50) - } } From 97c6b217f28a42bd650c8cdb44a6e84562a313b2 Mon Sep 17 00:00:00 2001 From: agalehaga Date: Wed, 14 Feb 2024 13:34:35 +0200 Subject: [PATCH 06/15] refactoring: changed SystemController.hasFocus to SystemController.appHasFocus --- client/ui/controllers/systemController.cpp | 12 ++++++------ client/ui/controllers/systemController.h | 10 +++++----- client/ui/qml/Controls2/GraphViewType.qml | 4 ++-- client/ui/qml/main2.qml | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/client/ui/controllers/systemController.cpp b/client/ui/controllers/systemController.cpp index 126b5df6b..3bc3e63e5 100644 --- a/client/ui/controllers/systemController.cpp +++ b/client/ui/controllers/systemController.cpp @@ -24,18 +24,18 @@ SystemController::SystemController(const std::shared_ptr &settings, QO { } -void SystemController::setHasFocus(bool hasFocus) +void SystemController::setAppHasFocus(bool appHasFocus) { - if (m_hasFocus != hasFocus) + if (m_appHasFocus != appHasFocus) { - m_hasFocus = hasFocus; - emit hasFocusChanged(); + m_appHasFocus = appHasFocus; + emit appHasFocusChanged(); } } -bool SystemController::hasFocus() const +bool SystemController::appHasFocus() const { - return m_hasFocus; + return m_appHasFocus; } void SystemController::saveFile(QString fileName, const QString &data) diff --git a/client/ui/controllers/systemController.h b/client/ui/controllers/systemController.h index 973784f39..3a071ef8b 100644 --- a/client/ui/controllers/systemController.h +++ b/client/ui/controllers/systemController.h @@ -8,12 +8,12 @@ class SystemController : public QObject { Q_OBJECT - Q_PROPERTY(bool hasFocus READ hasFocus WRITE setHasFocus NOTIFY hasFocusChanged) + Q_PROPERTY(bool appHasFocus READ appHasFocus WRITE setAppHasFocus NOTIFY appHasFocusChanged) public: explicit SystemController(const std::shared_ptr &setting, QObject *parent = nullptr); - void setHasFocus(bool isActive); - bool hasFocus() const; + void setAppHasFocus(bool isActive); + bool appHasFocus() const; static void saveFile(QString fileName, const QString &data); @@ -25,13 +25,13 @@ public slots: signals: void fileDialogClosed(const bool isAccepted); - void hasFocusChanged(); + void appHasFocusChanged(); private: std::shared_ptr m_settings; QObject *m_qmlRoot; - bool m_hasFocus{false}; + bool m_appHasFocus{false}; }; #endif // SYSTEMCONTROLLER_H diff --git a/client/ui/qml/Controls2/GraphViewType.qml b/client/ui/qml/Controls2/GraphViewType.qml index 32a93ae36..1836ca1f2 100644 --- a/client/ui/qml/Controls2/GraphViewType.qml +++ b/client/ui/qml/Controls2/GraphViewType.qml @@ -16,7 +16,7 @@ ChartView { antialiasing: true - property bool shouldUpdate: SystemController.hasFocus + property bool shouldUpdate: SystemController.appHasFocus function getUTCSeconds() { return new Date().setMilliseconds(0) / 1000 @@ -78,7 +78,7 @@ ChartView { Connections { target: SystemController - function onHasFocusChanged() { + function onAppHasFocusChanged() { if (shouldUpdate) { printAll() } } } diff --git a/client/ui/qml/main2.qml b/client/ui/qml/main2.qml index 0238ce524..14a6c926d 100644 --- a/client/ui/qml/main2.qml +++ b/client/ui/qml/main2.qml @@ -28,7 +28,7 @@ Window { } onActiveChanged: { - SystemController.hasFocus = active + SystemController.appHasFocus = active } title: "AmneziaVPN" From 77a83e4fc323441be4121be81a0ef70bf9f831fd Mon Sep 17 00:00:00 2001 From: Igor Sorokin Date: Wed, 14 Feb 2024 17:46:36 +0300 Subject: [PATCH 07/15] Additional setup for Qt Charts --- README.md | 1 + client/CMakeLists.txt | 1 + client/amnezia_application.h | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 88ec574c4..2e090b122 100644 --- a/README.md +++ b/README.md @@ -55,6 +55,7 @@ Look deploy folder for build scripts. - Qt 5 Compatibility Module - Qt Shader Tools - Additional Libraries: + - Qt Charts - Qt Image Formats - Qt Multimedia - Qt Remote Objects diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 0bc4e89c1..6ab70147a 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -30,6 +30,7 @@ set(LIBS ${LIBS} Qt6::Network Qt6::Xml Qt6::RemoteObjects Qt6::Quick Qt6::Svg Qt6::QuickControls2 Qt6::Core5Compat Qt6::Concurrent + Qt6::Charts ) if(IOS) diff --git a/client/amnezia_application.h b/client/amnezia_application.h index 52427281f..f7f75656d 100644 --- a/client/amnezia_application.h +++ b/client/amnezia_application.h @@ -5,7 +5,7 @@ #include #include #include -#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) +#if defined(Q_OS_ANDROID) #include #else #include @@ -44,8 +44,10 @@ #define amnApp (static_cast(QCoreApplication::instance())) -#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) +#if defined(Q_OS_ANDROID) #define AMNEZIA_BASE_CLASS QGuiApplication +#elif defined(Q_OS_IOS) + #define AMNEZIA_BASE_CLASS QApplication #else #define AMNEZIA_BASE_CLASS SingleApplication #define QAPPLICATION_CLASS QApplication From 2e11cc56abc377e8e92b6a6cf94a312c56117d63 Mon Sep 17 00:00:00 2001 From: Igor Sorokin Date: Sat, 17 Feb 2024 19:55:14 +0300 Subject: [PATCH 08/15] Fix chart rendering (wrong SplineSeries.style) --- client/CMakeLists.txt | 5 ++--- client/ui/qml/Controls2/GraphViewType.qml | 2 -- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 6ab70147a..7616a6129 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -16,7 +16,7 @@ set(PACKAGES ) if(IOS) - set(PACKAGES ${PACKAGES} Multimedia) + set(PACKAGES ${PACKAGES} Multimedia Charts) endif() if(WIN32 OR (APPLE AND NOT IOS) OR (LINUX AND NOT ANDROID)) @@ -30,11 +30,10 @@ set(LIBS ${LIBS} Qt6::Network Qt6::Xml Qt6::RemoteObjects Qt6::Quick Qt6::Svg Qt6::QuickControls2 Qt6::Core5Compat Qt6::Concurrent - Qt6::Charts ) if(IOS) - set(LIBS ${LIBS} Qt6::Multimedia) + set(LIBS ${LIBS} Qt6::Multimedia Qt6::Charts) endif() if(WIN32 OR (APPLE AND NOT IOS) OR (LINUX AND NOT ANDROID)) diff --git a/client/ui/qml/Controls2/GraphViewType.qml b/client/ui/qml/Controls2/GraphViewType.qml index 1836ca1f2..1e8fcf26b 100644 --- a/client/ui/qml/Controls2/GraphViewType.qml +++ b/client/ui/qml/Controls2/GraphViewType.qml @@ -105,7 +105,6 @@ ChartView { //width: 2 axisX: xAxis axisY: yAxis - style: Qt.RoundCap capStyle: Qt.RoundCap useOpenGL: true color: "#70553c" @@ -118,7 +117,6 @@ ChartView { //width: 2 axisX: xAxis axisY: yAxis - style: Qt.RoundCap capStyle: Qt.RoundCap useOpenGL: true color: "#737274" From 2399d45babb43bda37b0c291adbf573d2a98d312 Mon Sep 17 00:00:00 2001 From: agalehaga Date: Sun, 18 Feb 2024 15:10:20 +0200 Subject: [PATCH 09/15] fixed can't find Qt6::Charts --- client/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index b6708bbae..c9c3bebf4 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -13,6 +13,7 @@ set(PACKAGES Core Gui Network Xml RemoteObjects Quick Svg QuickControls2 Core5Compat Concurrent LinguistTools + Charts ) if(IOS) From b500a1f09dd6b0a2e1b28a284b10df1625d9080c Mon Sep 17 00:00:00 2001 From: agalehaga Date: Mon, 19 Feb 2024 21:38:43 +0200 Subject: [PATCH 10/15] update translations --- client/translations/amneziavpn_ar.ts | 2 +- client/translations/amneziavpn_fa_IR.ts | 1658 ++++++++++++++--------- client/translations/amneziavpn_ru.ts | 1590 +++++++++++++--------- client/translations/amneziavpn_zh_CN.ts | 1624 +++++++++++++--------- 4 files changed, 2940 insertions(+), 1934 deletions(-) diff --git a/client/translations/amneziavpn_ar.ts b/client/translations/amneziavpn_ar.ts index 0501f454c..331dc9ff6 100644 --- a/client/translations/amneziavpn_ar.ts +++ b/client/translations/amneziavpn_ar.ts @@ -1315,7 +1315,7 @@ Already installed containers were found on the server. All installed containers - + diff --git a/client/translations/amneziavpn_fa_IR.ts b/client/translations/amneziavpn_fa_IR.ts index 1c8c02b95..263e2a9a3 100644 --- a/client/translations/amneziavpn_fa_IR.ts +++ b/client/translations/amneziavpn_fa_IR.ts @@ -2,50 +2,82 @@ - ConnectionController + AmneziaApplication - - - - - Connect - + Split tunneling for WireGuard is not implemented, the option was disabled + Раздельное туннелирование для "Wireguard" не реализовано,опция отключена + + + Split tunneling for %1 is not implemented, the option was disabled + جداسازی ترافیک برای %1 پیاده سازی نشده، این گزینه غیرفعال است + + + + AndroidController + + AmneziaVPN + AmneziaVPN + + + VPN Connected + Refers to the app - which is currently running the background and waiting + وی‎پی‎ان متصل است + + + + ApiController + + Error when retrieving configuration from cloud server + خطا در حین دریافت پیکربندی از سمت سرور + + + ConnectionController VPN Protocols is not installed. Please install VPN container at first - + پروتکل وی‎پی‎ان نصب نشده است +لطفا کانتینر وی‎پی‎ان را نصب کنید Connection... - + در حال ارتباط... Connected - - - - - Reconnection... - - - - - Disconnection... - + متصل Settings updated successfully, Reconnnection... - + تنظیمات به روز رسانی شد +در حال اتصال دوباره... Settings updated successfully - + تنظیمات با موفقیت به‎روز‎رسانی شدند + + + + Reconnection... + اتصال دوباره... + + + + + + + Connect + اتصال + + + + Disconnection... + قطع ارتباط... @@ -53,17 +85,17 @@ Add new connection - + ایجاد ارتباط جدید Configure your server - + تنظیم سرور Open config file, key or QR code - + بارگذاری فایل تنظیمات، کلید یا QR Code @@ -71,22 +103,22 @@ C&ut - + &بریدن &Copy - + &کپی &Paste - + &پیوست &SelectAll - + &انتخاب همه @@ -94,7 +126,7 @@ Access error! - + خطای دسترسی! @@ -102,12 +134,16 @@ Unable change protocol while there is an active connection - + امکان تغییر پروتکل در هنگام متصل بودن وجود ندارد The selected protocol is not supported on the current platform - + پروتکل انتخاب شده بر روی این پلتفرم پشتیبانی نمی‎‎شود + + + Reconnect via VPN Procotol: + Переподключение через VPN протокол: @@ -115,7 +151,7 @@ Scanned %1 of %2. - + ارزیابی %1 از %2. @@ -124,30 +160,32 @@ %1 installed successfully. - + %1 با موفقیت نصب شد %1 is already installed on the server. - + %1 در حال حاضر بر روی سرور نصب شده است Added containers that were already installed on the server - + +کانتینرهایی که بر روی سرور موجود بودند اضافه شدند Already installed containers were found on the server. All installed containers have been added to the application - + +کانتینرهای نصب شده بر روی سرور شناسایی شدند. تمام کانتینترهای نصب شده به نرم افزار اضافه شدند Settings updated successfully - + تنظیمات با موفقیت به‎روز‎رسانی شدند @@ -157,27 +195,27 @@ Already installed containers were found on the server. All installed containers Server '%1' was removed - + سرور %1 حذف شد All containers from server '%1' have been removed - + تمام کانتینترها از سرور %1 حذف شدند %1 has been removed from the server '%2' - + %1 از سرور %2 حذف شد Please login as the user - + لطفا به عنوان کاربر وارد شوید Server added successfully - + سرور با موفقیت اضافه شد @@ -185,17 +223,17 @@ Already installed containers were found on the server. All installed containers Read key failed: %1 - + خواندن کلید انجام نشد: %1 Write key failed: %1 - + نوشتن کلید انجام نشد: %1 Delete key failed: %1 - + حذف کلید انجام نشد: %1 @@ -204,27 +242,27 @@ Already installed containers were found on the server. All installed containers AmneziaVPN - + AmneziaVPN VPN Connected - + وی‎پی‎ان وصل شد VPN Disconnected - + وی‎پی‎ان قطع شد AmneziaVPN notification - + اخطار AmneziaVPN Unsecured network detected: - + شبکه ناامن شناسایی شد: @@ -232,12 +270,12 @@ Already installed containers were found on the server. All installed containers Removing services from %1 - + حذف سرویس‎ها از %1 Usually it takes no more than 5 minutes - + معمولا بیش از 5 دقیقه طول نمی‎کشد @@ -245,17 +283,17 @@ Already installed containers were found on the server. All installed containers VPN protocol - + پروتکل وی‎پی‎ان Servers - + سرورها Unable change server while there is an active connection - + امکان تغییر سرور در هنگام متصل بودن وجود ندارد @@ -263,87 +301,91 @@ Already installed containers were found on the server. All installed containers AmneziaWG settings - + تنظیمات AmneziaWG Port - + پورت Junk packet count - + تعداد بسته‎های ناخواسته Junk packet minimum size - + Junk packet minimum size Junk packet maximum size - + Junk packet maximum size Init packet junk size - + Init packet junk size Response packet junk size - + Response packet junk size Init packet magic header - + Init packet magic header Response packet magic header - + Response packet magic header Transport packet magic header - + Transport packet magic header Underload packet magic header - + Underload packet magic header Remove AmneziaWG - + حذف AmneziaWG Remove AmneziaWG from server? - + آیا میخواهید AmneziaWG از سرور حذف شود؟ All users with whom you shared a connection will no longer be able to connect to it. - + تمام کاربرانی که این اتصال را با آن‎ها با اشتراک گذاشته‎اید دیگر نمی‎توانند به آن متصل شوند. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. Continue - + ادامه Cancel - + کنسل Save and Restart Amnezia - + ذخیره و راه اندازی مجدد Amnezia @@ -351,28 +393,28 @@ Already installed containers were found on the server. All installed containers Cloak settings - + تنظیمات Cloak Disguised as traffic from - + پنهان کردن به عنوان ترافیک از Port - + پورت Cipher - + رمزگذاری Save and Restart Amnezia - + ذخیره و راه اندازی دوباره Amnezia @@ -380,7 +422,11 @@ Already installed containers were found on the server. All installed containers OpenVPN settings - + تنظیمات OpenVPN + + + VPN Addresses Subnet + آدرس زیرشبکه وی‎پی‎ان @@ -390,185 +436,189 @@ Already installed containers were found on the server. All installed containers Network protocol - + پروتکل شبکه Port - + پورت Auto-negotiate encryption - + رمزگذاری خودکار Hash - + هش SHA512 - + SHA512 SHA384 - + SHA384 SHA256 - + SHA256 SHA3-512 - + SHA3-512 SHA3-384 - + SHA3-384 SHA3-256 - + SHA3-256 whirlpool - + whirlpool BLAKE2b512 - + BLAKE2b512 BLAKE2s256 - + BLAKE2s256 SHA1 - + SHA1 Cipher - + رمزگذاری AES-256-GCM - + AES-256-GCM AES-192-GCM - + AES-192-GCM AES-128-GCM - + AES-128-GCM AES-256-CBC - + AES-256-CBC AES-192-CBC - + AES-192-CBC AES-128-CBC - + AES-128-CBC ChaCha20-Poly1305 - + ChaCha20-Poly1305 ARIA-256-CBC - + ARIA-256-CBC CAMELLIA-256-CBC - + CAMELLIA-256-CBC none - + none TLS auth - + اعتبار TLS Block DNS requests outside of VPN - + مسدود کردن درخواست‎های DNS خارج از وی‎پی‎ان Additional client configuration commands - + تنظیمات و دستورات اضافه برنامه متصل شونده Commands: - + دستورات: Additional server configuration commands - + تنظیمات و دستورات اضافه سرور Remove OpenVPN - + حذف OpenVPN Remove OpenVpn from server? - + آیا میخواهید OpenVPN از سرور حذف شود؟ All users with whom you shared a connection will no longer be able to connect to it. - + تمام کاربرانی که این اتصال را با آن‎ها با اشتراک گذاشته‎اید دیگر نمی‎توانند به آن متصل شوند. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. Continue - + ادامه Cancel - + کنسل Save and Restart Amnezia - + ذخیره و راه اندازی دوباره Amnezia @@ -576,42 +626,46 @@ Already installed containers were found on the server. All installed containers settings - + تنظیمات Show connection options - + نمایش تنظیمات اتصال Connection options %1 - + تنظیمات اتصال %1 Remove - + حذف Remove %1 from server? - + %1 از سرور حذف شود؟ All users with whom you shared a connection will no longer be able to connect to it. - + تمام کاربرانی که این اتصال را با آن‎ها با اشتراک گذاشته‎اید دیگر نمی‎توانند به آن متصل شوند. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. Continue - + ادامه Cancel - + کنسل @@ -619,23 +673,30 @@ Already installed containers were found on the server. All installed containers ShadowSocks settings - + تنظیمات ShadowSocks Port - + پورت Cipher - + رمزگذاری Save and Restart Amnezia - + ذخیره و راه اندازی دوباره Amnezia + + + + PageServerContainers + + Continue + Продолжить @@ -644,32 +705,33 @@ Already installed containers were found on the server. All installed containers A DNS service is installed on your server, and it is only accessible via VPN. - + یک سرویس DSN بر روی سرور شما نصب شده و فقط از طریق وی‎پی‎ان قابل دسترسی می‎باشد + The DNS address is the same as the address of your server. You can configure DNS in the settings, under the connections tab. - + آدرس DSN همان آدرس سرور شماست. میتوانید از قسمت تنظیمات و تب اتصالات DSN خود را تنظیم کنید Remove - + جذف Remove %1 from server? - + %1 از سرور حذف شود؟ Continue - + ادامه Cancel - + کنسل @@ -677,17 +739,17 @@ Already installed containers were found on the server. All installed containers Settings updated successfully - + تنظیمات با موفقیت به‎روز‎رسانی شد SFTP settings - + تنظیمات SFTP Host - + هاست @@ -695,69 +757,69 @@ Already installed containers were found on the server. All installed containers Copied - + کپی شد Port - + پورت Login - + ورود Password - + رمز عبور Mount folder on device - + بارگذاری پوشه بر روی دستگاه In order to mount remote SFTP folder as local drive, perform following steps: <br> - + برای بارگذاری پوشه SFTP بر روی درایو محلی قدم‎های زیر را انجام دهید: <br> <br>1. Install the latest version of - + <br> 1. آخرین نسخه را نصب کنید: <br>2. Install the latest version of - + <br> 2. آخرین نسخه را نصب کنید: Detailed instructions - + جزییات دستورالعمل‎ها Remove SFTP and all data stored there - + حذف SFTP و تمام داده‎های ذخیره شده در آن Remove SFTP and all data stored there? - + پوشه SFTP و تمام داده‎های آن حذف شوند؟ Continue - + ادامه Cancel - + کنسل @@ -765,22 +827,22 @@ Already installed containers were found on the server. All installed containers Settings updated successfully - + تنظیمات با موفقیت به‎روز‎‌رسانی شد Tor website settings - + تنظیمات وب‎سایت Tor Website address - + آدرس وب‎سایت Copied - + کپی شد @@ -792,30 +854,42 @@ Already installed containers were found on the server. All installed containers After creating your onion site, it takes a few minutes for the Tor network to make it available for use. + + Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url. + از <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> برای باز کردن این url استفاده کنید. + + + After installation it takes several minutes while your onion site will become available in the Tor Network. + بعد از نصب چند دقیقه طول میکشد که سایت پیازی شما در شبکه Tor در دسترس قرار گیرد. + When configuring WordPress set the this onion address as domain. - + زمانی که سایت وردپرس را تنظیم میکنید این آدرس پیازی را به عنوان دامنه قرار دهید. + + + When configuring WordPress set the this address as domain. + При настройке WordPress укажите этот onion адрес в качестве домена. Remove website - + حذف وب سایت The site with all data will be removed from the tor network. - + سایت با تمام داده‎ها از شبکه Tor حذف خواهد شد. Continue - + ادامه Cancel - + کنسل @@ -823,41 +897,45 @@ Already installed containers were found on the server. All installed containers Settings - + تنظیمات Servers - + سرورها Connection - + ارتباط Application - + نرم‎افزار Backup - + بک‎آپ About AmneziaVPN - + درباره Amnezia Close application - + بستن نرم‎افزار PageSettingsAbout + + Support the project with a donation + حمایت از پروژه با کمک‎های مالی + Support Amnezia @@ -866,27 +944,27 @@ Already installed containers were found on the server. All installed containers This is a free and open source application. If you like it, support the developers with a donation. - + این نرم‎افزار یک پروژه رایگان است. اگر آن را دوست دارید با کمک‎های مالی از توسعه‎دهندگان آن حمایت کنید. And if you don’t like the application, all the more reason to support it - the donation will be used for the improving the application. - + و اگر آن‎را دوست ندارید دلایل بیشتری برای کمک به نرم‎افزار است، کمک‎های مالی شما برای بهبود نرم‎افزار استفاده میشود. Card on Patreon - + کارت روی Patreon https://www.patreon.com/amneziavpn - + https://www.patreon.com/amneziavpn Show other methods on Github - + نمایش متد‎های دیگر در گیت هاب @@ -896,57 +974,57 @@ Already installed containers were found on the server. All installed containers Contacts - + مخاطب Telegram group - + گروه تلگرام To discuss features - + برای گفتگو در مورد ویژگی‎ها https://t.me/amnezia_vpn_en - + https://t.me/amnezia_vpn Mail - + ایمیل For reviews and bug reports - + برای ارائه نظرات و گزارشات باگ Github - + Github https://github.com/amnezia-vpn/amnezia-client - + https://github.com/amnezia-vpn/amnezia-client Website - + وب سایت https://amnezia.org - + https://amnezia.org Check for updates - + بررسی بروز‎رسانی @@ -954,151 +1032,151 @@ Already installed containers were found on the server. All installed containers Application - + نرم افزار Allow application screenshots - + مجوز اسکرین‎شات در برنامه Auto start - + شروع خودکار Launch the application every time the device is starts - + راه‎اندازی نرم‎افزار با هر بار روشن شدن دستگاه Start minimized - + شروع به صورت کوچک Launch application minimized - + راه‎اندازی برنامه به صورت کوچک Language - + زبان Logging - + گزارشات Enabled - + فعال Disabled - + غیر فعال Reset settings and remove all data from the application - + ریست کردن تنظیمات و حذف تمام داده‎ها از نرم‎افزار Reset settings and remove all data from the application? - + ریست کردن تنظیمات و حذف تمام داده‎ها از نرم‎افزار؟ All settings will be reset to default. All installed AmneziaVPN services will still remain on the server. - + تمام تنظیمات به حالت پیش‎فرض ریست می‎شوند. تمام سرویس‎های Amnezia بر روی سرور باقی می‎مانند. Continue - + ادامه Cancel - + کنسل PageSettingsBackup + + + Backup + پشتیبان‎گیری + Settings restored from backup file - - - - - Backup - + تنظیمات از فایل پشتیبان بازیابی شد Configuration backup - + پشتیبان‎گیری از پیکربندی You can save your settings to a backup file to restore them the next time you install the application. - + می‎توانید تنظیمات را در یک فایل پشتیبان ذخیره کرده و دفعه بعد که نرم‎افزار را نصب کردید آن‎ها را بازیابی کنید. Make a backup - + ایجاد یک پشتیبان Save backup file - + ذخیره فایل پشتیبان Backup files (*.backup) - + Backup files (*.backup) Backup file saved - + فایل پشتیبان ذخیره شد Restore from backup - + بازیابی از پشتیبان Open backup file - + باز کردن فایل پشتیبان Import settings from a backup file? - + ورود تنظیمات از فایل پشتیبان؟ All current settings will be reset - + تمام تنظیمات جاری ریست خواهد شد Continue - + ادامه Cancel - + کنسل @@ -1106,57 +1184,65 @@ Already installed containers were found on the server. All installed containers Connection - + ارتباط Auto connect - + اتصال خودکار Connect to VPN on app start - + اتصال به وی‎‎پی‎ان با شروع نرم‎افزار Use AmneziaDNS - + استفاده از AmneziaDNS If AmneziaDNS is installed on the server - + اگر AmneziaDNS بر روی سرور نصب شده باشد DNS servers - + سرورهای DNS When AmneziaDNS is not used or installed + + + Allows you to use the VPN only for certain Apps + + + + If AmneziaDNS is not used or installed + اگر AmneziaDNS نصب نشده یا استفاده نشود + Site-based split tunneling - + جداسازی ترافیک بر اساس سایت Allows you to select which sites you want to access through the VPN - + میتوانید مشخص کنید که چه سایت‎هایی از وی‎پی‎ان استفاده کنند App-based split tunneling - + جداسازی ترافیک بر اساس نرم‎افزار - - Allows you to use the VPN only for certain Apps - + Allows you to use the VPN only for certain applications + میتوانید مشخص کنید که چه نرم‎افزارهایی از وی‎پی‎ان استفاده کنند @@ -1169,57 +1255,57 @@ Already installed containers were found on the server. All installed containers DNS servers - + سرورهای DNS If AmneziaDNS is not used or installed - + اگر AmneziaDNS نصب نباشد یا استفاده نشود Primary DNS - + DNS اصلی Secondary DNS - + DNS ثانویه Restore default - + بازگشت به پیش‎فرض Restore default DNS settings? - + بازگشت به تنظیمات پیش‎فرض DNS؟ Continue - + ادامه Cancel - + کنسل Settings have been reset - + تنظیمات ریست شد Save - + ذخیره Settings saved - + ذخیره تنظیمات @@ -1227,62 +1313,62 @@ Already installed containers were found on the server. All installed containers Logging - + گزارشات Save logs - + ذخیره گزارشات Open folder with logs - + باز کردن پوشه گزارشات Save - + ذخیره Logs files (*.log) - + Logs files (*.log) Logs file saved - + فایل گزارشات ذخیره شد Save logs to file - + ذخیره گزارشات در فایل Clear logs? - + پاک کردن گزارشات؟ Continue - + ادامه Cancel - + کنسل Logs have been cleaned up - + گزارشات پاک شدند Clear logs - + پاک کردن گزارشات @@ -1290,32 +1376,32 @@ Already installed containers were found on the server. All installed containers All installed containers have been added to the application - - - - - No new installed containers found - + تمام کانتینرهای نصب شده به نرم‎افزار اضافه شدند Clear Amnezia cache - + پاک کردن حافظه داخلی Amnezia May be needed when changing other settings - + وقتی تنظیمات دیگر را تغییر دهید ممکن است نیاز باشد Clear cached profiles? - + پاک کردن پروفایل ذخیره شده؟ + + + + No new installed containers found + کانتینر نصب شده جدیدی پیدا نشد - + - + @@ -1324,7 +1410,7 @@ Already installed containers were found on the server. All installed containers Continue - + ادامه @@ -1333,17 +1419,17 @@ Already installed containers were found on the server. All installed containers Cancel - + کنسل Check the server for previously installed Amnezia services - + چک کردن سرویس‎های نصب شده Amnezia بر روی سرور Add them to the application if they were not displayed - + اضافه کردن آنها به نرم‎افزار اگر نمایش داده نشده‎اند @@ -1363,33 +1449,18 @@ Already installed containers were found on the server. All installed containers Remove server from application - + حذف کردن سرور از نرم‎افزار Do you want to remove the server from application? - - - All installed AmneziaVPN services will still remain on the server. - - - - - Clear server from Amnezia software - - Do you want to clear server from Amnezia software? - - - All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. - - Reset API config @@ -1400,33 +1471,56 @@ Already installed containers were found on the server. All installed containers Do you want to reset API config? + + Remove server? + حذف سرور؟ + + + + All installed AmneziaVPN services will still remain on the server. + تمام سرویس‎های نصب‎شده Amnezia همچنان بر روی سرور باقی خواهند ماند. + + + + Clear server from Amnezia software + پاک کردن سرور از نرم‎افزار Amnezia + + + Clear server from Amnezia software? + سرور از نرم‎افزار Amnezia پاک شود؟ + + + + All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. + تمام کانتینرها از سرور پاک شوند، به این معنی که تمام فایل‎های پیکربندی، کلیدها و مجوزها حذف خواهند شد. + PageSettingsServerInfo Server name - + نام سرور Save - + ذخیره Protocols - + پروتکل‎ها Services - + سرویس‎ها Data - + داده @@ -1434,32 +1528,36 @@ Already installed containers were found on the server. All installed containers settings - + تنظیمات Remove - + حذف Remove %1 from server? - + حذف %1 از سرور؟ All users with whom you shared a connection will no longer be able to connect to it. - + تمام کاربرانی که این ارتباط را با آنها به اشتراک گذاشته‎اید دیگر نمی‎توانند به آن متصل شوند. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, которым вы поделились VPN, больше не смогут к нему подключаться. Continue - + ادامه Cancel - + کنسل @@ -1467,49 +1565,61 @@ Already installed containers were found on the server. All installed containers Servers - + سرورها PageSettingsSplitTunneling - - Default server does not support split tunneling function - - - - - Only the sites listed here will be accessed through the VPN - + Addresses from the list should be accessed via VPN + دسترسی به آدرس‎های لیست از طریق وی‎پی‎ان Addresses from the list should not be accessed via VPN - + دسترسی به آدرس‎های لیست بدون وی‎پی‎ان Split tunneling - + جداسازی ترافیک Mode - + حالت Remove - + حذف Continue - + ادامه Cancel + کنسل + + + Site or IP + سایت یا آی‎پی + + + Import/Export Sites + بارگذاری / خروجی‎گرفتن از سایت‎ها + + + + Default server does not support split tunneling function + + + + + Only the sites listed here will be accessed through the VPN @@ -1525,45 +1635,45 @@ Already installed containers were found on the server. All installed containers Import - + بارگذاری Save site list - + ذخیره لیست سایت‎ها Save sites - + ذخیره سایت‎ها Sites files (*.json) - + Sites files (*.json) Import a list of sites - + بارگذاری لیست سایت‎ها Replace site list - + جایگزین کردن لیست سایت Open sites file - + باز کردن فایل سایت‎ها Add imported sites to existing ones - + اضافه کردن سایت‎های بارگذاری شده به سایت‎های موجود @@ -1571,102 +1681,121 @@ Already installed containers were found on the server. All installed containers Server connection - + ارتباط سرور Do not use connection code from public sources. It may have been created to intercept your data. It's okay as long as it's from someone you trust. - + از کد اتصالاتی که در منابع عمومی هستند استفاده نکنید. ممکن است برای شنود اطلاعات شما ایجاد شده باشند. + +ایرادی ندارد که از طرف کسی باشد که به او اعتماد دارید. What do you have? - + چی داری؟ - File with connection settings or backup - + File with connection settings + فایل شامل تنظیمات اتصال - File with connection settings - + File with connection settings or backup + فایل شامل تنظیمات اتصال یا بک‎آپ Open config file - + باز کردن فایل تنظیمات QR-code - + QR-Code Key as text - + متن شامل کلید PageSetupWizardCredentials - - Configure your server - + Server connection + Подключение к серверу Server IP address [:port] - + آدرس آی‎پی سرور (:پورت) - - 255.255.255.255:22 - + 255.255.255.255:88 + 255.255.255.255:88 + + + Password / SSH private key + Password / SSH private key + + + + Continue + ادامه + + + All data you enter will remain strictly confidential +and will not be shared or disclosed to the Amnezia or any third parties + تمام داده‎هایی که شما وارد می‎کنید به شدت محرمانه‎ است و با Amnezia یا هر شخص ثالث دیگری به اشتراک گذاشته نمی‎شود + + + + Enter the address in the format 255.255.255.255:88 + آدرس را با فرمت 255.255.255.255:88 وارد کنید Login to connect via SSH - + ورود و اتصال با استفاده از SSH - - Password or SSH private key + + Configure your server + سرور خود را پیکربندی کنید + + + + 255.255.255.255:22 - - Continue + + Password or SSH private key All data you enter will remain strictly confidential and will not be shared or disclosed to the Amnezia or any third parties - + تمام داده‎هایی که شما وارد می‎کنید به شدت محرمانه‎ است و با Amnezia یا هر شخص ثالث دیگری به اشتراک گذاشته نمی‎شود Ip address cannot be empty - - - - - Enter the address in the format 255.255.255.255:88 - + آدرس آی‎پی نمی‎تواند خالی باشد Login cannot be empty - + نام‎کاربری نمی‎تواند خالی باشد Password/private key cannot be empty - + پسورد یا کلید خصوصی نمی‎تواند خالی باشد @@ -1674,66 +1803,74 @@ It's okay as long as it's from someone you trust. What is the level of internet control in your region? - + سطح کنترل اینترنت در منطقه شما چگونه است؟ Set up a VPN yourself - + یک وی‎پی‎ان برای خودتان بسازید I want to choose a VPN protocol - + می‎خواهم پروتکل وی‎پی‎ان را انتخاب کنم Continue - + ادامه Set up later - + بعدا تنظیم شود PageSetupWizardInstalling - - - - Usually it takes no more than 5 minutes - - The server has already been added to the application - + سرور در حال حاضر به نرم‎افزار اضافه شده است + + + Amnesia has detected that your server is currently + Amnesia обнаружила, что ваш сервер в настоящее время + + + busy installing other software. Amnesia installation + занят установкой других протоколов или сервисов. Установка Amnesia Amnezia has detected that your server is currently - + برنامه Amnezia تشخیص داده است که سرور در حال حاضر busy installing other software. Amnezia installation - + مشغول نصب نرم‎افزار دیگری است. نصب Amnezia will pause until the server finishes installing other software - + متوقف شده تا زمانی که سرور نصب نرم‎افزار دیگر را تمام کند Installing - + در حال نصب Cancel installation - + لغو عملیات نصب + + + + + Usually it takes no more than 5 minutes + معمولا بیش از 5 دقیقه طول نمی‎کشد @@ -1741,32 +1878,32 @@ It's okay as long as it's from someone you trust. Installing %1 - + در حال نصب %1 More detailed - + جزییات بیشتر Close - + بستن Network protocol - + پروتکل شبکه Port - + پورت Install - + نصب @@ -1774,12 +1911,12 @@ It's okay as long as it's from someone you trust. VPN protocol - + پروتکل وی‎پی‎ان Choose the one with the highest priority for you. Later, you can install other protocols and additional services, such as DNS proxy and SFTP. - + پروتکلی که بیشترین اولویت را برای شما دارد انتخاب کنید. بعدا، میتوانید پروتکل‎ها و سرویس‎های اضافه مانند پروکسی DNS و SFTP را هم نصب کنید @@ -1787,7 +1924,7 @@ It's okay as long as it's from someone you trust. Point the camera at the QR code and hold for a couple of seconds. - + دوربین را روی QR Code بگیرید و برای چند ثانیه آن را نگه دارید. @@ -1795,27 +1932,27 @@ It's okay as long as it's from someone you trust. Settings restored from backup file - + تنظیمات از فایل بک‎آپ بازیابی شدند Free service for creating a personal VPN on your server. - + سرویس رایگان برای ایجاد وی‎پی‎ان شخصی بر روی سرور خودتان. Helps you access blocked content without revealing your privacy, even to VPN providers. - + به شما کمک می‎کند که بدون فاش کردن حریم شخصی خودتان حتی برای ارائه دهنده وی‎پی‎ان به محتوای مسدود شده دسترسی پیدا کنید. I have the data to connect - + من داده برای اتصال دارم I have nothing - + من هیچی ندارم @@ -1828,27 +1965,27 @@ It's okay as long as it's from someone you trust. Connection key - + کلید ارتباط A line that starts with vpn://... - + یک کلید متنی که با vpn:// شروع می‎شود Key - + کلید Insert - + وارد کردن Continue - + ادامه @@ -1856,155 +1993,152 @@ It's okay as long as it's from someone you trust. New connection - + ارتباط جدید Do not use connection code from public sources. It could be created to intercept your data. - + از کد اتصالی که در منابع عمومی هست استفاده نکنید. ممکن است برای شنود اطلاعات شما ایجاد شده باشد. Collapse content - + جمع کردن محتوا Show content - + نمایش محتوا Connect - + اتصال PageShare + + + OpenVpn native format + فرمت OpenVPN + + + + WireGuard native format + فرمت WireGuard + + + VPN Access + VPN-Доступ + + + + Connection + ارتباط + + + VPN access without the ability to manage the server + Доступ к VPN, без возможности управления сервером + + + Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the server, as well as change settings. + Доступ к управлению сервером. Пользователь, с которым вы делитесь полным доступом к соединению, сможет добавлять и удалять ваши протоколы и службы на сервере, а также изменять настройки. + + + + + Server + سرور + + + Accessing + در حال دسترسی به + + + File with accessing settings to + فایل شامل تنظیمات دسترسی به + Config revoked - + تنظیمات ابطال‎شد Connection to - + ارتباط با File with connection settings to - + فایل شامل تنظیمات ارتباط با Save OpenVPN config - + ذخیره تنظیمات OpenVPN Save WireGuard config - + ذخیره تنظیمات WireGuard Save ShadowSocks config - + ذخیره تنظیمات ShadowSocks Save Cloak config - + ذخیره تنظیمات Cloak For the AmneziaVPN app - - - - - OpenVpn native format - - - - - WireGuard native format - + برای نرم‎افزار AmneziaVPN ShadowSocks native format - + فرمت ShadowSocks Cloak native format - + فرمت Cloak Share VPN Access - + به اشتراک گذاشتن دسترسی وی‎پی‎ان Share full access to the server and VPN - + به اشتراک گذاشتن دسترسی کامل به سرور و وی‎پی‎ان Use for your own devices, or share with those you trust to manage the server. - - - - - - Share - - - - - Connection - + برای دستگاه‎های خودتان استفاده کنید یا با آنهایی که برای مدیریت سرور به آن‎ها اعتماد دارید به اشتراک بگذارید. Users - - - - - Share VPN access without the ability to manage the server - + کاربران User name - - - - - - Server - - - - - - Protocol - - - - - - Connection format - + نام کاربری Search - + جستجو @@ -2014,42 +2148,77 @@ It's okay as long as it's from someone you trust. Rename - + تغییر نام Client name - + نام کلاینت Save - + ذخیره Revoke - + ابطال Revoke the config for a user - %1? + + Revoke the config for a user - + ابطال تنظیمات برای کاربر + The user will no longer be able to connect to your server. - + کاربر دیگر نمی‎تواند به سرور وصل شود. Continue - + ادامه Cancel - + کنسل + + + Full access + دسترسی کامل + + + + Share VPN access without the ability to manage the server + به اشتراک گذاشتن دسترسی وی‎پی‎ان بدون امکان مدیریت سرور + + + Share access to server management. The user with whom you share full access to the server will be able to add and remove any protocols and services to the server, as well as change settings. + به اشتراک گذاری دسترسی به مدیریت سرور. کاربری که دسترسی کامل سرور با او به اشتراک گذاشته می‎شود می‎تواند پروتکل‌‎ها و سرویس‎ها را در سرور حذف یا اضافه کند و یا تنظیمات سرور را تغییر دهد. + + + + + Protocol + پروتکل + + + + + Connection format + فرمت ارتباط + + + + + Share + اشتراک‎گذاری @@ -2057,49 +2226,50 @@ It's okay as long as it's from someone you trust. Full access to the server and VPN - + دسترسی کامل به سرور و وی‎پی‎ان We recommend that you use full access to the server only for your own additional devices. - + ما پیشنهاد میکنیم که ازحالت دسترسی کامل به سرور فقط برای دستگاه‎های دیگر خودتان استفاده کنید + If you share full access with other people, they can remove and add protocols and services to the server, which will cause the VPN to work incorrectly for all users. - + اگر دسترسی کامل را با دیگران به اشتراک بگذارید، آن‎ها می‎توانند پروتکل‎ها و سرویس‎ها را حذف یا اضافه کنند که باعث می‎شود که وی‎پی‎ان دیگر برای سایر کاربران کار نکند. Server - + سرور Accessing - + در حال دسترسی به File with accessing settings to - + فایل شامل تنظیمات دسترسی به Share - + اشتراک‎گذاری Connection to - + ارتباط با File with connection settings to - + فایل شامل تنظیمات ارتباط با @@ -2107,7 +2277,7 @@ It's okay as long as it's from someone you trust. Close - + بستن @@ -2115,38 +2285,38 @@ It's okay as long as it's from someone you trust. Password entry not found - + Password entry not found Could not decrypt data - + Could not decrypt data Unknown error - + Unknown error Could not open wallet: %1; %2 - + Could not open wallet: %1; %2 Password not found - + Password not found Could not open keystore - + Could not open keystore Could not remove private key from keystore - + Could not remove private key from keystore @@ -2154,12 +2324,12 @@ It's okay as long as it's from someone you trust. Unknown error - + Unknown error Access to keychain denied - + Access to keychain denied @@ -2167,27 +2337,27 @@ It's okay as long as it's from someone you trust. Could not store data in settings: access error - + Could not store data in settings: access error Could not store data in settings: format error - + Could not store data in settings: format error Could not delete data from settings: access error - + Could not delete data from settings: access error Could not delete data from settings: format error - + Could not delete data from settings: format error Entry not found - + Entry not found @@ -2195,80 +2365,80 @@ It's okay as long as it's from someone you trust. Password entry not found - + Password entry not found Could not decrypt data - + Could not decrypt data D-Bus is not running - + D-Bus is not running Unknown error - + Unknown error No keychain service available - + No keychain service available Could not open wallet: %1; %2 - + Could not open wallet: %1; %2 Access to keychain denied - + Access to keychain denied Could not determine data type: %1; %2 - + Could not determine data type: %1; %2 Entry not found - + Entry not found Unsupported entry type 'Map' - + Unsupported entry type 'Map' Unknown kwallet entry type '%1' - + Unknown kwallet entry type '%1' Password not found - + Password not found Could not open keystore - + Could not open keystore Could not retrieve private key from keystore - + Could not retrieve private key from keystore Could not create decryption cipher - + Could not create decryption cipher @@ -2276,367 +2446,443 @@ It's okay as long as it's from someone you trust. Credential size exceeds maximum size of %1 - + Credential size exceeds maximum size of %1 Credential key exceeds maximum size of %1 - + Credential key exceeds maximum size of %1 Writing credentials failed: Win32 error code %1 - + Writing credentials failed: Win32 error code %1 Encryption failed - + Encryption failed D-Bus is not running - + D-Bus is not running Unknown error - + Unknown error Could not open wallet: %1; %2 - + Could not open wallet: %1; %2 Password not found - + Password not found Could not open keystore - + Could not open keystore Could not create private key generator - + Could not create private key generator Could not generate new private key - + Could not generate new private key Could not retrieve private key from keystore - + Could not retrieve private key from keystore Could not create encryption cipher - + Could not create encryption cipher Could not encrypt data - + Could not encrypt data QObject - - - Sftp service - - No error - + No error Unknown Error - + Unknown Error Function not implemented - + Function not implemented Server check failed - + Server check failed Server port already used. Check for another software - + Server port already used. Check for another software Server error: Docker container missing - + Server error: Docker container missing Server error: Docker failed - + Server error: Docker failed Installation canceled by user - + Installation canceled by user The user does not have permission to use sudo - + The user does not have permission to use sudo Ssh request was denied - + Ssh request was denied Ssh request was interrupted - + Ssh request was interrupted Ssh internal error - + Ssh internal error Invalid private key or invalid passphrase entered - + Invalid private key or invalid passphrase entered The selected private key format is not supported, use openssh ED25519 key types or PEM key types - + The selected private key format is not supported, use openssh ED25519 key types or PEM key types Timeout connecting to server - + Timeout connecting to server Sftp error: End-of-file encountered - + Sftp error: End-of-file encountered Sftp error: File does not exist - + Sftp error: File does not exist Sftp error: Permission denied - + Sftp error: Permission denied Sftp error: Generic failure - + Sftp error: Generic failure Sftp error: Garbage received from server - + Sftp error: Garbage received from server Sftp error: No connection has been set up - + Sftp error: No connection has been set up Sftp error: There was a connection, but we lost it - + Sftp error: There was a connection, but we lost it Sftp error: Operation not supported by libssh yet - + Sftp error: Operation not supported by libssh yet Sftp error: Invalid file handle - + Sftp error: Invalid file handle Sftp error: No such file or directory path exists - + Sftp error: No such file or directory path exists Sftp error: An attempt to create an already existing file or directory has been made - + Sftp error: An attempt to create an already existing file or directory has been made Sftp error: Write-protected filesystem - + Sftp error: Write-protected filesystem Sftp error: No media was in remote drive + Sftp error: No media was in remote drive + + + + The config does not contain any containers and credentials for connecting to the server + تنظیمات شامل هیچ کانتینر یا اعتبارنامه‎ای برای اتصال به سرور نیست + + + + VPN connection error + + + + + Error when retrieving configuration from API + + + + + This config has already been added to the application + + + + + ErrorCode: %1. + + Failed to save config to disk + Failed to save config to disk + OpenVPN config missing - + OpenVPN config missing OpenVPN management server error - + OpenVPN management server error OpenVPN executable missing - + OpenVPN executable missing ShadowSocks (ss-local) executable missing - + ShadowSocks (ss-local) executable missing Cloak (ck-client) executable missing - + Cloak (ck-client) executable missing Amnezia helper service error - + Amnezia helper service error OpenSSL failed - + OpenSSL failed Can't connect: another VPN connection is active - + Can't connect: another VPN connection is active Can't setup OpenVPN TAP network adapter - + Can't setup OpenVPN TAP network adapter VPN pool error: no available addresses - + VPN pool error: no available addresses - - The config does not contain any containers and credentials for connecting to the server - + The config does not contain any containers and credentiaks for connecting to the server + The config does not contain any containers and credentiaks for connecting to the server - - VPN connection error - + + Internal error + Internal error - - Error when retrieving configuration from API + + IPsec + IPsec + + + + ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but it may be recognized by analysis systems in some highly censored regions. - - This config has already been added to the application + + OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. - - Internal error + + Create a file vault on your server to securely store and transfer files. - - ErrorCode: %1. + + This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against blocking. + +OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server. + +Cloak protects OpenVPN from detection and blocking. + +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. + +If there is a extreme level of Internet censorship in your region, we advise you to use only OpenVPN over Cloak from the first connection + +* Available in the AmneziaVPN across all platforms +* High power consumption on mobile devices +* Flexible settings +* Not recognised by DPI analysis systems +* Works over TCP network protocol, 443 port. + - - IPsec + + 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 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. + + + 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 AmneziaVPN 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. + پروتکل IKEv2 به همراه لایه رمزنگاری IPSec به عنوان پروتکل وی‎پی‎ان مدرن و پایدار است. +یکی از قابلیت‎‎های متمایز این پروتکل قابلیت سوییچ بین شبکه‎ها و دستگاه‎هاست که قابلیت انطباق بالایی در محیط شبکه‎های دینامیک را دارد +در حالیکه ترکیبی از امنیت، پایداری و سرعت را ارائه میدهد اما مهم است که اشاره کنیم IKEv2 به راحتی قابل تشخیص در شبکه و بلاک شدن میباشد. + +* در AmneziaVPN فقط بر روی ویندوز در دسترس است +* مصرف باتری کم روی دستگاه‎های موبایل +* تنظیمات ساده +* امکان شناسایی شدن در شبکه‎های تحلیل DPI +* روی پروتکل شبکه UDP، پورت‎های 500 و 4500 کار می‎کند. + + + + DNS Service + سرویس DNS + + + + Sftp file sharing service + سرویس اشتراک گذاری فایل Sftp + Website in Tor network - + وب سایت در شبکه Tor Amnezia DNS - - - - - Sftp file sharing service - + Amnezia DNS OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange. - + پروتکل OpenVPN یکی از پروتکل‎های وی‎پی‎ان محبوب می‎باشد با تنظیمات و پیکربندی‎های قابل تغییر. از پروتکل امنیتی داخلی خود با تبادل کلید SSL/TLS استفاده می‎کند. - - 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 - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions. + پروتکل ShadowSocks ترافیک وی‎پی‎ان را پنهان و آن را شبیه ترافیک عادی وب می‎کند، اما در مناطقی که سانسور شدیدی اعمال می‎شود با سیستم‎های تحلیلی قابل شناسایی است. - - OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. - + OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probbing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. + پروتکل OpenVPN over Cloak که همان پروتکل OpenVPN با قابلیت پنهان کردن ترافیک از سیستم‎های تحلیل فعال برروی شبکه. ایده‎آل برای گذر از ممنوعیت در مناطقی که سانسور شدیدی اعمال می‎کنند. WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship. - + پروتکل WireGuard یک پروتکل وی‎پی‎ان جدید با عملکرد بسیار خوب، سرعت بالا و مصرف انرژی پایین. برای مناطقی که سطح سانسور پایینی دارند پیشنهاد می‎شود. AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, but very resistant to blockages. Recommended for regions with high levels of censorship. - + پروتکل AmneziaWG یک پروتکل اختصاصی Amnezia که بر اساس WireGaurd کار میکند. به اندازه WireGaurd پرسرعت است و در عین حال بسیار مقاوم به بلاک شدن توسط شبکه ست. مناسب برای مناطق با سطح سانسور بالاست. IKEv2 - 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. - + پروتکل IKEv2 پروتکلی پایدار و مدرن که مقداری سریعتر از سایر پروتکل‎هاست. بعد از قطع سیگنال دوباره اتصال را بازیابی می‎کند. به صورت پیش‎فرض بر روی آخرین نسخه دستگاه‎های اندروید و iOS پیشتیبانی می‎شود. Deploy a WordPress site on the Tor network in two clicks. - + با دو کلیک یک سایت وردپرس در شبکه Tor راه‎اندازی کنید. Replace the current DNS server with your own. This will increase your privacy level. - + سرور DNS را با مال خودتان جایگزین کنید. این کار سطح حریم خصوصی شما را افزایش می‎دهد. - - Create a file vault on your server to securely store and transfer files. - + Creates a file vault on your server to securely store and transfer files. + یک محفظه ایمن بر روی سرور خودتان ایجاد کنید که به طور امن بتوانید فایل‎ها را ذخیره و جابجا کنید. @@ -2648,7 +2894,18 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * Flexible customisation to suit user needs to work with different operating systems and devices * Recognised by DPI analysis systems and therefore susceptible to blocking * Can operate over both TCP and UDP network protocols. - + پروتکل OpenVPN یکی از پروتکل‎های محبوب و تست شده در دسترس می‎باشد که از پروتکل امنیتی مخصوص خودش استفاده میکند. +از امتیازات SSL/TLS برای رمزنگاری و تبادل کلید استفاده میکند. +همچنین OpenVPN از روش‎های چندگانه‎ای برای احراز هویت پشتیبانی می‎کند که آن را قابل انطباق و منعطف میکند. +از طیف وسیعی از دستگاه‎ها و سیستم عامل‎ها نیز پشتیبانی می‎کند. +به دلیل طبیعت متن-باز آن، OpenVPN از بررسی گسترده توسط یک جامعه جهانی سود می‎برد که باعث بهتر شدن وضعیت امنیتی آن می‎شود. +به دلیل تعادل قوی بین عملکرد، امنیت و سازگاری OpenVPN تبدیل به یکی از انتخاب‎های اصلی برای اشخاص آگاه بر حریم خصوصی و تجارت‎های مشابه شده است. + +* بر روی تمام سیستم‎عامل‎ها در AmneziaVPN در دسترس است. +* مصرف انرژی عادی بر روی دستگاه‎های موبایل +* قابلیت شخصی‎سازی منعطف مطابق با نیاز شما که امکان کار بر روی دستگاه‎ها و سیستم عامل‎های مختلف را می‎دهد. +* قابل شناسایی توسط سیستم‎های تحلیل عمیق DPI در شبکه و در نتیجه امکان بلاک شدن +* امکان کار بر روی دو پروتکل TCP و UDP @@ -2660,13 +2917,18 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * Configurable encryption protocol * Detectable by some DPI systems * Works over TCP network protocol. - + پروتکل Shadowsocks، الهام گرفته از پروتکل Socks5، اتصال را با استفاده از رمزگذاری AEAD امن میکند. اگرچه Shadowsocks طوری طراحی شده که برای شناسایی در شبکه چالش‎برانگیز باشد و محتاط عمل کند اما این پروتکل مانند یک اتصال استاندارد HTTPS نیست و برخی از سیستم‎های تحلیل ترافیک مشخص ممکن است بتوانند اتصال Shadowsocks را شناسایی کنند. به دلیل محدودیت پشتیبانی در Amnezia پیشنهاد می‎شود که از َAmneziaWG استفاده شود. + +* فقط بر روی پلتفرم دسکتاپ بر روی Amnezia قابل دسترس است +* مصرف انرژی عادی در دستگاه‎های موبایل +* پروتکل رمزنگاری قابل پیکربندی +* قابل شناسایی توسط برخی سیستم‎های تحلیل عمیق DPI +* عملکرد بر روی پروتکل شبکه TCP - - This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against blocking. + This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for blocking protection. -OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server. +OpenVPN provides a secure VPN connection by encrypting all Internet traffic between the client and the server. Cloak protects OpenVPN from detection and blocking. @@ -2682,12 +2944,29 @@ If there is a extreme level of Internet censorship in your region, we advise you * Not recognised by DPI analysis systems * Works over TCP network protocol, 443 port. - + این یک ترکیب از پروتکل OpenVPN و افزونه Cloak می‎باشد که به طور خاص برای محافظت از بلاک شدن طراحی شده است. + +پروتکل OpenVPN با رمزنگاری تمام ترافیک اینترنت بین دستگاه و سرور یک اتصال وی‎پی‎ان امن را فراهم می‎کند. + +افزونه Cloak از OpenVPN در مقابل شناسایی و بلاک شدن محافظت می‎کند + +افزونه Cloak می‎تواند داده‎های بسته ترافیکی را تغییر دهد و در نتیجه ترافیک وی‎پی‎ان شبیه ترافیک عادی وب می‎شود و همچنین از وی‎پی‎ان در مقابل شناسایی شدن توسط DPI محافظت می‎کند. این باعث می‎شود که این پروتکل به شناسایی‎شدن بسیار مقاوم باشد + +درست بعد از دریافت اولین بسته داده،افزونه Cloak اتصال ورودی را احراز هویت می‎کند و اگر عملیات احراز هویت انجام نشود Cloak سرور را به عنوان یک وب سایت جعلی در‎ می‎آورد و وی‎پی‎ان شما را از تحلیل شبکه پنهان می‎کند. + +اگر در منطقه شما سطح بالایی از سانسور وجود دارد ما به شما پیشنهاد می‎کنیم از اولین ارتباط تنها از OpenVPN over Cloak استفاده کنید. + + +* بر روی تمام پلتفرم‎ها در AmneziaVPN در دسترس است +* مصرف بالای انرژی در دستگاه‎های موبایل +* تنظیمات منطعف +* غیرقابل تشخیص و شناسایی توسط سیستم‎های تحلیل عمیق DPI +* کار کردن روی پروتکل شبکه TCP، پورت 443 + - 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. +Provides stable VPN connection, high performance on all devices. Uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput. WireGuard is very susceptible to 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 @@ -2695,7 +2974,15 @@ WireGuard is very susceptible to blocking due to its distinct packet signatures. * Minimum number of settings * Easily recognised by DPI analysis systems, susceptible to blocking * Works over UDP network protocol. - + یک پروتکل نسبتا محبوب وی‎پی‎ان با معماری ساده +اتصال وی‎پی‎‎ان پایدار با عملکرد بالا بر روی تمام دستگاه‎‌ها فراهم می‎کند. از تنظیمات ثابت برای رمزنگاری استفاده می‎کند و در مقایسه با OpenVPN سرعت بهتری در انتقال اطلاعات دارد. +پروتکل WireGaurd به دلیل امضای بسته داده مخصوص، احتمال بسیار بالایی برای شناسایی و بلاک شدن دارد.برعکس سایر پروتکل‎های وی‎پی‎ان که از روش‎های مخفی کردن استفاده می‎کنند، امضای ثابت WireGuard به راحتی می‎تواند توسط سیستم‎های تحلیل عمیق DPI یا سایر روش‎های بررسی شبکه شناسایی و بلاک شود. + +* بر روی تمام پلتفرم‌ها در AmneziaVPN قابل دسترسی است. +* مصرف انرژی پایین +* کمترین میزان تنظیمات +* امکان شناسایی شدن توسط سیستم‎های تحلیل عمیق DPI به آسانی و بلاک شدن +* کار بر روی پروتکل شبکه UDP @@ -2708,90 +2995,97 @@ This means that AmneziaWG keeps the fast performance of the original while addin * Minimum number of settings * Not recognised by DPI analysis systems, resistant to blocking * 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. + یک نسخه مدرن از پروتکل وی‎پی‎ان محبوب، AmneziaWG بر روی پایه‎های WireGuard ساخته شده و معماری ساده و عملکرد بالای آن را بر روی تمام دستگاه‎ها حفظ کرده است. +در حالی‎که WireGuard به دلیل بازدهی آن شناخته می‎شود اما امکان شناسایی شدن بالا به دلیل امضای ثابت بسته داده‎های آن یکی از مشکلات آن است. AmneziaWG این مشکل را با استفاده از متدهای مخفی سازی حل کرده و در نتیجه ترافیک آن همانند با ترافیک عادی اینترنت است. +این بدین معنی است که AmneziaWG عملکرد سریع اصلی را حفظ کرده و یک لایه پنهان سازی به آن اضافه کرده که باعث می‎شود که به انتخابی عالی برای آنها که وی‎پی‎ان امن و سریع می‎خواهند تبدیل شود. -* Available in the AmneziaVPN 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. - +* بر روی تمام پلتفرم‌ها در AmneziaVPN قابل دسترسی است. +* مصرف انرژی پایین +* کمترین میزان تنظیمات +* غیرقابل تشخیص توسط سیستم‎های تحلیل عمیق DPI و مقاوم به بلاک شدن +* کار بر روی پروتکل شبکه UDP - - DNS Service - + AmneziaWG container + AmneziaWG протокол Sftp file sharing service - is secure FTP service - + سرویس اشتراک فایل Sftp یک سرویس امن FTP می‎باشد + + + + Sftp service + سرویس Sftp Entry not found - + Entry not found Access to keychain denied - + Access to keychain denied No keyring daemon - + No keyring daemon Already unlocked - + Already unlocked No such keyring - + No such keyring Bad arguments - + Bad arguments I/O error - + I/O error Cancelled - + Cancelled Keyring already exists - + Keyring already exists No match - + No match Unknown error - + Unknown error error 0x%1: %2 - + error 0x%1: %2 + + + WireGuard Configuration Highlighter + هایلایتر پیکربندی WireGuard + + + &Randomize colors + رنگ‎های تصادفی @@ -2799,7 +3093,7 @@ While it offers a blend of security, stability, and speed, it's essential t Choose language - + انتخاب زبان @@ -2807,13 +3101,13 @@ While it offers a blend of security, stability, and speed, it's essential t Server #1 - + Server #1 Server - + Server @@ -2821,22 +3115,22 @@ While it offers a blend of security, stability, and speed, it's essential t Software version - - - - - Backup file is corrupted - + نسخه نرم‎افزار All settings have been reset to default values - + تمام تنظیمات به مقادیر پیش فرض ریست شد Cached profiles cleared - + پروفایل ذخیره شده پاک شد + + + + Backup file is corrupted + فایل بک‎آپ خراب شده است @@ -2845,17 +3139,17 @@ While it offers a blend of security, stability, and speed, it's essential t Save AmneziaVPN config - + ذخیره تنظیمات AmneziaVPN Share - + اشتراک‎گذاری Copy - + کپی @@ -2863,22 +3157,22 @@ While it offers a blend of security, stability, and speed, it's essential t Copied - + کپی شد Copy config string - + کپی‎کردن متن تنظیمات Show connection settings - + نمایش تنظیمات ارتباط To read the QR code in the Amnezia app, select "Add server" → "I have data to connect" → "QR code, key or settings file" - + برای خواندن QR Code در نرم‎افزار AmneziaVPN "اضافه کردن سرور" -> "من داده برای اتصال دارم" -> "QR Code، کلید یا فایل تنظیمات" @@ -2886,42 +3180,42 @@ While it offers a blend of security, stability, and speed, it's essential t Hostname not look like ip adress or domain name - + فرمت هاست شبیه آدرس آی‎پی یا نام دامنه نیست New site added: %1 - + سایت جدید اضافه‎شد: %1 Site removed: %1 - + سایت حذف شد: %1 Can't open file: %1 - + فایل باز نشد: %1 Failed to parse JSON data from file: %1 - + مشکل در تحلیل داده‎های JSON در فایل: %1 The JSON data is not an array in file: %1 - + داده‎های JSON در فایل به صورت آرایه نیستند: %1 Import completed - + بارگذاری کامل شد Export completed - + خروجی گرفتن کامل شد @@ -2930,31 +3224,31 @@ While it offers a blend of security, stability, and speed, it's essential t Show - + نمایش Connect - + اتصال Disconnect - + قطع ارتباط Visit Website - + بازدید وب سایت Quit - + خروج @@ -2962,7 +3256,7 @@ While it offers a blend of security, stability, and speed, it's essential t The field can't be empty - + Поле не может быть пустым @@ -2970,7 +3264,7 @@ While it offers a blend of security, stability, and speed, it's essential t Mbps - + Mbps @@ -2978,42 +3272,42 @@ While it offers a blend of security, stability, and speed, it's essential t Unknown - + ناشناخته Disconnected - + قطع شده Preparing - + درحال آماده‎سازی Connecting... - + برقراری ارتباط... Connected - + وصل شد Disconnecting... - + در حال قطع شدن... Reconnecting... - + برقراری ارتباط دوباره... Error - + خطا @@ -3021,32 +3315,52 @@ While it offers a blend of security, stability, and speed, it's essential t Low - + پایین Medium or High - + متوسط یا بالا Extreme - + شدید I just want to increase the level of my privacy. - + من فقط میخواهم سطح حریم شخصی خودم را بالا ببرم I want to bypass censorship. This option recommended in most cases. - + من میخواهم از سانسور عبور کنم. این گزینه در اکثر موارد توصیه می‎‌شود Most VPN protocols are blocked. Recommended if other options are not working. - + اکثر پروتکل‎های وی‎پی‎ان مسدود شده‎اند. در مواردی که بقیه گزینه‎ها کار نمی‎کنند توصی می‎شود. + + + High + Высокий + + + Medium + Средний + + + Many foreign websites and VPN providers are blocked + Многие иностранные сайты и VPN-провайдеры заблокированы + + + Some foreign sites are blocked, but VPN providers are not blocked + Некоторые иностранные сайты заблокированы, но VPN-провайдеры не блокируются + + + I just want to increase the level of privacy + Хочу просто повысить уровень приватности @@ -3054,12 +3368,12 @@ While it offers a blend of security, stability, and speed, it's essential t Private key passphrase - + عبارت کلید خصوصی Save - + ذخیره diff --git a/client/translations/amneziavpn_ru.ts b/client/translations/amneziavpn_ru.ts index 92302e5a2..fa50cda43 100644 --- a/client/translations/amneziavpn_ru.ts +++ b/client/translations/amneziavpn_ru.ts @@ -2,50 +2,74 @@ - ConnectionController + AmneziaApplication - - - - - Connect - + Split tunneling for WireGuard is not implemented, the option was disabled + Раздельное туннелирование для "Wireguard" не реализовано,опция отключена + + + Split tunneling for %1 is not implemented, the option was disabled + Раздельное туннелирование для %1 не реализовано, опция отключена + + + + AndroidController + + AmneziaVPN + AmneziaVPN + + + VPN Connected + Refers to the app - which is currently running the background and waiting + VPN Подключен + + + ConnectionController VPN Protocols is not installed. Please install VPN container at first - + VPN протоколы не установлены. + Пожалуйста, установите протокол Connection... - + Подключение... Connected - - - - - Reconnection... - - - - - Disconnection... - + Подключено Settings updated successfully, Reconnnection... - + Настройки успешно обновлены. Подключение... Settings updated successfully - + Настройки успешно обновлены + + + + Reconnection... + Переподключение... + + + + + + + Connect + Подключиться + + + + Disconnection... + Отключение... @@ -53,17 +77,17 @@ Add new connection - + Добавить новое соединение Configure your server - + Настроить свой сервер Open config file, key or QR code - + Открыть файл конфига, ключ или QR код @@ -71,22 +95,22 @@ C&ut - + &Вырезать &Copy - + &Копировать &Paste - + &Вставить &SelectAll - + &ВыбратьВсе @@ -94,7 +118,7 @@ Access error! - + Ошибка доступа! @@ -102,12 +126,16 @@ Unable change protocol while there is an active connection - + Невозможно изменить протокол при активном соединении The selected protocol is not supported on the current platform - + Выбранный протокол не поддерживается на данном устройстве + + + Reconnect via VPN Procotol: + Переподключение через VPN протокол: @@ -115,7 +143,7 @@ Scanned %1 of %2. - + Отсканировано %1 из%2. @@ -124,30 +152,31 @@ %1 installed successfully. - + %1 успешно установлен. %1 is already installed on the server. - + %1 уже установлен на сервер. Added containers that were already installed on the server - + Добавлены сервисы и протоколы, которые были ранее установлены на сервер Already installed containers were found on the server. All installed containers have been added to the application - + +На сервере обнаружены установленные протоколы и сервисы, все они добавлены в приложение Settings updated successfully - + Настройки успешно обновлены @@ -157,27 +186,27 @@ Already installed containers were found on the server. All installed containers Server '%1' was removed - + Сервер '%1' был удален All containers from server '%1' have been removed - + Все протоколы и сервисы были удалены с сервера '%1' %1 has been removed from the server '%2' - + %1 был удален с сервера '%2' Please login as the user - + Пожалуйста, войдите в систему от имени пользователя Server added successfully - + Сервер успешно добавлен @@ -185,17 +214,17 @@ Already installed containers were found on the server. All installed containers Read key failed: %1 - + Не удалось считать ключ: %1 Write key failed: %1 - + Не удалось записать ключ: %1 Delete key failed: %1 - + Не удалось удалить ключ: %1 @@ -204,27 +233,27 @@ Already installed containers were found on the server. All installed containers AmneziaVPN - + AmneziaVPN VPN Connected - + VPN Подключен VPN Disconnected - + VPN Выключен AmneziaVPN notification - + Уведомление AmneziaVPN Unsecured network detected: - + Обнаружена незащищенная сеть: @@ -232,12 +261,12 @@ Already installed containers were found on the server. All installed containers Removing services from %1 - + Удаление сервисов c %1 Usually it takes no more than 5 minutes - + Обычно это занимает не более 5 минут @@ -245,17 +274,17 @@ Already installed containers were found on the server. All installed containers VPN protocol - + VPN протокол Servers - + Серверы Unable change server while there is an active connection - + Невозможно изменить сервер при активном соединении @@ -263,87 +292,91 @@ Already installed containers were found on the server. All installed containers AmneziaWG settings - + AmneziaWG настройки Port - + Порт Junk packet count - + Junk packet count Junk packet minimum size - + Junk packet minimum size Junk packet maximum size - + Junk packet maximum size Init packet junk size - + Init packet junk size Response packet junk size - + Response packet junk size Init packet magic header - + Init packet magic header Response packet magic header - + Response packet magic header Transport packet magic header - + Transport packet magic header Underload packet magic header - + Underload packet magic header Remove AmneziaWG - + Удалить AmneziaWG Remove AmneziaWG from server? - + Удалить AmneziaWG с сервера? All users with whom you shared a connection will no longer be able to connect to it. - + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. Continue - + Продолжить Cancel - + Отменить Save and Restart Amnezia - + Сохранить и пререзагрузить Amnezia @@ -351,28 +384,28 @@ Already installed containers were found on the server. All installed containers Cloak settings - + Настройки Cloak Disguised as traffic from - + Замаскировать трафик под Port - + Порт Cipher - + Шифрование Save and Restart Amnezia - + Сохранить и перезагрузить Amnezia @@ -380,7 +413,11 @@ Already installed containers were found on the server. All installed containers OpenVPN settings - + Настройки OpenVPN + + + VPN Addresses Subnet + Подсеть для VPN @@ -390,185 +427,189 @@ Already installed containers were found on the server. All installed containers Network protocol - + Сетевой протокол Port - + Порт Auto-negotiate encryption - + Шифрование с автоматическим согласованием Hash - + Хэш SHA512 - + SHA512 SHA384 - + SHA384 SHA256 - + SHA256 SHA3-512 - + SHA3-512 SHA3-384 - + SHA3-384 SHA3-256 - + SHA3-256 whirlpool - + whirlpool BLAKE2b512 - + BLAKE2b512 BLAKE2s256 - + BLAKE2s256 SHA1 - + SHA1 Cipher - + Шифрование AES-256-GCM - + AES-256-GCM AES-192-GCM - + AES-192-GCM AES-128-GCM - + AES-128-GCM AES-256-CBC - + AES-256-CBC AES-192-CBC - + AES-192-CBC AES-128-CBC - + AES-128-CBC ChaCha20-Poly1305 - + ChaCha20-Poly1305 ARIA-256-CBC - + ARIA-256-CBC CAMELLIA-256-CBC - + CAMELLIA-256-CBC none - + none TLS auth - + TLS авторизация Block DNS requests outside of VPN - + Блокировать DNS запросы за пределами VPN Additional client configuration commands - + Дополнительные команды конфигурации клиента Commands: - + Commands: Additional server configuration commands - + Дополнительные команды конфигурации сервера Remove OpenVPN - + Удалить OpenVPN Remove OpenVpn from server? - + Удалить OpenVpn с сервера? All users with whom you shared a connection will no longer be able to connect to it. - + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. Continue - + Продолжить Cancel - + Отменить Save and Restart Amnezia - + Сохранить и перезагрузить @@ -576,42 +617,46 @@ Already installed containers were found on the server. All installed containers settings - + настройки Show connection options - + Показать параметры подключения Connection options %1 - + Параметры подключения %1 Remove - + Удалить Remove %1 from server? - + Удалить %1 с сервера? All users with whom you shared a connection will no longer be able to connect to it. - + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. Continue - + Продолжить Cancel - + Отменить @@ -619,23 +664,30 @@ Already installed containers were found on the server. All installed containers ShadowSocks settings - + Настройки ShadowSocks Port - + Порт Cipher - + Шифрование Save and Restart Amnezia - + Сохранить и перезагрузить Amnezia + + + + PageServerContainers + + Continue + Продолжить @@ -644,32 +696,33 @@ Already installed containers were found on the server. All installed containers A DNS service is installed on your server, and it is only accessible via VPN. - + На вашем сервере установлен DNS-сервис, доступ к нему возможен только через VPN. + The DNS address is the same as the address of your server. You can configure DNS in the settings, under the connections tab. - + Адрес DNS совпадает с адресом вашего сервера. Настроить DNS можно во вкладке "Соединения" настроек приложения Remove - + Удалить Remove %1 from server? - + Удалить %1 с сервера? Continue - + Продолжить Cancel - + Отменить @@ -677,17 +730,17 @@ Already installed containers were found on the server. All installed containers Settings updated successfully - + Настройки успешно обновлены SFTP settings - + Настройки SFTP Host - + Хост @@ -695,69 +748,69 @@ Already installed containers were found on the server. All installed containers Copied - + Скопировано Port - + Порт Login - + Логин Password - + Пароль Mount folder on device - + Смонтировать папку на вашем устройстве In order to mount remote SFTP folder as local drive, perform following steps: <br> - + Чтобы смонтировать SFTP-папку как локальный диск на вашем устройстве, выполните следующие действия <br>1. Install the latest version of - + <br>1. Установите последнюю версию <br>2. Install the latest version of - + <br>2. Установите последнюю версию Detailed instructions - + Подробные инструкции Remove SFTP and all data stored there - + Удалить SFTP-хранилище со всеми данными Remove SFTP and all data stored there? - + Удалить SFTP-хранилище и все хранящиеся на нем данные? Continue - + Продолжить Cancel - + Отменить @@ -765,22 +818,22 @@ Already installed containers were found on the server. All installed containers Settings updated successfully - + Настройки успешно обновлены Tor website settings - + Настройки сайта в сети Тоr Website address - + Адрес сайта Copied - + Скопировано @@ -792,30 +845,42 @@ Already installed containers were found on the server. All installed containers After creating your onion site, it takes a few minutes for the Tor network to make it available for use. + + Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url. + Используйте <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> для открытия этой ссылки. + + + After installation it takes several minutes while your onion site will become available in the Tor Network. + Через несколько минут после установки ваш Onion сайт станет доступен в сети Tor. + When configuring WordPress set the this onion address as domain. - + При настройке WordPress укажите этот onion адрес в качестве домена. + + + When configuring WordPress set the this address as domain. + При настройке WordPress укажите этот onion адрес в качестве домена. Remove website - + Удалить сайт The site with all data will be removed from the tor network. - + Сайт со всеми данными будет удален из сети Tor. Continue - + Продолжить Cancel - + Отменить @@ -823,41 +888,45 @@ Already installed containers were found on the server. All installed containers Settings - + Настройки Servers - + Серверы Connection - + Соединение Application - + Приложение Backup - + Резервное копирование About AmneziaVPN - + Об AmneziaVPN Close application - + Закрыть приложение PageSettingsAbout + + Support the project with a donation + Поддержите проект пожертвованием + Support Amnezia @@ -866,27 +935,27 @@ Already installed containers were found on the server. All installed containers This is a free and open source application. If you like it, support the developers with a donation. - + Это бесплатное приложение с открытым исходным кодом. Если, оно вам нравится - поддержите разработчиков пожертвованием. And if you don’t like the application, all the more reason to support it - the donation will be used for the improving the application. - + А, если оно вам не нравится, тем более поддержите-пожертвование пойдет на улучшение приложения. Card on Patreon - + Картой на Patreon https://www.patreon.com/amneziavpn - + https://www.patreon.com/amneziavpn Show other methods on Github - + Показать другие способы на Github @@ -896,57 +965,57 @@ Already installed containers were found on the server. All installed containers Contacts - + Контакты Telegram group - + Группа в Telegram To discuss features - + Для обсуждений https://t.me/amnezia_vpn_en - + https://t.me/amnezia_vpn Mail - + Почта For reviews and bug reports - + Для отзывов и сообщений об ошибках Github - + Github https://github.com/amnezia-vpn/amnezia-client - + https://github.com/amnezia-vpn/amnezia-client Website - + Веб-сайт https://amnezia.org - + https://amnezia.org Check for updates - + Проверить обновления @@ -954,151 +1023,151 @@ Already installed containers were found on the server. All installed containers Application - + Приложение Allow application screenshots - + Разрешить скриншоты приложения Auto start - + Автозапуск Launch the application every time the device is starts - + Открывать приложение при запуске устройства Start minimized - + Запускать в свернутом виде Launch application minimized - + Запускать приложение в свернутом виде Language - + Язык Logging - + Логирование Enabled - + Включено Disabled - + Отключено Reset settings and remove all data from the application - + Сбросить настройки и удалить все данные из приложения Reset settings and remove all data from the application? - + Сбросить настройки и удалить все данные из приложения? All settings will be reset to default. All installed AmneziaVPN services will still remain on the server. - + Все данные из приложения будут удалены, все установленные сервисы AmneziaVPN останутся на сервере. Continue - + Продолжить Cancel - + Отменить PageSettingsBackup - - - Settings restored from backup file - - Backup - + Резервное копирование - - Configuration backup - + + Settings restored from backup file + Восстановление настроек из бэкап файла + + + + Configuration backup + Бэкап конфигурация You can save your settings to a backup file to restore them the next time you install the application. - + Поможет мгновенно восстановить настройки соединений при следующей установке. Make a backup - + Сделать бэкап Save backup file - + Сохранить бэкап файл Backup files (*.backup) - + Файлы резервного копирования (*.backup) Backup file saved - + Бэкап файл сохранен Restore from backup - + Восстановить из бэкапа Open backup file - + Открыть бэкап файл Import settings from a backup file? - + Импортировать настройки из бэкап файла? All current settings will be reset - + Все текущие настройки будут сброшены Continue - + Продолжить Cancel - + Отменить @@ -1106,57 +1175,65 @@ Already installed containers were found on the server. All installed containers Connection - + Соединение Auto connect - + Автоподключение Connect to VPN on app start - + Подключение к VPN при запуске приложения Use AmneziaDNS - + Использовать Amnezia DNS If AmneziaDNS is installed on the server - + Если он уставновлен на сервере DNS servers - + DNS сервер When AmneziaDNS is not used or installed + + + Allows you to use the VPN only for certain Apps + + + + If AmneziaDNS is not used or installed + Эти серверы будут использоваться, если не включен AmneziaDNS + Site-based split tunneling - + Раздельное туннелирование сайтов Allows you to select which sites you want to access through the VPN - + Позволяет подключаться к одним сайтам через VPN, а к другим в обход него App-based split tunneling - + Раздельное VPN-туннелирование приложений - - Allows you to use the VPN only for certain Apps - + Allows you to use the VPN only for certain applications + Позволяет использовать VPN только для определённых приложений @@ -1169,57 +1246,57 @@ Already installed containers were found on the server. All installed containers DNS servers - + DNS сервер If AmneziaDNS is not used or installed - + Эти адреса будут использоваться, если не включен или не установлен AmneziaDNS Primary DNS - + Первичный DNS Secondary DNS - + Вторичный DNS Restore default - + Восстановить по умолчанию Restore default DNS settings? - + Восстановить настройки DNS по умолчанию? Continue - + Продолжить Cancel - + Отменить Settings have been reset - + Настройки сброшены Save - + Сохранить Settings saved - + Сохранить настройки @@ -1227,62 +1304,62 @@ Already installed containers were found on the server. All installed containers Logging - + Логирование Save logs - + Сохранять логи Open folder with logs - + Открыть папку с логами Save - + Сохранить Logs files (*.log) - + Logs files (*.log) Logs file saved - + Файл с логами сохранен Save logs to file - + Сохранить логи в файл Clear logs? - + Очистить логи? Continue - + Продолжить Cancel - + Отменить Logs have been cleaned up - + Логи удалены Clear logs - + Удалить логи @@ -1290,32 +1367,32 @@ Already installed containers were found on the server. All installed containers All installed containers have been added to the application - - - - - No new installed containers found - + Все установленные протоколы и сервисы были добавлены в приложение Clear Amnezia cache - + Очистить кэш Amnezia May be needed when changing other settings - + Может понадобиться при изменении других настроек Clear cached profiles? - + Удалить кэш Amnezia? + + + + No new installed containers found + Новые установленные протоколы и сервисы не обнаружены - + - + @@ -1324,7 +1401,7 @@ Already installed containers were found on the server. All installed containers Continue - + Продолжить @@ -1333,17 +1410,17 @@ Already installed containers were found on the server. All installed containers Cancel - + Отменить Check the server for previously installed Amnezia services - + Проверить сервер на наличие ранее установленных сервисов Amnezia Add them to the application if they were not displayed - + Добавить их в приложение, если они не были отображены @@ -1363,33 +1440,18 @@ Already installed containers were found on the server. All installed containers Remove server from application - + Удалить сервер из приложения Do you want to remove the server from application? - - - All installed AmneziaVPN services will still remain on the server. - - - - - Clear server from Amnezia software - - Do you want to clear server from Amnezia software? - - - All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. - - Reset API config @@ -1400,33 +1462,56 @@ Already installed containers were found on the server. All installed containers Do you want to reset API config? + + Remove server? + Удалить сервер? + + + + All installed AmneziaVPN services will still remain on the server. + Все установленные сервисы и протоколы Amnezia всё ещё останутся на сервере. + + + + Clear server from Amnezia software + Очистить сервер от протоколов и сервисов Amnezia + + + Clear server from Amnezia software? + Удалить все сервисы и протоколы Amnezia с сервера? + + + + All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. + На сервере будут удалены все данные, связанные с Amnezia: протоколы, сервисы, конфигурационные файлы, ключи и сертификаты. + PageSettingsServerInfo Server name - + Имя сервера Save - + Сохранить Protocols - + Протоколы Services - + Сервисы Data - + Данные @@ -1434,32 +1519,36 @@ Already installed containers were found on the server. All installed containers settings - + настройки Remove - + Удалить Remove %1 from server? - + Удалить %1 с сервера? All users with whom you shared a connection will no longer be able to connect to it. - + Все пользователи, с которыми вы поделились этим VPN-протоколом, больше не смогут к нему подключаться. + + + All users who you shared a connection with will no longer be able to connect to it. + Все пользователи, которым вы поделились VPN, больше не смогут к нему подключаться. Continue - + Продолжить Cancel - + Отменить @@ -1467,49 +1556,61 @@ Already installed containers were found on the server. All installed containers Servers - + Серверы PageSettingsSplitTunneling - - Default server does not support split tunneling function - - - - - Only the sites listed here will be accessed through the VPN - + Addresses from the list should be accessed via VPN + Только адреса из списка должны открываться через VPN Addresses from the list should not be accessed via VPN - + Адреса из списка не должны открываться через VPN Split tunneling - + Раздельное VPN-туннелирование Mode - + Режим Remove - + Удалить Continue - + Продолжить Cancel + Отменить + + + Site or IP + Сайт или IP + + + Import/Export Sites + Импорт/экспорт Сайтов + + + + Default server does not support split tunneling function + + + + + Only the sites listed here will be accessed through the VPN @@ -1525,45 +1626,45 @@ Already installed containers were found on the server. All installed containers Import - + Импорт Save site list - + Сохранить список сайтов Save sites - + Сохранить Sites files (*.json) - + Sites files (*.json) Import a list of sites - + Импортировать список с сайтами Replace site list - + Заменить список сайтов Open sites file - + Открыть список с сайтами Add imported sites to existing ones - + Добавить импортированные сайты к существующим @@ -1571,102 +1672,121 @@ Already installed containers were found on the server. All installed containers Server connection - + Подключение к серверу Do not use connection code from public sources. It may have been created to intercept your data. It's okay as long as it's from someone you trust. - + Не используйте код подключения из публичных источников. Его могли создать, чтобы перехватывать ваши данные.. + +Всё в порядке, если кодом поделился пользователь, которому вы доверяете. What do you have? - + Выберете что у вас есть - File with connection settings or backup - + File with connection settings + Файл с настройками подключения - File with connection settings - + File with connection settings or backup + Файл с настройками подключения или бэкап Open config file - + Открыть файл с конфигурацией QR-code - + QR-код Key as text - + Ключ в виде текста PageSetupWizardCredentials - - Configure your server - + Server connection + Подключение к серверу Server IP address [:port] - + Server IP address [:port] - - 255.255.255.255:22 - + 255.255.255.255:88 + 255.255.255.255:88 + + + Password / SSH private key + Password / SSH private key + + + + Continue + Продолжить + + + All data you enter will remain strictly confidential +and will not be shared or disclosed to the Amnezia or any third parties + Все данные, которые вы вводите, останутся строго конфиденциальными и не будут переданы или раскрыты Amnezia или каким-либо третьим сторонам + + + + Enter the address in the format 255.255.255.255:88 + Введите адрес в формате 255.255.255.255:88 Login to connect via SSH - + Login to connect via SSH - - Password or SSH private key + + Configure your server + Настроить ваш сервер + + + + 255.255.255.255:22 - - Continue + + Password or SSH private key All data you enter will remain strictly confidential and will not be shared or disclosed to the Amnezia or any third parties - + Все введенные вами данные останутся строго конфиденциальными и не будут переданы или раскрыты Amnezia или третьим лицам Ip address cannot be empty - - - - - Enter the address in the format 255.255.255.255:88 - + Поле Ip address не может быть пустым Login cannot be empty - + Поле Login не может быть пустым Password/private key cannot be empty - + Поле Password/private key не может быть пустым @@ -1674,99 +1794,107 @@ It's okay as long as it's from someone you trust. What is the level of internet control in your region? - + Какой уровень контроля интернета в вашем регионе? Set up a VPN yourself - + Настроить VPN самостоятельно I want to choose a VPN protocol - + Выбрать VPN-протокол Continue - + Продолжить Set up later - + Настроить позднее PageSetupWizardInstalling - - - - Usually it takes no more than 5 minutes - - The server has already been added to the application - + Сервер уже был добавлен в приложение + + + Amnesia has detected that your server is currently + Amnesia обнаружила, что ваш сервер в настоящее время + + + busy installing other software. Amnesia installation + занят установкой других протоколов или сервисов. Установка Amnesia Amnezia has detected that your server is currently - + Amnezia обнаружила, что ваш сервер в настоящее время busy installing other software. Amnezia installation - + занят установкой другого программного обеспечения. Установка Amnezia will pause until the server finishes installing other software - + будет приостановлена до тех пор, пока сервер не завершит установку Installing - + Установка Cancel installation + + + + Usually it takes no more than 5 minutes + Обычно это занимает не более 5 минут + PageSetupWizardProtocolSettings Installing %1 - + Установить %1 More detailed - + Подробнее Close - + Закрыть Network protocol - + Сетевой протокол Port - + Порт Install - + Установить @@ -1774,12 +1902,12 @@ It's okay as long as it's from someone you trust. VPN protocol - + VPN протокол Choose the one with the highest priority for you. Later, you can install other protocols and additional services, such as DNS proxy and SFTP. - + Выберите протокол, который вам больше подходит. В дальнейшем можно установить другие протоколы и дополнительные сервисы, такие как DNS-прокси, TOR-сайт и SFTP. @@ -1787,7 +1915,7 @@ It's okay as long as it's from someone you trust. Point the camera at the QR code and hold for a couple of seconds. - + Наведите камеру на QR-код и удерживайте ее в течение нескольких секунд. @@ -1795,27 +1923,27 @@ It's okay as long as it's from someone you trust. Settings restored from backup file - + Восстановление настроек из бэкап файла Free service for creating a personal VPN on your server. - + Простое и бесплатное приложение для запуска self-hosted VPN с высокими требованиями к приватности. Helps you access blocked content without revealing your privacy, even to VPN providers. - + Помогает получить доступ к заблокированному контенту, не раскрывая вашу конфиденциальность даже провайдерам VPN. I have the data to connect - + У меня есть данные для подключения I have nothing - + У меня ничего нет @@ -1828,27 +1956,27 @@ It's okay as long as it's from someone you trust. Connection key - + Ключ для подключения A line that starts with vpn://... - + Строка, которая начинается с vpn://... Key - + Ключ Insert - + Вставить Continue - + Продолжить @@ -1856,31 +1984,68 @@ It's okay as long as it's from someone you trust. New connection - + Новое соединение Do not use connection code from public sources. It could be created to intercept your data. - + Не используйте код подключения из публичных источников. Его могли создать, чтобы перехватывать ваши данные. Collapse content - + Свернуть Show content - + Показать содержимое ключа Connect - + Подключиться PageShare + + + OpenVpn native format + OpenVpn нативный формат + + + + WireGuard native format + WireGuard нативный формат + + + VPN Access + VPN-Доступ + + + + Connection + Соединение + + + VPN access without the ability to manage the server + Доступ к VPN, без возможности управления сервером + + + Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the server, as well as change settings. + Доступ к управлению сервером. Пользователь, с которым вы делитесь полным доступом к соединению, сможет добавлять и удалять ваши протоколы и службы на сервере, а также изменять настройки. + + + + + Server + Сервер + + + Accessing + Доступ + Config revoked @@ -1889,117 +2054,73 @@ It's okay as long as it's from someone you trust. Connection to - + Подключение к File with connection settings to - + Файл с настройками доступа к Save OpenVPN config - + Сохранить OpenVPN config Save WireGuard config - + Сохранить WireGuard config Save ShadowSocks config - + Сохранить конфигурацию ShadowSocks Save Cloak config - + Сохранить конфигурацию Cloak For the AmneziaVPN app - - - - - OpenVpn native format - - - - - WireGuard native format - + Для AmneziaVPN ShadowSocks native format - + ShadowSocks нативный формат Cloak native format - + Cloak нативный формат Share VPN Access - + Поделиться VPN Share full access to the server and VPN - + Поделиться полным доступом к серверу Use for your own devices, or share with those you trust to manage the server. - - - - - - Share - - - - - Connection - + Используйте для собственных устройств или передайте управление сервером тем, кому вы доверяете. Users - - - - - Share VPN access without the ability to manage the server - + Пользователи User name - - - - - - Server - - - - - - Protocol - - - - - - Connection format - + Имя пользователя @@ -2024,7 +2145,7 @@ It's okay as long as it's from someone you trust. Save - + Сохранить @@ -2039,17 +2160,44 @@ It's okay as long as it's from someone you trust. The user will no longer be able to connect to your server. - + Пользователь больше не сможет подключаться к вашему серверу Continue - + Продолжить Cancel - + Отменить + + + Full access + Полный доступ + + + + Share VPN access without the ability to manage the server + Поделиться доступом к VPN, без возможности управления сервером + + + + + Protocol + Протокол + + + + + Connection format + Формат подключения + + + + + Share + Поделиться @@ -2057,29 +2205,29 @@ It's okay as long as it's from someone you trust. Full access to the server and VPN - + Полный доступ к серверу и VPN We recommend that you use full access to the server only for your own additional devices. - + Мы рекомендуем использовать полный доступ к серверу только для собственных устройств. If you share full access with other people, they can remove and add protocols and services to the server, which will cause the VPN to work incorrectly for all users. - + Если вы поделитесь полным доступом с другими людьми, то они смогут удалять и добавлять протоколы и сервисы на сервер, что приведет к некорректной работе VPN для всех пользователей. Server - + Сервер Accessing - + Доступ @@ -2089,17 +2237,17 @@ It's okay as long as it's from someone you trust. Share - + Поделиться Connection to - + Подключение к File with connection settings to - + Файл с настройками доступа к @@ -2107,7 +2255,7 @@ It's okay as long as it's from someone you trust. Close - + Закрыть @@ -2115,38 +2263,38 @@ It's okay as long as it's from someone you trust. Password entry not found - + Password entry not found Could not decrypt data - + Could not decrypt data Unknown error - + Unknown error Could not open wallet: %1; %2 - + Could not open wallet: %1; %2 Password not found - + Password not found Could not open keystore - + Could not open keystore Could not remove private key from keystore - + Could not remove private key from keystore @@ -2154,12 +2302,12 @@ It's okay as long as it's from someone you trust. Unknown error - + Unknown error Access to keychain denied - + Access to keychain denied @@ -2167,27 +2315,27 @@ It's okay as long as it's from someone you trust. Could not store data in settings: access error - + Could not store data in settings: access error Could not store data in settings: format error - + Could not store data in settings: format error Could not delete data from settings: access error - + Could not delete data from settings: access error Could not delete data from settings: format error - + Could not delete data from settings: format error Entry not found - + Entry not found @@ -2195,80 +2343,80 @@ It's okay as long as it's from someone you trust. Password entry not found - + Password entry not found Could not decrypt data - + Could not decrypt data D-Bus is not running - + D-Bus is not running Unknown error - + Unknown error No keychain service available - + No keychain service available Could not open wallet: %1; %2 - + Could not open wallet: %1; %2 Access to keychain denied - + Access to keychain denied Could not determine data type: %1; %2 - + Could not determine data type: %1; %2 Entry not found - + Entry not found Unsupported entry type 'Map' - + Unsupported entry type 'Map' Unknown kwallet entry type '%1' - + Unknown kwallet entry type '%1' Password not found - + Password not found Could not open keystore - + Could not open keystore Could not retrieve private key from keystore - + Could not retrieve private key from keystore Could not create decryption cipher - + Could not create decryption cipher @@ -2276,276 +2424,280 @@ It's okay as long as it's from someone you trust. Credential size exceeds maximum size of %1 - + Credential size exceeds maximum size of %1 Credential key exceeds maximum size of %1 - + Credential key exceeds maximum size of %1 Writing credentials failed: Win32 error code %1 - + Writing credentials failed: Win32 error code %1 Encryption failed - + Encryption failed D-Bus is not running - + D-Bus is not running Unknown error - + Unknown error Could not open wallet: %1; %2 - + Could not open wallet: %1; %2 Password not found - + Password not found Could not open keystore - + Could not open keystore Could not create private key generator - + Could not create private key generator Could not generate new private key - + Could not generate new private key Could not retrieve private key from keystore - + Could not retrieve private key from keystore Could not create encryption cipher - + Could not create encryption cipher Could not encrypt data - + Could not encrypt data QObject - - - Sftp service - - No error - + No error Unknown Error - + Unknown Error Function not implemented - + Function not implemented Server check failed - + Server check failed Server port already used. Check for another software - + Server port already used. Check for another software Server error: Docker container missing - + Server error: Docker container missing Server error: Docker failed - + Server error: Docker failed Installation canceled by user - + Installation canceled by user The user does not have permission to use sudo - + The user does not have permission to use sudo Ssh request was denied - + Ssh request was denied Ssh request was interrupted - + Ssh request was interrupted Ssh internal error - + Ssh internal error Invalid private key or invalid passphrase entered - + Invalid private key or invalid passphrase entered The selected private key format is not supported, use openssh ED25519 key types or PEM key types - + The selected private key format is not supported, use openssh ED25519 key types or PEM key types Timeout connecting to server - + Timeout connecting to server Sftp error: End-of-file encountered - + Sftp error: End-of-file encountered Sftp error: File does not exist - + Sftp error: File does not exist Sftp error: Permission denied - + Sftp error: Permission denied Sftp error: Generic failure - + Sftp error: Generic failure Sftp error: Garbage received from server - + Sftp error: Garbage received from server Sftp error: No connection has been set up - + Sftp error: No connection has been set up Sftp error: There was a connection, but we lost it - + Sftp error: There was a connection, but we lost it Sftp error: Operation not supported by libssh yet - + Sftp error: Operation not supported by libssh yet Sftp error: Invalid file handle - + Sftp error: Invalid file handle Sftp error: No such file or directory path exists - + Sftp error: No such file or directory path exists Sftp error: An attempt to create an already existing file or directory has been made - + Sftp error: An attempt to create an already existing file or directory has been made Sftp error: Write-protected filesystem - + Sftp error: Write-protected filesystem Sftp error: No media was in remote drive + Sftp error: No media was in remote drive + + + + The config does not contain any containers and credentials for connecting to the server + Конфиг не содержит контейнеров и учетных данных для подключения к серверу + + + + ErrorCode: %1. + + Failed to save config to disk + Failed to save config to disk + OpenVPN config missing - + OpenVPN config missing OpenVPN management server error - + OpenVPN management server error OpenVPN executable missing - + OpenVPN executable missing ShadowSocks (ss-local) executable missing - + ShadowSocks (ss-local) executable missing Cloak (ck-client) executable missing - + Cloak (ck-client) executable missing Amnezia helper service error - + Amnezia helper service error OpenSSL failed - + OpenSSL failed Can't connect: another VPN connection is active - + Can't connect: another VPN connection is active Can't setup OpenVPN TAP network adapter - + Can't setup OpenVPN TAP network adapter VPN pool error: no available addresses - - - - - The config does not contain any containers and credentials for connecting to the server - + VPN pool error: no available addresses @@ -2565,78 +2717,146 @@ It's okay as long as it's from someone you trust. Internal error + Internal error + + + + IPsec + IPsec + + + + ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but it may be recognized by analysis systems in some highly censored regions. - - ErrorCode: %1. + + OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. - - IPsec + + Create a file vault on your server to securely store and transfer files. - - - Website in Tor network + + This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against blocking. + +OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server. + +Cloak protects OpenVPN from detection and blocking. + +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. + +If there is a extreme level of Internet censorship in your region, we advise you to use only OpenVPN over Cloak from the first connection + +* Available in the AmneziaVPN across all platforms +* High power consumption on mobile devices +* Flexible settings +* Not recognised by DPI analysis systems +* Works over TCP network protocol, 443 port. + - - Amnezia DNS + + 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 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. + + + 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 AmneziaVPN 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. + IKEv2 в сочетании с уровнем шифрования IPSec это современный и стабильный протокол VPN. +Он может быстро переключаться между сетями и устройствами, что делает его особенно адаптивным в динамичных сетевых средах. +Несмотря на сочетание безопасности, стабильности и скорости, необходимо отметить, что IKEv2 легко обнаруживается и подвержен блокировке. + +* Доступно в AmneziaVPN только для Windows. +* Низкое энергопотребление, на мобильных устройствах +* Минимальная конфигурация +* Распознается системами DPI-анализа +* Работает по сетевому протоколу UDP, порты 500 и 4500. + + + + DNS Service + DNS Сервис + Sftp file sharing service - + Сервис обмена файлами Sftp + + + + + Website in Tor network + Веб-сайт в сети Tor + + + + Amnezia DNS + Amnezia DNS OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange. - + OpenVPN - популярный VPN-протокол, с гибкой настройкой. Имеет собственный протокол безопасности с SSL/TLS для обмена ключами. - - 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 - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions. + ShadowSocks - маскирует VPN-трафик под обычный веб-трафик, но распознается системами анализа в некоторых регионах с высоким уровнем цензуры. - - OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. - + OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probbing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. + OpenVPN over Cloak - OpenVPN с маскировкой VPN под web-трафик и защитой от обнаружения active-probbing. Подходит для регионов с самым высоким уровнем цензуры. WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship. - + WireGuard - Популярный VPN-протокол с высокой производительностью, высокой скоростью и низким энергопотреблением. Для регионов с низким уровнем цензуры. AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, but very resistant to blockages. Recommended for regions with high levels of censorship. - + AmneziaWG - Специальный протокол от Amnezia, основанный на протоколе WireGuard. Он такой же быстрый, как WireGuard, но очень устойчив к блокировкам. Рекомендуется для регионов с высоким уровнем цензуры. IKEv2 - 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. - + IKEv2 Современный стабильный протокол, немного быстрее других восстанавливает соединение после потери сигнала. Имеет нативную поддержку последних версиий Android и iOS. Deploy a WordPress site on the Tor network in two clicks. - + Разверните сайт на WordPress в сети Tor в два клика. Replace the current DNS server with your own. This will increase your privacy level. - + Замените DNS-сервер на Amnezia DNS. Это повысит уровень конфиденциальности. - - Create a file vault on your server to securely store and transfer files. - + Creates a file vault on your server to securely store and transfer files. + Создайте на сервере файловое хранилище для безопасного хранения и передачи файлов. @@ -2648,7 +2868,14 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * Flexible customisation to suit user needs to work with different operating systems and devices * Recognised by DPI analysis systems and therefore susceptible to blocking * Can operate over both TCP and UDP network protocols. - + OpenVPN однин из самых популярных и проверенных временем VPN-протоколов. +В нем используется уникальный протокол безопасности, опирающийся на протокол SSL/TLS для шифрования и обмена ключами. Кроме того, поддержка OpenVPN множества методов аутентификации делает его универсальным и адаптируемым к широкому спектру устройств и операционных систем. Благодаря открытому исходному коду OpenVPN подвергается тщательному анализу со стороны мирового сообщества, что постоянно повышает его безопасность. Благодаря оптимальному соотношению производительности, безопасности и совместимости OpenVPN остается лучшим выбором как для частных лиц, так и для компаний, заботящихся о конфиденциальности. + +* Доступность AmneziaVPN для всех платформ +* Нормальное энергопотребление на мобильных устройствах +* Гибкая настройка под нужды пользователя для работы с различными операционными системами и устройствами +* Распознается системами DPI-анализа и поэтому подвержен блокировке +* Может работать по сетевым протоколам TCP и UDP. @@ -2660,13 +2887,17 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * Configurable encryption protocol * Detectable by some DPI systems * Works over TCP network protocol. - + Shadowsocks, создан на основе протокола SOCKS5, защищает соединение с помощью шифра AEAD. Несмотря на то, что протокол Shadowsocks разработан таким образом, чтобы быть незаметным и сложным для идентификации, он не идентичен стандартному HTTPS-соединению. Однако некоторые системы анализа трафика все же могут обнаружить соединение Shadowsocks. В связи с ограниченной поддержкой в Amnezia рекомендуется использовать протокол AmneziaWG, или OpenVPN over Cloak. + +* Доступен в AmneziaVPN только на ПК ноутбуках. +* Настраиваемый протокол шифрования +* Обнаруживается некоторыми DPI-системами +* Работает по сетевому протоколу TCP. - - This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against blocking. + This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for blocking protection. -OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server. +OpenVPN provides a secure VPN connection by encrypting all Internet traffic between the client and the server. Cloak protects OpenVPN from detection and blocking. @@ -2682,12 +2913,28 @@ If there is a extreme level of Internet censorship in your region, we advise you * Not recognised by DPI analysis systems * Works over TCP network protocol, 443 port. - + OpenVPN over Cloak - это комбинация протокола OpenVPN и плагина Cloak, разработанного специально для защиты от блокировок. + +OpenVPN обеспечивает безопасное VPN-соединение за счет шифрования всего интернет-трафика между клиентом и сервером. + +Cloak защищает OpenVPN от обнаружения и блокировок. + +Cloak может изменять метаданные пакетов. Он полностью маскирует VPN-трафик под обычный веб-трафик, а также защищает VPN от обнаружения с помощью Active Probing. Это делает его очень устойчивым к обнаружению + +Сразу же после получения первого пакета данных Cloak проверяет подлинность входящего соединения. Если аутентификация не проходит, плагин маскирует сервер под поддельный сайт, и ваш VPN становится невидимым для аналитических систем. + +Если в вашем регионе существует экстремальный уровень цензуры в Интернете, мы советуем вам при первом подключении использовать только OpenVPN через Cloak + +* Доступность AmneziaVPN на всех платформах +* Высокое энергопотребление на мобильных устройствах +* Гибкие настройки +* Не распознается системами DPI-анализа +* Работает по сетевому протоколу TCP, 443 порт. + - 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. +Provides stable VPN connection, high performance on all devices. Uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput. WireGuard is very susceptible to 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 @@ -2695,7 +2942,15 @@ WireGuard is very susceptible to blocking due to its distinct packet signatures. * Minimum number of settings * Easily recognised by DPI analysis systems, susceptible to blocking * Works over UDP network protocol. - + WireGuard - относительно новый популярный VPN-протокол с упрощенной архитектурой. +Обеспечивает стабильное VPN-соединение, высокую производительность на всех устройствах. Использует жестко заданные настройки шифрования. WireGuard по сравнению с OpenVPN имеет меньшую задержку и лучшую пропускную способность при передаче данных. +WireGuard очень восприимчив к блокированию из-за особенностей сигнатур пакетов. В отличие от некоторых других VPN-протоколов, использующих методы обфускации, последовательные сигнатуры пакетов WireGuard легче выявляются и, соответственно, блокируются современными системами глубокой проверки пакетов (DPI) и другими средствами сетевого мониторинга. + +* Доступность AmneziaVPN для всех платформ +* Низкое энергопотребление +* Минимальное количество настроек +* Легко распознается системами DPI-анализа, подвержен блокировке +* Работает по сетевому протоколу UDP. @@ -2708,90 +2963,89 @@ This means that AmneziaWG keeps the fast performance of the original while addin * Minimum number of settings * Not recognised by DPI analysis systems, resistant to blocking * 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. + AmneziaWG - усовершенствованная версия популярного VPN-протокола Wireguard. AmneziaWG опирается на фундамент, заложенный WireGuard, сохраняя упрощенную архитектуру и высокопроизводительные возможности работы на разных устройствах. +Хотя WireGuard известен своей эффективностью, у него были проблемы с обнаружением из-за характерных сигнатур пакетов. AmneziaWG решает эту проблему за счет использования более совершенных методов обфускации, благодаря чему его трафик сливается с обычным интернет-трафиком. +Таким образом, AmneziaWG сохраняет высокую производительность оригинала, добавляя при этом дополнительный уровень скрытности, что делает его отличным выбором для тех, кому нужно быстрое и незаметное VPN-соединение. -* Available in the AmneziaVPN 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. - +* Доступность AmneziaVPN на всех платформах +* Низкое энергопотребление +* Минимальное количество настроек +* Не распознается системами DPI-анализа, устойчив к блокировке +* Работает по сетевому протоколу UDP. - - DNS Service - + AmneziaWG container + AmneziaWG протокол Sftp file sharing service - is secure FTP service - + Файловое хранилище для безопасного хранения данных + + + + Sftp service + Сервис SFTP Entry not found - + Entry not found Access to keychain denied - + Access to keychain denied No keyring daemon - + No keyring daemon Already unlocked - + Already unlocked No such keyring - + No such keyring Bad arguments - + Bad arguments I/O error - + I/O error Cancelled - + Cancelled Keyring already exists - + Keyring already exists No match - + No match Unknown error - + Unknown error error 0x%1: %2 - + error 0x%1: %2 @@ -2799,7 +3053,7 @@ While it offers a blend of security, stability, and speed, it's essential t Choose language - + Выберите язык @@ -2807,13 +3061,13 @@ While it offers a blend of security, stability, and speed, it's essential t Server #1 - + Server #1 Server - + Server @@ -2821,22 +3075,22 @@ While it offers a blend of security, stability, and speed, it's essential t Software version - - - - - Backup file is corrupted - + Версия ПО All settings have been reset to default values - + Все настройки были сброшены к значению "По умолчанию" Cached profiles cleared - + Кэш профиля очищен + + + + Backup file is corrupted + Backup файл поврежден @@ -2845,17 +3099,17 @@ While it offers a blend of security, stability, and speed, it's essential t Save AmneziaVPN config - + Сохранить config AmneziaVPN Share - + Поделиться Copy - + Скопировать @@ -2863,7 +3117,7 @@ While it offers a blend of security, stability, and speed, it's essential t Copied - + Скопировано @@ -2873,12 +3127,12 @@ While it offers a blend of security, stability, and speed, it's essential t Show connection settings - + Показать настройки подключения To read the QR code in the Amnezia app, select "Add server" → "I have data to connect" → "QR code, key or settings file" - + Для считывания QR-кода в приложении Amnezia выберите "Добавить сервер" → "У меня есть данные для подключения" → "QR-код, ключ или файл настроек" @@ -2886,42 +3140,42 @@ While it offers a blend of security, stability, and speed, it's essential t Hostname not look like ip adress or domain name - + Имя хоста не похоже на ip-адрес или доменное имя New site added: %1 - + Добавлен новый сайт %1 Site removed: %1 - + Сайт удален %1 Can't open file: %1 - + Невозможно открыть файл: %1 Failed to parse JSON data from file: %1 - + Не удалось разобрать JSON-данные из файла: %1 The JSON data is not an array in file: %1 - + Данные JSON не являются массивом в файле: %1 Import completed - + Импорт завершен Export completed - + Экспорт завершен @@ -2930,31 +3184,31 @@ While it offers a blend of security, stability, and speed, it's essential t Show - + Показать Connect - + Подключиться Disconnect - + Отключиться Visit Website - + Посетить сайт Quit - + Закрыть @@ -2962,7 +3216,7 @@ While it offers a blend of security, stability, and speed, it's essential t The field can't be empty - + Поле не может быть пустым @@ -2970,7 +3224,7 @@ While it offers a blend of security, stability, and speed, it's essential t Mbps - + Mbps @@ -2978,42 +3232,42 @@ While it offers a blend of security, stability, and speed, it's essential t Unknown - + Неизвестный Disconnected - + Отключен Preparing - + Подготовка Connecting... - + Подключение... Connected - + Подключено Disconnecting... - + Отключение... Reconnecting... - + Переподключение... Error - + Ошибка @@ -3021,32 +3275,52 @@ While it offers a blend of security, stability, and speed, it's essential t Low - + Низкий Medium or High - + Средний или Высокий Extreme - + Экстремальный I just want to increase the level of my privacy. - + Я просто хочу повысить уровень своей приватности. I want to bypass censorship. This option recommended in most cases. - + Я хочу обойти блокировки. Этот вариант рекомендуется в большинстве случаев. Most VPN protocols are blocked. Recommended if other options are not working. - + Большинство VPN протоколов заблокированы. Рекомендуется, если другие варианты не работают. + + + High + Высокий + + + Medium + Средний + + + Many foreign websites and VPN providers are blocked + Многие иностранные сайты и VPN-провайдеры заблокированы + + + Some foreign sites are blocked, but VPN providers are not blocked + Некоторые иностранные сайты заблокированы, но VPN-провайдеры не блокируются + + + I just want to increase the level of privacy + Хочу просто повысить уровень приватности @@ -3054,12 +3328,12 @@ While it offers a blend of security, stability, and speed, it's essential t Private key passphrase - + Кодовая фраза для закрытого ключа Save - + Сохранить diff --git a/client/translations/amneziavpn_zh_CN.ts b/client/translations/amneziavpn_zh_CN.ts index 5e3f520d7..6c66b981c 100644 --- a/client/translations/amneziavpn_zh_CN.ts +++ b/client/translations/amneziavpn_zh_CN.ts @@ -1,6 +1,21 @@ + + AmneziaApplication + + Split tunneling for WireGuard is not implemented, the option was disabled + 未启用选项,还未实现基于WireGuard协议的VPN分离 + + + + AndroidController + + VPN Connected + Refers to the app - which is currently running the background and waiting + VPN已连接 + + ConnectionController @@ -9,61 +24,73 @@ Connect - + 连接 VPN Protocols is not installed. Please install VPN container at first - + 请先安装VPN协议 Connection... - + 连接中 Connected - + 已连接 Reconnection... - + 重连中 Disconnection... - + 断开中 Settings updated successfully, Reconnnection... - + 配置已更新,重连中 Settings updated successfully - + 配置更新成功 ConnectionTypeSelectionDrawer + + Connection data + 连接方式 + Add new connection - + 添加新连接 Configure your server - + 配置您的服务器 Open config file, key or QR code - + 配置文件,授权码或二维码 + + + Server IP, login and password + 服务器IP,用户名和密码 + + + QR code, key or configuration file + 二维码,授权码或者配置文件 @@ -71,22 +98,22 @@ C&ut - + 剪切 &Copy - + 拷贝 &Paste - + 粘贴 &SelectAll - + 全选 @@ -94,7 +121,7 @@ Access error! - + 访问错误 @@ -102,12 +129,16 @@ Unable change protocol while there is an active connection - + 已建立连接时无法更改服务器配置 The selected protocol is not supported on the current platform - + 当前平台不支持所选协议 + + + Reconnect via VPN Procotol: + 重连VPN基于协议: @@ -115,39 +146,48 @@ Scanned %1 of %2. - + 扫描 %1 of %2. InstallController + + installed successfully. + 安装成功 + + + is already installed on the server. + 已安装在服务器上 + %1 installed successfully. - + %1 安装成功。 %1 is already installed on the server. - + 服务器上已经安装 %1。 Added containers that were already installed on the server - + 添加已安装在服务器上的容器 Already installed containers were found on the server. All installed containers have been added to the application - + +在服务上发现已经安装协议并添加至应用 Settings updated successfully - + 配置更新成功 @@ -157,27 +197,43 @@ Already installed containers were found on the server. All installed containers Server '%1' was removed - + 已移除服务器 '%1' All containers from server '%1' have been removed - + 服务器 '%1' 的所有容器已移除 %1 has been removed from the server '%2' - + %1 已从服务器 '%2' 上移除 + + + 1% has been removed from the server '%2' + %1 已从服务器 '%2' 上移除 + + + Server ' + 服务器 + + + ' was removed + 已经移除 + + + has been removed from the server ' + 协议已从 Please login as the user - + 请以用户身份登录 Server added successfully - + 增加服务器成功 @@ -185,17 +241,17 @@ Already installed containers were found on the server. All installed containers Read key failed: %1 - + 获取授权码失败: %1 Write key failed: %1 - + 写入授权码失败: %1 Delete key failed: %1 - + 删除授权码失败: %1 @@ -204,27 +260,27 @@ Already installed containers were found on the server. All installed containers AmneziaVPN - + VPN Connected - + 已连接到VPN VPN Disconnected - + 已从VPN断开 AmneziaVPN notification - + AmneziaVPN 提示 Unsecured network detected: - + 发现不安全网络 @@ -232,12 +288,12 @@ Already installed containers were found on the server. All installed containers Removing services from %1 - + 正从 %1 移除服务 Usually it takes no more than 5 minutes - + 大约5分钟之内完成 @@ -245,17 +301,17 @@ Already installed containers were found on the server. All installed containers VPN protocol - + VPN协议 Servers - + 服务器 Unable change server while there is an active connection - + 已建立连接时无法更改服务器配置 @@ -263,87 +319,91 @@ Already installed containers were found on the server. All installed containers AmneziaWG settings - + AmneziaWG 配置 Port - + 端口 Junk packet count - + 垃圾包数量 Junk packet minimum size - + 垃圾包最小值 Junk packet maximum size - + 垃圾包最大值 Init packet junk size - + 初始化垃圾包大小 Response packet junk size - + 响应垃圾包大小 Init packet magic header - + 初始化数据包魔数头 Response packet magic header - + 响应包魔数头 Transport packet magic header - + 传输包魔数头 Underload packet magic header - + 低负载数据包魔数头 Remove AmneziaWG - + 移除AmneziaWG Remove AmneziaWG from server? - + 从服务上移除AmneziaWG? All users with whom you shared a connection will no longer be able to connect to it. - + 与您共享连接的所有用户将无法再连接到该连接。 + + + All users who you shared a connection with will no longer be able to connect to it. + 使用此共享连接的所有用户,将无法再连接它。 Continue - + 继续 Cancel - + 取消 Save and Restart Amnezia - + 保存并重启Amnezia @@ -351,28 +411,28 @@ Already installed containers were found on the server. All installed containers Cloak settings - + Cloak 配置 Disguised as traffic from - + 伪装流量为 Port - + 端口 Cipher - + 加密算法 Save and Restart Amnezia - + 保存并重启Amnezia @@ -380,7 +440,11 @@ Already installed containers were found on the server. All installed containers OpenVPN settings - + OpenVPN 配置 + + + VPN Addresses Subnet + VPN子网掩码 @@ -390,185 +454,193 @@ Already installed containers were found on the server. All installed containers Network protocol - + 网络协议 Port - + 端口 Auto-negotiate encryption - + 自定义加密方式 Hash - + SHA512 - + SHA384 - + SHA256 - + SHA3-512 - + SHA3-384 - + SHA3-256 - + whirlpool - + BLAKE2b512 - + BLAKE2s256 - + SHA1 - + Cipher - + AES-256-GCM - + AES-192-GCM - + AES-128-GCM - + AES-256-CBC - + AES-192-CBC - + AES-128-CBC - + ChaCha20-Poly1305 - + ARIA-256-CBC - + CAMELLIA-256-CBC - + none - + TLS auth - + TLS认证 Block DNS requests outside of VPN - + 阻止VPN外的DNS请求 Additional client configuration commands - + 附加客户端配置命令 Commands: - + 命令: Additional server configuration commands - + 附加服务器端配置命令 Remove OpenVPN - + 移除OpenVPN Remove OpenVpn from server? - + 从服务器移除OpenVPN吗? All users with whom you shared a connection will no longer be able to connect to it. - + 与您共享连接的所有用户将无法再连接到该连接。 + + + All users who you shared a connection with will no longer be able to connect to it. + 使用此共享连接的所有用户,将无法再连接它。 + + + All users with whom you shared a connection will no longer be able to connect to it + 与您共享连接的所有用户将无法再连接到此链接 Continue - + 继续 Cancel - + 取消 Save and Restart Amnezia - + 保存并重启Amnezia @@ -576,42 +648,58 @@ Already installed containers were found on the server. All installed containers settings - + 配置 Show connection options - + 显示连接选项 + + + Connection options + 连接选项 Connection options %1 - + %1 连接选项 Remove - + 移除 Remove %1 from server? - + 从服务器移除 %1 ? All users with whom you shared a connection will no longer be able to connect to it. - + 与您共享连接的所有用户将无法再连接到该连接。 + + + All users who you shared a connection with will no longer be able to connect to it. + 使用此共享连接的所有用户,将无法再连接它。 + + + from server? + 从服务器 + + + All users with whom you shared a connection will no longer be able to connect to it + 与您共享连接的所有用户将无法再连接到此链接 Continue - + 继续 Cancel - + 取消 @@ -619,23 +707,23 @@ Already installed containers were found on the server. All installed containers ShadowSocks settings - + ShadowSocks 配置 Port - + 端口 Cipher - + 加密算法 Save and Restart Amnezia - + 保存并重启Amnezia @@ -644,32 +732,37 @@ Already installed containers were found on the server. All installed containers A DNS service is installed on your server, and it is only accessible via VPN. - + 您的服务器已安装DNS服务,仅能通过VPN访问。 + The DNS address is the same as the address of your server. You can configure DNS in the settings, under the connections tab. - + 其地址与您的服务器地址相同。您可以在 设置 连接 中进行配置。 Remove - + 移除 Remove %1 from server? - + 从服务器移除 %1 ? + + + from server? + 从服务器 Continue - + 继续 Cancel - + 取消 @@ -677,17 +770,17 @@ Already installed containers were found on the server. All installed containers Settings updated successfully - + 配置更新成功 SFTP settings - + SFTP 配置 Host - + 主机 @@ -695,69 +788,69 @@ Already installed containers were found on the server. All installed containers Copied - + 拷贝 Port - + 端口 Login - + 用户 Password - + 密码 Mount folder on device - + 挂载文件夹 In order to mount remote SFTP folder as local drive, perform following steps: <br> - + 为将远程 SFTP 文件夹挂载到本地,请执行以下步骤: <br> <br>1. Install the latest version of - + <br>1. 安装最新版的 <br>2. Install the latest version of - + <br>2. 安装最新版的 Detailed instructions - + 详细说明 Remove SFTP and all data stored there - + 移除SFTP和其本地所有数据 Remove SFTP and all data stored there? - + 移除SFTP和其本地所有数据? Continue - + 继续 Cancel - + 取消 @@ -765,22 +858,22 @@ Already installed containers were found on the server. All installed containers Settings updated successfully - + 配置更新成功 Tor website settings - + Tor网站配置 Website address - + 网址 Copied - + 已拷贝 @@ -792,30 +885,42 @@ Already installed containers were found on the server. All installed containers After creating your onion site, it takes a few minutes for the Tor network to make it available for use. + + Use <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor Browser</a> to open this url. + 用 <a href="https://www.torproject.org/download/" style="color: #FBB26A;">Tor 浏览器</a> 打开上面网址 + + + After installation it takes several minutes while your onion site will become available in the Tor Network. + 完成安装几分钟后,洋葱站点才会在 Tor 网络中生效。 + When configuring WordPress set the this onion address as domain. - + 配置 WordPress 时,将此洋葱地址设置为域。 + + + When configuring WordPress set the domain as this onion address. + 配置 WordPress 时,将域设置为此洋葱地址。 Remove website - + 移除网站 The site with all data will be removed from the tor network. - + 网站及其所有数据将从 Tor 网络中删除 Continue - + 继续 Cancel - + 取消 @@ -823,41 +928,51 @@ Already installed containers were found on the server. All installed containers Settings - + 设置 Servers - + 服务器 Connection - + 连接 Application - + 应用 Backup - + 备份 About AmneziaVPN - + 关于 Close application - + 关闭应用 PageSettingsAbout + + Support the project with a donation + 捐款 + + + This is a free and open source application. If you like it, support the developers with a donation. +And if you don't like the app, all the more support it - the donation will be used to improve the app. + 这是一个免费且开源的应用软件。如果您喜欢它,请捐助支持我们继续研发。 +如果您不喜欢,请捐助支持我们改进它。 + Support Amnezia @@ -866,27 +981,28 @@ Already installed containers were found on the server. All installed containers This is a free and open source application. If you like it, support the developers with a donation. - + 这是一个免费且开源的软件。如果您喜欢它,请捐助开发者们。 + And if you don’t like the application, all the more reason to support it - the donation will be used for the improving the application. - + 如果您不喜欢,请捐助支持我们改进它。 Card on Patreon - + Patreon订阅 https://www.patreon.com/amneziavpn - + Show other methods on Github - + 其他捐款途径 @@ -896,57 +1012,57 @@ Already installed containers were found on the server. All installed containers Contacts - + 联系方式 Telegram group - + 电报群 To discuss features - + 用于功能讨论 https://t.me/amnezia_vpn_en - + Mail - + 邮件 For reviews and bug reports - + 用于评论和提交软件的缺陷 Github - + https://github.com/amnezia-vpn/amnezia-client - + Website - + 官网 https://amnezia.org - + Check for updates - + 检查更新 @@ -954,77 +1070,89 @@ Already installed containers were found on the server. All installed containers Application - + 应用 Allow application screenshots - + 允许截屏 Auto start - + 自动运行 + + + Launch the application every time + 总是在系统 + + + starts + 启动时自动运行运用程序 + + + Launch the application every time %1 starts + 运行应用软件在%1系统启动时 Launch the application every time the device is starts - + 每次设备启动时启动应用程序 Start minimized - + 最小化 Launch application minimized - + 开启应用软件时窗口最小化 Language - + 语言 Logging - + 日志 Enabled - + 开启 Disabled - + 禁用 Reset settings and remove all data from the application - + 重置并清理应用的所有数据 Reset settings and remove all data from the application? - + 重置并清理应用的所有数据? All settings will be reset to default. All installed AmneziaVPN services will still remain on the server. - + 所有配置恢复为默认值。服务器已安装的AmneziaVPN服务将被保留。 Continue - + 继续 Cancel - + 取消 @@ -1032,73 +1160,77 @@ Already installed containers were found on the server. All installed containers Settings restored from backup file - + 从备份文件还原配置 Backup - + 备份 Configuration backup - + 备份设置 + + + It will help you instantly restore connection settings at the next installation + 帮助您在下次安装时立即恢复连接设置 You can save your settings to a backup file to restore them the next time you install the application. - + 您可以将配置信息备份到文件中,以便在下次安装应用软件时恢复配置 Make a backup - + 进行备份 Save backup file - + 保存备份 Backup files (*.backup) - + Backup file saved - + 备份文件已保存 Restore from backup - + 从备份还原 Open backup file - + 打开备份文件 Import settings from a backup file? - + 从备份文件导入设置? All current settings will be reset - + 当前所有设置将重置 Continue - + 继续 Cancel - + 取消 @@ -1106,57 +1238,81 @@ Already installed containers were found on the server. All installed containers Connection - + 连接 Auto connect - + 自动连接 Connect to VPN on app start + 应用开启时连接VPN + + + + When AmneziaDNS is not used or installed + + + + + Allows you to use the VPN only for certain Apps + + Use AmneziaDNS if installed on the server + 使用AmneziaDNS,如其已安装在服务器上 + Use AmneziaDNS - + 使用AmneziaDNS If AmneziaDNS is installed on the server - + 如果已在服务器安装AmneziaDNS DNS servers - + DNS服务器 - - When AmneziaDNS is not used or installed - + If AmneziaDNS is not used or installed + 如果未使用或未安装AmneziaDNS Site-based split tunneling - + 基于网站的隧道分离 Allows you to select which sites you want to access through the VPN - + 配置想要通过VPN访问网站 App-based split tunneling - + 基于应用的隧道分离 - - Allows you to use the VPN only for certain Apps - + Split site tunneling + 网站级VPN分流 + + + Allows you to connect to some sites through a secure connection, and to others bypassing it + 使用VPN访问指定网站,其他的则绕过 + + + Separate application tunneling + 应用级VPN分流 + + + Allows you to use the VPN only for certain applications + 仅指定应用使用VPN @@ -1169,57 +1325,57 @@ Already installed containers were found on the server. All installed containers DNS servers - + DNS服务器 If AmneziaDNS is not used or installed - + 如果未使用或未安装AmneziaDNS Primary DNS - + 首选 DNS Secondary DNS - + 备用 DNS Restore default - + 恢复默认配置 Restore default DNS settings? - + 是否恢复默认DNS配置? Continue - + 继续 Cancel - + 取消 Settings have been reset - + 已重置 Save - + 保存 Settings saved - + 配置已保存 @@ -1227,62 +1383,62 @@ Already installed containers were found on the server. All installed containers Logging - + 日志 Save logs - + 记录日志 Open folder with logs - + 打开日志文件夹 Save - + 保存 Logs files (*.log) - + Logs file saved - + 日志文件已保存 Save logs to file - + 保存日志到文件 Clear logs? - + 清理日志? Continue - + 继续 Cancel - + 取消 Logs have been cleaned up - + 日志已清理 Clear logs - + 清理日志 @@ -1290,32 +1446,32 @@ Already installed containers were found on the server. All installed containers All installed containers have been added to the application - + 所有已安装的容器,已被添加到应用软件 No new installed containers found - + 未发现新安装的容器 Clear Amnezia cache - + 清除 Amnezia 缓存 May be needed when changing other settings - + 更改其他设置时可能需要缓存 Clear cached profiles? - + 清除缓存? - + - + @@ -1324,7 +1480,7 @@ Already installed containers were found on the server. All installed containers Continue - + 继续 @@ -1333,17 +1489,17 @@ Already installed containers were found on the server. All installed containers Cancel - + 取消 Check the server for previously installed Amnezia services - + 检查服务器上,是否存在之前安装的 Amnezia 服务 Add them to the application if they were not displayed - + 如果存在且未显示,则添加到应用软件 @@ -1363,33 +1519,18 @@ Already installed containers were found on the server. All installed containers Remove server from application - + 移除本地服务器信息 Do you want to remove the server from application? - - - All installed AmneziaVPN services will still remain on the server. - - - - - Clear server from Amnezia software - - Do you want to clear server from Amnezia software? - - - All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. - - Reset API config @@ -1400,33 +1541,56 @@ Already installed containers were found on the server. All installed containers Do you want to reset API config? + + Remove server? + 移除本地服务器信息? + + + + All installed AmneziaVPN services will still remain on the server. + 所有已安装的 AmneziaVPN 服务仍将保留在服务器上。 + + + + Clear server from Amnezia software + 清理Amnezia中服务器信息 + + + Clear server from Amnezia software? + 清理Amnezia中服务器信息 + + + + All containers will be deleted on the server. This means that configuration files, keys and certificates will be deleted. + 服务器上的所有容器都将被删除。配置文件、密钥和证书也将被删除。 + PageSettingsServerInfo Server name - + 服务器名 Save - + 保存 Protocols - + 协议 Services - + 服务 Data - + 数据 @@ -1434,32 +1598,44 @@ Already installed containers were found on the server. All installed containers settings - + 配置 Remove - + 移除 + + + + All users with whom you shared a connection will no longer be able to connect to it. + 与您共享连接的所有用户将无法再连接到该连接。 + + + All users who you shared a connection with will no longer be able to connect to it. + 使用此共享连接的所有用户,将无法再连接它。 + + + from server? + 从服务器 Remove %1 from server? - + 从服务器移除 %1 ? - - All users with whom you shared a connection will no longer be able to connect to it. - + All users with whom you shared a connection will no longer be able to connect to it + 与您共享连接的所有用户将无法再连接到此链接 Continue - + 继续 Cancel - + 取消 @@ -1467,49 +1643,73 @@ Already installed containers were found on the server. All installed containers Servers - + 服务器 PageSettingsSplitTunneling - - Default server does not support split tunneling function - + Only the addresses in the list must be opened via VPN + 仅列表中的地址须通过VPN访问 - - Only the sites listed here will be accessed through the VPN - + Addresses from the list should never be opened via VPN + 勿通过VPN访问列表中的地址 + + + Split site tunneling + 网站级VPN分流 + + + Addresses from the list should be accessed via VPN + 仅使用VPN访问 Addresses from the list should not be accessed via VPN - + 不使用VPN访问 Split tunneling - + 隧道分离 Mode - + 规则 Remove - + 移除 Continue - + 继续 Cancel + 取消 + + + Site or IP + 网站或IP地址 + + + Import/Export Sites + 导入/导出网站 + + + + Default server does not support split tunneling function + + + + + Only the sites listed here will be accessed through the VPN @@ -1525,45 +1725,45 @@ Already installed containers were found on the server. All installed containers Import - + 导入 Save site list - + 保存网址 Save sites - + 保存网址 Sites files (*.json) - + Import a list of sites - + 导入网址列表 Replace site list - + 替换网址列表 Open sites file - + 打开网址文件 Add imported sites to existing ones - + 将导入的网址添加到现有网址中 @@ -1571,102 +1771,117 @@ Already installed containers were found on the server. All installed containers Server connection - + 服务器连接 Do not use connection code from public sources. It may have been created to intercept your data. It's okay as long as it's from someone you trust. - + 请勿使用公共来源的连接码。它可能是为了拦截您的数据而创建的。 +请确保连接码来源可信。 What do you have? - + 你用什么方式创建连接? File with connection settings or backup - + 包含连接配置或备份的文件 File with connection settings - + 包含连接配置的文件 Open config file - + 打开配置文件 QR-code - + 二维码 Key as text - + 授权码文本 PageSetupWizardCredentials + + Server connection + 连接服务器 + Configure your server - + 配置服务器 Server IP address [:port] - - - - - 255.255.255.255:22 - + 服务器IP [:端口] Login to connect via SSH - + 用户 - - Password or SSH private key - + Password / SSH private key + 密码 或 私钥 Continue - + 继续 All data you enter will remain strictly confidential and will not be shared or disclosed to the Amnezia or any third parties + + All data you enter will remain strictly confidential +and will not be shared or disclosed to the Amnezia or any third parties + 您输入的所有数据将严格保密 +不会向 Amnezia 或任何第三方分享或披露 + + + + 255.255.255.255:22 + + + + + Password or SSH private key + + Ip address cannot be empty - + IP不能为空 Enter the address in the format 255.255.255.255:88 - + 按照这种格式输入 255.255.255.255:88 Login cannot be empty - + 账号不能为空 Password/private key cannot be empty - + 密码或私钥不能为空 @@ -1674,27 +1889,27 @@ It's okay as long as it's from someone you trust. What is the level of internet control in your region? - + 您所在地区的互联网管控力度如何? Set up a VPN yourself - + 自己架设VPN I want to choose a VPN protocol - + 我想选择VPN协议 Continue - + 继续 Set up later - + 稍后设置 @@ -1703,37 +1918,45 @@ It's okay as long as it's from someone you trust. Usually it takes no more than 5 minutes - + 通常不超过5分钟 The server has already been added to the application - + 服务器已添加到应用软件中 Amnezia has detected that your server is currently - + Amnezia 检测到您的服务器当前 busy installing other software. Amnezia installation + 正安装其他软件。Amnezia安装 + + + + Cancel installation + + Amnesia has detected that your server is currently + Amnezia 检测到您的服务器当前 + + + busy installing other software. Amnesia installation + 正安装其他软件。Amnezia安装 + will pause until the server finishes installing other software - + 将暂停,直到其他软件安装完成。 Installing - - - - - Cancel installation - + 安装中 @@ -1741,32 +1964,32 @@ It's okay as long as it's from someone you trust. Installing %1 - + 正在安装 %1 More detailed - + 更多细节 Close - + 关闭 Network protocol - + 网络协议 Port - + 端口 Install - + 安装 @@ -1774,12 +1997,12 @@ It's okay as long as it's from someone you trust. VPN protocol - + VPN 协议 Choose the one with the highest priority for you. Later, you can install other protocols and additional services, such as DNS proxy and SFTP. - + 选择你认为优先级最高的一项。稍后,您可以安装其他协议和附加服务,例如 DNS 代理和 SFTP。 @@ -1787,7 +2010,7 @@ It's okay as long as it's from someone you trust. Point the camera at the QR code and hold for a couple of seconds. - + 将相机对准二维码并按住几秒钟 @@ -1795,27 +2018,27 @@ It's okay as long as it's from someone you trust. Settings restored from backup file - + 从备份文件还原配置 Free service for creating a personal VPN on your server. - + 在您的服务器上架设私人免费VPN服务。 Helps you access blocked content without revealing your privacy, even to VPN providers. - + 帮助您访问受限内容,保护您的隐私,即使是VPN提供商也无法获取。 I have the data to connect - + 我有连接配置 I have nothing - + 我没有 @@ -1828,27 +2051,27 @@ It's okay as long as it's from someone you trust. Connection key - + 连接授权码 A line that starts with vpn://... - + 以 vpn://... 开始的行 Key - + 授权码 Insert - + 插入 Continue - + 继续 @@ -1856,55 +2079,40 @@ It's okay as long as it's from someone you trust. New connection - + 新连接 Do not use connection code from public sources. It could be created to intercept your data. - + 请勿使用公共来源的连接码。它可以被创建来拦截您的数据。 Collapse content - + 折叠内容 Show content - + 显示内容 Connect - + 连接 PageShare - - - Config revoked - - - - - Connection to - - - - - File with connection settings to - - Save OpenVPN config - + 保存OpenVPN配置 Save WireGuard config - + 保存WireGuard配置 @@ -1919,17 +2127,17 @@ It's okay as long as it's from someone you trust. For the AmneziaVPN app - + AmneziaVPN 应用 OpenVpn native format - + OpenVPN原生格式 WireGuard native format - + WireGuard原生格式 @@ -1944,7 +2152,7 @@ It's okay as long as it's from someone you trust. Share VPN Access - + 共享 VPN 访问 @@ -1956,17 +2164,6 @@ It's okay as long as it's from someone you trust. Use for your own devices, or share with those you trust to manage the server. - - - - Share - - - - - Connection - - @@ -1976,30 +2173,7 @@ It's okay as long as it's from someone you trust. Share VPN access without the ability to manage the server - - - - - User name - - - - - - Server - - - - - - Protocol - - - - - - Connection format - + 共享 VPN 访问,无需管理服务器 @@ -2024,7 +2198,7 @@ It's okay as long as it's from someone you trust. Save - + 保存 @@ -2044,13 +2218,106 @@ It's okay as long as it's from someone you trust. Continue - + 继续 Cancel + 取消 + + + Share access to server management. The user with whom you share full access to the server will be able to add and remove any protocols and services to the server, as well as change settings. + 共享服务器管理访问权限。与您共享服务器全部访问权限的用户将可以添加和删除服务器上的任何协议和服务,以及更改设置。 + + + VPN Access + 访问VPN + + + + Connection + 连接 + + + Full access + 完全访问 + + + VPN access without the ability to manage the server + 访问VPN,但没有权限管理服务。 + + + Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the server, as well as change settings. + 除访问VPN外,用户还能添加和删除协议、服务以及更改配置信息 + + + Access to server management. The user with whom you share full access to the connection will be able to add and remove your protocols and services to the servers, as well as change settings. + 除访问VPN外,用户还能添加和删除协议、服务以及更改配置信息 + + + Full access to server + 获得服务器完整授权 + + + Servers + 服务器 + + + + + Server + 服务器 + + + Accessing + 访问 + + + File with accessing settings to + 访问配置文件的内容为: + + + + File with connection settings to + 连接配置文件的内容为: + + + Protocols + 协议 + + + + + Protocol + 协议 + + + + Connection to + 连接到 + + + + Config revoked + + + + + User name + + + + Connection format + 连接格式 + + + + + Share + 共享 + PageShareFullAccess @@ -2074,32 +2341,32 @@ It's okay as long as it's from someone you trust. Server - + 服务器 Accessing - + 访问 File with accessing settings to - + 访问配置文件的内容为: Share - + 共享 Connection to - + 连接到 File with connection settings to - + 连接配置文件的内容为: @@ -2107,7 +2374,7 @@ It's okay as long as it's from someone you trust. Close - + 关闭 @@ -2115,38 +2382,38 @@ It's okay as long as it's from someone you trust. Password entry not found - + 未发现秘密 Could not decrypt data - + 数据无法加密 Unknown error - + 未知错误 Could not open wallet: %1; %2 - + 无法打开钱包: %1; %2 Password not found - + 未发现密码 Could not open keystore - + 无法打开密钥库 Could not remove private key from keystore - + 无法从密钥库中删除私钥 @@ -2154,12 +2421,12 @@ It's okay as long as it's from someone you trust. Unknown error - + 未知错误 Access to keychain denied - + 访问钥匙串被拒绝 @@ -2167,27 +2434,27 @@ It's okay as long as it's from someone you trust. Could not store data in settings: access error - + 无法在配置中存储数据:访问错误 Could not store data in settings: format error - + 无法在陪置中存储数据:格式错误 Could not delete data from settings: access error - + 无法在配置中删除数据:访问错误 Could not delete data from settings: format error - + 无法在配置中删除数据:格式错误 Entry not found - + 未找到条目 @@ -2195,80 +2462,80 @@ It's okay as long as it's from someone you trust. Password entry not found - + 未发现密码 Could not decrypt data - + 数据无法加密 D-Bus is not running - + D-Bus未运行 Unknown error - + 未知错误 No keychain service available - + 没有有效的钥匙串服务 Could not open wallet: %1; %2 - + 无法打开钱包: %1; %2 Access to keychain denied - + 访问钥匙串被拒绝 Could not determine data type: %1; %2 - + 无法确定数据类型: %1; %2 Entry not found - + 未找到记录 Unsupported entry type 'Map' - + 不支持的记录类型 'Map' Unknown kwallet entry type '%1' - + 未知钱包类型 '%1' Password not found - + 未发现密码 Could not open keystore - + 无法打开密钥库 Could not retrieve private key from keystore - + 无法从密钥存储库中检索私钥 Could not create decryption cipher - + 无法创建解密算法 @@ -2276,73 +2543,73 @@ It's okay as long as it's from someone you trust. Credential size exceeds maximum size of %1 - + 证书大小超过上限,最大为: %1 Credential key exceeds maximum size of %1 - + 凭证密钥大小超过上限,最大为: %1 Writing credentials failed: Win32 error code %1 - + 写入凭证失败,Win32错误码: %1 Encryption failed - + 加密失败 D-Bus is not running - + D-Bus未运行 Unknown error - + 未知错误 Could not open wallet: %1; %2 - + 无法打开钱包: %1; %2 Password not found - + 未发现密码 Could not open keystore - + 无法打开密钥库 Could not create private key generator - + 无法创建私钥生成器 Could not generate new private key - + 无法生成新的私钥 Could not retrieve private key from keystore - + 无法从密钥库检索私钥 Could not create encryption cipher - + 无法创建加密密码 Could not encrypt data - + 无法加密数据 @@ -2350,197 +2617,221 @@ It's okay as long as it's from someone you trust. Sftp service - + Sftp 服务 No error - + 没有错误 Unknown Error - + 未知错误 Function not implemented - + 功能未实现 Server check failed - + 服务器检测失败 Server port already used. Check for another software - + 检测服务器该端口是否被其他软件被占用 Server error: Docker container missing - + 服务器错误: Docker容器丢失 Server error: Docker failed - + 服务器错误: Docker失败 Installation canceled by user - + 用户取消安装 The user does not have permission to use sudo - + 用户没有root权限 Ssh request was denied - + ssh请求被拒绝 Ssh request was interrupted - + ssh请求中断 Ssh internal error - + ssh内部错误 Invalid private key or invalid passphrase entered - + 输入的私钥或密码无效 The selected private key format is not supported, use openssh ED25519 key types or PEM key types - + 不支持所选私钥格式,请使用 openssh ED25519 密钥类型或 PEM 密钥类型 Timeout connecting to server - + 连接服务器超时 Sftp error: End-of-file encountered - + Sftp错误: End-of-file encountered Sftp error: File does not exist - + Sftp错误: 文件不存在 Sftp error: Permission denied - + Sftp错误: 权限不足 Sftp error: Generic failure - + Sftp错误: 一般失败 Sftp error: Garbage received from server - + Sftp错误: 从服务器收到垃圾信息 Sftp error: No connection has been set up - + Sftp 错误: 未建立连接 Sftp error: There was a connection, but we lost it - + Sftp 错误: 已有连接丢失 Sftp error: Operation not supported by libssh yet - + Sftp error: libssh不支持该操作 Sftp error: Invalid file handle - + Sftp error: 无效的文件句柄 Sftp error: No such file or directory path exists - + Sftp 错误: 文件夹或文件不存在 Sftp error: An attempt to create an already existing file or directory has been made - + Sftp 错误: 文件或目录已存在 Sftp error: Write-protected filesystem - + Sftp 错误: 文件系统写保护 Sftp error: No media was in remote drive + Sftp 错误: 远程驱动器中没有媒介 + + + + VPN connection error + + + + + Error when retrieving configuration from API + + + + + This config has already been added to the application + + + + + ErrorCode: %1. + + Failed to save config to disk + 配置保存到磁盘失败 + OpenVPN config missing - + OpenVPN配置丢失 OpenVPN management server error - + OpenVPN 管理服务器错误 OpenVPN executable missing - + OpenVPN 可执行文件丢失 ShadowSocks (ss-local) executable missing - + ShadowSocks (ss-local) 执行文件丢失 Cloak (ck-client) executable missing - + Cloak (ck-client) 执行文件丢失 Amnezia helper service error - + Amnezia 服务连接失败 OpenSSL failed - + OpenSSL错误 Can't connect: another VPN connection is active - + 无法连接:另一个VPN连接处于活跃状态 Can't setup OpenVPN TAP network adapter - + 无法设置 OpenVPN TAP 网络适配器 VPN pool error: no available addresses - + VPN 池错误:没有可用地址 @@ -2548,55 +2839,39 @@ It's okay as long as it's from someone you trust. - - VPN connection error - - - - - Error when retrieving configuration from API - - - - - This config has already been added to the application - + The config does not contain any containers and credentiaks for connecting to the server + 该配置不包含任何用于连接到服务器的容器和凭据。 Internal error - - - - - ErrorCode: %1. - + 内部错误 IPsec - + Website in Tor network - + 在 Tor 网络中架设网站 Amnezia DNS - + Sftp file sharing service - + SFTP文件共享服务 OpenVPN is the most popular VPN protocol, with flexible configuration options. It uses its own security protocol with SSL/TLS for key exchange. - + OpenVPN 是最流行的 VPN 协议,具有灵活的配置选项。它使用自己的安全协议与 SSL/TLS 进行密钥交换。 @@ -2608,35 +2883,82 @@ It's okay as long as it's from someone you trust. OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. + + + Create a file vault on your server to securely store and transfer files. + + + + + This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against blocking. + +OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server. + +Cloak protects OpenVPN from detection and blocking. + +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. + +If there is a extreme level of Internet censorship in your region, we advise you to use only OpenVPN over Cloak from the first connection + +* Available in the AmneziaVPN across all platforms +* High power consumption on mobile devices +* Flexible settings +* Not recognised by DPI analysis 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 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. + + + + ShadowSocks - masks VPN traffic, making it similar to normal web traffic, but is recognised by analysis systems in some highly censored regions. + ShadowSocks - 混淆 VPN 流量,使其与正常的 Web 流量相似,但在一些审查力度高的地区可以被分析系统识别。 + + + OpenVPN over Cloak - OpenVPN with VPN masquerading as web traffic and protection against active-probbing detection. Ideal for bypassing blocking in regions with the highest levels of censorship. + OpenVPN over Cloak - OpenVPN 与 VPN 具有伪装成网络流量和防止主动探测检测的保护。非常适合绕过审查力度特别强的地区的封锁。 + WireGuard - New popular VPN protocol with high performance, high speed and low power consumption. Recommended for regions with low levels of censorship. - + WireGuard - 新型流行的VPN协议,具有高性能、高速度和低功耗。建议用于审查力度较低的地区 AmneziaWG - Special protocol from Amnezia, based on WireGuard. It's fast like WireGuard, but very resistant to blockages. Recommended for regions with high levels of censorship. - + AmneziaWG - Amnezia 的特殊协议,基于 WireGuard。它的速度像 WireGuard 一样快,但非常抗堵塞。推荐用于审查较严的地区。 IKEv2 - 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. - + IKEv2 - 现代稳定协议,相比其他协议较快一些,在信号丢失后恢复连接。Android 和 iOS最新版原生支持。 Deploy a WordPress site on the Tor network in two clicks. - + 只需点击两次即可架设 WordPress 网站到 Tor 网络 Replace the current DNS server with your own. This will increase your privacy level. - + 将当前的 DNS 服务器替换为您自己的。这将提高您的隐私保护级别。 - - Create a file vault on your server to securely store and transfer files. - + Creates a file vault on your server to securely store and transfer files. + 在您的服务器上创建文件仓库,以便安全地存储和传输文件 @@ -2648,7 +2970,14 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * Flexible customisation to suit user needs to work with different operating systems and devices * Recognised by DPI analysis systems and therefore susceptible to blocking * Can operate over both TCP and UDP network protocols. - + OpenVPN 是最流行且经过时间考验的 VPN 协议之一。 +它采用其独特的安全协议,利用 SSL/TLS 的优势进行加密和密钥交换。此外,OpenVPN 支持多种身份验证方法,使其具有多功能性和适应性,可适应各种设备和操作系统。由于其开源性质,OpenVPN 受益于全球社区的广泛审查,这不断增强了其安全性。凭借性能、安全性和兼容性的强大平衡,OpenVPN 仍然是注重隐私的个人和企业的首选。 + +* 可在所有平台的 AmneziaVPN 中使用 +* 移动设备的正常功耗 +* 灵活定制,满足用户使用不同操作系统和设备的需求 +* 被DPI分析系统识别,因此容易被阻塞 +* 可以通过 TCP 和 UDP 网络协议运行 @@ -2660,13 +2989,19 @@ It employs its unique security protocol, leveraging the strength of SSL/TLS for * Configurable encryption protocol * Detectable by some DPI systems * Works over TCP network protocol. - + Shadowsocks 受到 SOCKS5 协议的启发,使用 AEAD 密码保护连接。尽管 Shadowsocks 设计得谨慎且难以识别,但它与标准 HTTPS 连接并不相同。但是,某些流量分析系统可能仍会检测到 Shadowsocks 连接。由于Amnezia支持有限,建议使用AmneziaWG协议。 + +* 仅在桌面平台上的 AmneziaVPN 中可用 +* 移动设备的正常功耗 + +* 可配置的加密协议 +* 可以被某些 DPI 系统检测到 +* 通过 TCP 网络协议工作。 - - This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for protecting against blocking. + This is a combination of the OpenVPN protocol and the Cloak plugin designed specifically for blocking protection. -OpenVPN provides a secure VPN connection by encrypting all internet traffic between the client and the server. +OpenVPN provides a secure VPN connection by encrypting all Internet traffic between the client and the server. Cloak protects OpenVPN from detection and blocking. @@ -2682,12 +3017,27 @@ If there is a extreme level of Internet censorship in your region, we advise you * Not recognised by DPI analysis systems * Works over TCP network protocol, 443 port. - + 这是 OpenVPN 协议和专门用于阻止保护的 Cloak 插件的组合。 + +OpenVPN 通过加密客户端和服务器之间的所有 Internet 流量来提供安全的 VPN 连接。 + +Cloak 可保护 OpenVPN 免遭检测和阻止。 + +Cloak 可以修改数据包元数据,以便将 VPN 流量完全屏蔽为正常 Web 流量,并且还可以保护 VPN 免受主动探测的检测。这使得它非常难以被发现 + +收到第一个数据包后,Cloak 立即对传入连接进行身份验证。如果身份验证失败,该插件会将服务器伪装成虚假网站,并且您的 VPN 对分析系统来说将变得不可见。 + +如果您所在地区的互联网审查非常严格,我们建议您在第一次连接时仅使用 OpenVPN over Cloak + +* 可在所有平台的 AmneziaVPN 中使用 +* 移动设备功耗高 +* 配置灵活 +* 不被 DPI 分析系统识别 +* 通过 TCP 网络协议、443 端口工作。 - 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. +Provides stable VPN connection, high performance on all devices. Uses hard-coded encryption settings. WireGuard compared to OpenVPN has lower latency and better data transfer throughput. WireGuard is very susceptible to 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 @@ -2695,7 +3045,15 @@ WireGuard is very susceptible to blocking due to its distinct packet signatures. * Minimum number of settings * Easily recognised by DPI analysis systems, susceptible to blocking * Works over UDP network protocol. - + 一种相对较新的流行 VPN 协议,具有简化的架构。 +在所有设备上提供稳定的 VPN 连接和高性能。使用硬编码的加密设置。 WireGuard 与 OpenVPN 相比具有更低的延迟和更好的数据传输吞吐量。 +由于其独特的数据包签名,WireGuard 非常容易受到阻塞。与其他一些采用混淆技术的 VPN 协议不同,WireGuard 数据包的一致签名模式可以更容易地被高级深度数据包检测 (DPI) 系统和其他网络监控工具识别并阻止。 + +* 可在所有平台的 AmneziaVPN 中使用 +* 低功耗 +* 配置简单 +* 容易被DPI分析系统识别,容易被阻塞 +* 通过 UDP 网络协议工作。 @@ -2708,7 +3066,15 @@ This means that AmneziaWG keeps the fast performance of the original while addin * Minimum number of settings * Not recognised by DPI analysis systems, resistant to blocking * Works over UDP network protocol. - + AmneziaWG 是流行 VPN 协议的现代迭代,它建立在 WireGuard 的基础上,保留了其简化的架构和跨设备的高性能功能。 +虽然 WireGuard 以其高效而闻名,但由于其独特的数据包签名,它存在容易被检测到的问题。 AmneziaWG 通过使用更好的混淆方法解决了这个问题,使其流量与常规互联网流量融合在一起。 +这意味着 AmneziaWG 保留了原始版本的快速性能,同时添加了额外的隐秘层,使其成为那些想要快速且谨慎的 VPN 连接的人的绝佳选择。 + +* 可在所有平台的 AmneziaVPN 中使用 +* 低功耗 +* 配置简单 +* 不被DPI分析系统识别,抗阻塞 +* 通过 UDP 网络协议工作。 @@ -2721,77 +3087,105 @@ While it offers a blend of security, stability, and speed, it's essential t * Minimal configuration * Recognised by DPI analysis systems * Works over UDP network protocol, ports 500 and 4500. - + IKEv2 与 IPSec 加密层配合使用,是一种现代且稳定的 VPN 协议。 +其显着特征之一是能够在网络和设备之间快速切换,使其特别适应动态网络环境。 +虽然 IKEv2 兼具安全性、稳定性和速度,但必须注意的是,IKEv2 很容易被检测到,并且容易受到阻止。 + +* 仅在 Windows 上的 AmneziaVPN 中可用 +* 低功耗,在移动设备上 +* 最低配置 +* 获得DPI分析系统认可 +* 通过 UDP 网络协议、端口 500 和 4500 工作。 + + + OpenVPN container + OpenVPN容器 + + + Container with OpenVpn and ShadowSocks + 含 OpenVpn 和 ShadowSocks 的容器 + + + Container with OpenVpn and ShadowSocks protocols configured with traffic masking by Cloak plugin + 含 OpenVpn 和 ShadowSocks 协议的容器,通过 Cloak 插件配置混淆流量 + + + WireGuard container + WireGuard 容器 + + + IPsec container + IPsec 容器 DNS Service - + DNS 服务 Sftp file sharing service - is secure FTP service - + Sftp 文件共享服务 - 安全的 FTP 服务 Entry not found - + 未找到记录 Access to keychain denied - + 访问钥匙串被拒绝 No keyring daemon - + 没有密钥环守护进程 Already unlocked - + 已经解锁 No such keyring - + 没有这样的密钥环 Bad arguments - + 错误参数 I/O error - + I/O错误 Cancelled - + 已取消 Keyring already exists - + 密匙环已经存在 No match - + 不匹配 Unknown error - + 未知错误 error 0x%1: %2 - + 错误 0x%1: %2 @@ -2799,7 +3193,7 @@ While it offers a blend of security, stability, and speed, it's essential t Choose language - + 选择语言 @@ -2807,13 +3201,13 @@ While it offers a blend of security, stability, and speed, it's essential t Server #1 - + Server - + 服务器 @@ -2821,22 +3215,22 @@ While it offers a blend of security, stability, and speed, it's essential t Software version - + 软件版本 Backup file is corrupted - + 备份文件已损坏 All settings have been reset to default values - + 所配置恢复为默认值 Cached profiles cleared - + 缓存的配置文件已清除 @@ -2845,17 +3239,17 @@ While it offers a blend of security, stability, and speed, it's essential t Save AmneziaVPN config - + 保存配置 Share - + 共享 Copy - + 拷贝 @@ -2863,7 +3257,7 @@ While it offers a blend of security, stability, and speed, it's essential t Copied - + 已拷贝 @@ -2873,12 +3267,16 @@ While it offers a blend of security, stability, and speed, it's essential t Show connection settings - + 显示连接配置 + + + Show content + 展示内容 To read the QR code in the Amnezia app, select "Add server" → "I have data to connect" → "QR code, key or settings file" - + 要应用二维码到 Amnezia,请底部工具栏点击“+”→“连接方式”→“二维码、授权码或配置文件” @@ -2886,42 +3284,42 @@ While it offers a blend of security, stability, and speed, it's essential t Hostname not look like ip adress or domain name - + 请输入有效的域名或IP地址 New site added: %1 - + 已经添加新网站: %1 Site removed: %1 - + 已移除网站: %1 Can't open file: %1 - + 无法打开文件: %1 Failed to parse JSON data from file: %1 - + JSON解析失败,文件: %1 The JSON data is not an array in file: %1 - + 文件中的JSON数据不是一个数组,文件: %1 Import completed - + 完成导入 Export completed - + 完成导出 @@ -2930,31 +3328,31 @@ While it offers a blend of security, stability, and speed, it's essential t Show - + 显示 Connect - + 连接 Disconnect - + 断开 Visit Website - + 官网 Quit - + 退出 @@ -2962,7 +3360,7 @@ While it offers a blend of security, stability, and speed, it's essential t The field can't be empty - + 输入不能为空 @@ -2970,7 +3368,7 @@ While it offers a blend of security, stability, and speed, it's essential t Mbps - + @@ -2978,42 +3376,42 @@ While it offers a blend of security, stability, and speed, it's essential t Unknown - + 未知 Disconnected - + 连接已断开 Preparing - + 准备中 Connecting... - + 连接中 Connected - + 已连接 Disconnecting... - + 断开中 Reconnecting... - + 重连中 Error - + 错误 @@ -3021,32 +3419,52 @@ While it offers a blend of security, stability, and speed, it's essential t Low - + Medium or High - + 中或高 Extreme - + 极度 I just want to increase the level of my privacy. - + 只是想提高隐私保护级别。 I want to bypass censorship. This option recommended in most cases. - + 想要绕过审查制度。大多数情况下推荐使用此选项。 Most VPN protocols are blocked. Recommended if other options are not working. - + 大多数 VPN 协议都被阻止。如果其他选项不起作用,推荐此选项。 + + + High + + + + Medium + + + + I just want to increase the level of privacy + 我只是想提高隐私保护级别 + + + Many foreign websites and VPN providers are blocked + 大多国外网站和VPN提供商被屏蔽 + + + Some foreign sites are blocked, but VPN providers are not blocked + 一些国外网站被屏蔽,但VPN提供商未被屏蔽 @@ -3054,12 +3472,12 @@ While it offers a blend of security, stability, and speed, it's essential t Private key passphrase - + 私钥密码 Save - + 保存 From 23633e8fa7ab3eb325f98f82df7bdc51af74eddf Mon Sep 17 00:00:00 2001 From: Mykola Baibuz Date: Fri, 23 Feb 2024 20:31:59 +0200 Subject: [PATCH 11/15] Statistic for WG/AWG protocol --- client/daemon/daemon.cpp | 1 - client/daemon/daemonlocalserverconnection.cpp | 4 ---- client/mozilla/localsocketcontroller.cpp | 6 +----- client/protocols/wireguardprotocol.cpp | 11 +++++++++++ client/protocols/wireguardprotocol.h | 3 ++- 5 files changed, 14 insertions(+), 11 deletions(-) diff --git a/client/daemon/daemon.cpp b/client/daemon/daemon.cpp index b85b2c33a..5b2e3cf11 100644 --- a/client/daemon/daemon.cpp +++ b/client/daemon/daemon.cpp @@ -500,7 +500,6 @@ bool Daemon::switchServer(const InterfaceConfig& config) { QJsonObject Daemon::getStatus() { Q_ASSERT(wgutils() != nullptr); QJsonObject json; - logger.debug() << "Status request"; if (!wgutils()->interfaceExists() || m_connections.isEmpty()) { json.insert("connected", QJsonValue(false)); diff --git a/client/daemon/daemonlocalserverconnection.cpp b/client/daemon/daemonlocalserverconnection.cpp index 1a49b7e5d..ed44d482c 100644 --- a/client/daemon/daemonlocalserverconnection.cpp +++ b/client/daemon/daemonlocalserverconnection.cpp @@ -46,8 +46,6 @@ DaemonLocalServerConnection::~DaemonLocalServerConnection() { } void DaemonLocalServerConnection::readData() { - logger.debug() << "Read Data"; - Q_ASSERT(m_socket); while (true) { @@ -90,8 +88,6 @@ void DaemonLocalServerConnection::parseCommand(const QByteArray& data) { } QString type = typeValue.toString(); - logger.debug() << "Command received:" << type; - if (type == "activate") { InterfaceConfig config; if (!Daemon::parseConfig(obj, config)) { diff --git a/client/mozilla/localsocketcontroller.cpp b/client/mozilla/localsocketcontroller.cpp index 8583de4e4..ba95b295f 100644 --- a/client/mozilla/localsocketcontroller.cpp +++ b/client/mozilla/localsocketcontroller.cpp @@ -250,8 +250,6 @@ void LocalSocketController::deactivate() { } void LocalSocketController::checkStatus() { - logger.debug() << "Check status"; - if (m_daemonState == eReady || m_daemonState == eInitializing) { Q_ASSERT(m_socket); @@ -301,7 +299,6 @@ void LocalSocketController::cleanupBackendLogs() { } void LocalSocketController::readData() { - logger.debug() << "Reading"; Q_ASSERT(m_socket); Q_ASSERT(m_daemonState == eInitializing || m_daemonState == eReady); @@ -343,8 +340,6 @@ void LocalSocketController::parseCommand(const QByteArray& command) { } QString type = typeValue.toString(); - logger.debug() << "Parse command:" << type; - if (m_daemonState == eInitializing && type == "status") { m_daemonState = eReady; @@ -370,6 +365,7 @@ void LocalSocketController::parseCommand(const QByteArray& command) { } emit initialized(true, connected.toBool(), datetime); + checkStatus(); return; } diff --git a/client/protocols/wireguardprotocol.cpp b/client/protocols/wireguardprotocol.cpp index 61b2e261d..a574c0546 100644 --- a/client/protocols/wireguardprotocol.cpp +++ b/client/protocols/wireguardprotocol.cpp @@ -20,9 +20,20 @@ WireguardProtocol::WireguardProtocol(const QJsonObject &configuration, QObject * }); connect(m_impl.get(), &ControllerImpl::disconnected, this, [this]() { emit connectionStateChanged(Vpn::ConnectionState::Disconnected); }); + + connect(m_impl.get(), &ControllerImpl::statusUpdated, this, + &WireguardProtocol::statusUpdated); + m_impl->initialize(nullptr, nullptr); } +void WireguardProtocol::statusUpdated(const QString& serverIpv4Gateway, const QString& deviceIpv4Address, + uint64_t txBytes, uint64_t rxBytes) { + setBytesChanged(rxBytes, txBytes); + QThread::msleep(1000); + m_impl->checkStatus(); +} + WireguardProtocol::~WireguardProtocol() { WireguardProtocol::stop(); diff --git a/client/protocols/wireguardprotocol.h b/client/protocols/wireguardprotocol.h index 6d1a05187..e0e98c801 100644 --- a/client/protocols/wireguardprotocol.h +++ b/client/protocols/wireguardprotocol.h @@ -21,7 +21,8 @@ class WireguardProtocol : public VpnProtocol ErrorCode start() override; void stop() override; - + void statusUpdated(const QString& serverIpv4Gateway, const QString& deviceIpv4Address, + uint64_t txBytes, uint64_t rxBytes); ErrorCode startMzImpl(); ErrorCode stopMzImpl(); From ef674d1e4f3784c16d85a8dd9c03574eec97f087 Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Tue, 27 Feb 2024 14:53:09 +0500 Subject: [PATCH 12/15] add charts to the list of packages for all platforms --- client/CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client/CMakeLists.txt b/client/CMakeLists.txt index 7616a6129..c476588b7 100644 --- a/client/CMakeLists.txt +++ b/client/CMakeLists.txt @@ -12,11 +12,11 @@ set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER "Autogen") set(PACKAGES Core Gui Network Xml RemoteObjects Quick Svg QuickControls2 - Core5Compat Concurrent LinguistTools + Core5Compat Concurrent LinguistTools Charts ) if(IOS) - set(PACKAGES ${PACKAGES} Multimedia Charts) + set(PACKAGES ${PACKAGES} Multimedia) endif() if(WIN32 OR (APPLE AND NOT IOS) OR (LINUX AND NOT ANDROID)) @@ -29,11 +29,11 @@ set(LIBS ${LIBS} Qt6::Core Qt6::Gui Qt6::Network Qt6::Xml Qt6::RemoteObjects Qt6::Quick Qt6::Svg Qt6::QuickControls2 - Qt6::Core5Compat Qt6::Concurrent + Qt6::Core5Compat Qt6::Concurrent Qt6::Charts ) if(IOS) - set(LIBS ${LIBS} Qt6::Multimedia Qt6::Charts) + set(LIBS ${LIBS} Qt6::Multimedia) endif() if(WIN32 OR (APPLE AND NOT IOS) OR (LINUX AND NOT ANDROID)) From b162147a89c8dc32342865562fb81fcb0e66f1dd Mon Sep 17 00:00:00 2001 From: albexk Date: Mon, 4 Mar 2024 15:17:28 +0300 Subject: [PATCH 13/15] Fix app launch on Android, uncomment statistics processing --- client/amnezia_application.cpp | 4 ++-- client/amnezia_application.h | 10 ++-------- client/android/src/org/amnezia/vpn/AmneziaActivity.kt | 2 +- .../android/src/org/amnezia/vpn/AmneziaVpnService.kt | 4 ++-- 4 files changed, 7 insertions(+), 13 deletions(-) diff --git a/client/amnezia_application.cpp b/client/amnezia_application.cpp index 0831b1a22..55bc1b584 100644 --- a/client/amnezia_application.cpp +++ b/client/amnezia_application.cpp @@ -182,8 +182,8 @@ void AmneziaApplication::init() // /qt/6.6.1/Src/qtbase/src/plugins/platforms/android/androidjniclipboard.cpp:46 // So we catch all the copies to the clipboard and clear them from "text/html" #ifdef Q_OS_ANDROID - connect(QGuiApplication::clipboard(), &QClipboard::dataChanged, []() { - auto clipboard = QGuiApplication::clipboard(); + connect(QApplication::clipboard(), &QClipboard::dataChanged, []() { + auto clipboard = QApplication::clipboard(); if (clipboard->mimeData()->hasHtml()) { clipboard->setText(clipboard->text()); } diff --git a/client/amnezia_application.h b/client/amnezia_application.h index 2f5e54127..7810b7c7e 100644 --- a/client/amnezia_application.h +++ b/client/amnezia_application.h @@ -5,11 +5,7 @@ #include #include #include -#if defined(Q_OS_ANDROID) - #include -#else - #include -#endif +#include #include "settings.h" #include "vpnconnection.h" @@ -44,9 +40,7 @@ #define amnApp (static_cast(QCoreApplication::instance())) -#if defined(Q_OS_ANDROID) - #define AMNEZIA_BASE_CLASS QGuiApplication -#elif defined(Q_OS_IOS) +#if defined(Q_OS_ANDROID) || defined(Q_OS_IOS) #define AMNEZIA_BASE_CLASS QApplication #else #define AMNEZIA_BASE_CLASS SingleApplication diff --git a/client/android/src/org/amnezia/vpn/AmneziaActivity.kt b/client/android/src/org/amnezia/vpn/AmneziaActivity.kt index 9a813626d..46d1e8052 100644 --- a/client/android/src/org/amnezia/vpn/AmneziaActivity.kt +++ b/client/android/src/org/amnezia/vpn/AmneziaActivity.kt @@ -56,7 +56,7 @@ class AmneziaActivity : QtActivity() { object : Handler(Looper.getMainLooper()) { override fun handleMessage(msg: Message) { val event = msg.extractIpcMessage() - Log.d(TAG, "Handle event: $event") + if (event != ServiceEvent.STATISTICS_UPDATE) Log.d(TAG, "Handle event: $event") when (event) { ServiceEvent.CONNECTED -> { QtAndroidController.onVpnConnected() diff --git a/client/android/src/org/amnezia/vpn/AmneziaVpnService.kt b/client/android/src/org/amnezia/vpn/AmneziaVpnService.kt index 78f89ab87..c30fedf38 100644 --- a/client/android/src/org/amnezia/vpn/AmneziaVpnService.kt +++ b/client/android/src/org/amnezia/vpn/AmneziaVpnService.kt @@ -312,7 +312,7 @@ class AmneziaVpnService : VpnService() { @MainThread private fun launchSendingStatistics() { - /* if (isServiceBound && isConnected) { + if (isServiceBound && isConnected) { statisticsSendingJob = mainScope.launch { while (true) { clientMessenger.send { @@ -323,7 +323,7 @@ class AmneziaVpnService : VpnService() { delay(STATISTICS_SENDING_TIMEOUT) } } - } */ + } } @MainThread From b3ae687feb50e04f534dc73343236b688c4f3acb Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Mon, 1 Apr 2024 18:54:42 +0500 Subject: [PATCH 14/15] repositioned the graphview --- client/ui/qml/Pages2/PageHome.qml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/client/ui/qml/Pages2/PageHome.qml b/client/ui/qml/Pages2/PageHome.qml index ce8b6e7ab..58d5c7fc7 100644 --- a/client/ui/qml/Pages2/PageHome.qml +++ b/client/ui/qml/Pages2/PageHome.qml @@ -211,10 +211,15 @@ PageType { LabelTextType { id: collapsedServerMenuDescription - Layout.bottomMargin: drawer.isCollapsed ? 44 : ServersModel.isDefaultServerFromApi ? 89 : 44 Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter text: drawer.isCollapsed ? ServersModel.defaultServerDescriptionCollapsed : ServersModel.defaultServerDescriptionExpanded } + + GraphViewType { + Layout.minimumHeight: 50 + Layout.bottomMargin: drawer.isCollapsed ? 24 : ServersModel.isDefaultServerFromApi ? 69 : 24 + Layout.fillWidth: true + } } ColumnLayout { From 93aebf52569f76bd663153cf18ae9b7803625f3c Mon Sep 17 00:00:00 2001 From: "vladimir.kuznetsov" Date: Mon, 8 Apr 2024 21:31:24 +0500 Subject: [PATCH 15/15] enabled drag for graphview area --- client/ui/qml/Controls2/GraphViewType.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ui/qml/Controls2/GraphViewType.qml b/client/ui/qml/Controls2/GraphViewType.qml index 1e8fcf26b..5d2e49924 100644 --- a/client/ui/qml/Controls2/GraphViewType.qml +++ b/client/ui/qml/Controls2/GraphViewType.qml @@ -14,7 +14,7 @@ ChartView { margins.left: 0 margins.right: 0 antialiasing: true - + enabled: false property bool shouldUpdate: SystemController.appHasFocus