From ebcae2247a2a40630fed89f02dcf55045912fd95 Mon Sep 17 00:00:00 2001 From: my0419 Date: Thu, 17 Feb 2022 18:15:20 +0300 Subject: [PATCH] added ownCloud --- package.json | 4 ++-- src/i18n/index.js | 18 +++++++++++------- src/lib/protocols/index.js | 12 +++++++++++- src/lib/protocols/owncloud.js | 16 ++++++++++++++++ src/main/index.js | 2 +- src/renderer/assets/css/app.scss | 7 +++++++ src/renderer/components/FormTypes.vue | 14 +++++++------- src/renderer/components/Main.vue | 10 +++++----- src/renderer/components/StepAccess.vue | 24 ++++++++++++++++++++++-- 9 files changed, 82 insertions(+), 25 deletions(-) create mode 100644 src/lib/protocols/owncloud.js diff --git a/package.json b/package.json index ae6b02f..c3130db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "myvpn", - "version": "0.4.0", + "version": "0.4.1", "author": { "name": "MyVPN", "email": "support@myvpn.run" @@ -14,7 +14,7 @@ "scripts": { "build": "node .electron-vue/build.js && electron-builder", "build:windows": "node .electron-vue/build.js && electron-builder --windows --x64", - "build:linux": "node .electron-vue/build.js && electron-builder --linux deb tar.bz2", + "build:linux": "node .electron-vue/build.js && electron-builder --linux deb tar.bz2 AppImage", "build:mac": "node .electron-vue/build.js && electron-builder --mac dmg", "publish:windows": "node .electron-vue/build.js && electron-builder --windows --x64 -p always", "publish:linux": "node .electron-vue/build.js && electron-builder --linux AppImage deb tar.bz2 -p always", diff --git a/src/i18n/index.js b/src/i18n/index.js index f3cf65e..2c8c874 100644 --- a/src/i18n/index.js +++ b/src/i18n/index.js @@ -9,13 +9,12 @@ export default { 'Insert the API key from your Hetzner Cloud account': 'Вставьте API-ключ из личного кабинета Hetzner Cloud', 'Successful connection to the account': 'Вы верно указали данные, ваш аккаут подключен!', 'Choose the server region': 'Выберите регион сервера', - 'Choose the connection protocol': 'Выберите протокол подключения', - 'Create a server and configure the VPN': 'Создать сервер и настроить VPN', - 'Connect to the server and configure the VPN': 'Подключиться к серверу и настроить VPN', + 'Choose the software': 'Выберите сервис', + 'Create and configure a server': 'Создать и настроить сервер', + 'Connect to the server and configure the protocol': 'Подключиться к серверу и настроить протокол', 'Parameters': 'Параметры', 'The account is successfully connected': 'Аккаунт успешно подключен', 'Server configuration': 'Настройка сервера', - 'Your VPN': 'Ваш VPN', 'Logout': 'Выход', 'Go to website': 'Перейти на сайт', 'Connect using the API key': 'Подключиться используя API ключ', @@ -53,9 +52,9 @@ export default { 'Waiting for software setup to start on the server': 'Ожидание начала установки ПО', 'Creating a new server': 'Создается новый сервер', 'Connection failed. Removing server.': 'Не удалось подключиться к серверу. Удаление сервера.', - 'Waiting for software installation': 'Установка и настройка VPN', + 'Waiting for software installation': 'Установка и настройка сервера', 'Waiting time 300sec is exceeded': 'Превышено время ожидания 300 сек.', - 'VPN service configured': 'Успешная настройка VPN сервера', + 'Server successfully configured': 'Сервер успешно настроен', 'Generate RSA public/private key pair': 'Генерируются приватные ключи', 'Waiting for the server to start': 'Ожидание запуска нового сервера', 'Copied!': 'Скопировано!', @@ -80,7 +79,7 @@ export default { 'Test': 'Тест', 'ms': 'ms', 'Region Name': 'Регион', - 'My VPN': 'Мой VPN', + 'Configuration': 'Конфигурация', 'My Server': 'Мой сервер', 'Region Code': 'Код', 'Mean': 'Средняя', @@ -139,5 +138,10 @@ export default { 'Step': 'Шаг', 'Next Step': 'Вперед', 'Prev Step': 'Назад', + 'Note': 'Примечание', + 'If you want to use a domain name you need to follow 2 simple steps.': 'Если вы хотите использовать доменное имя вам необходимо выполнить 2 простых шага.', + 'Go to your domain control panel and create a DNS record referencing the IP': 'Перейти в панель управления домена и создать А запись DNS ссылающуюся на IP', + 'Go to this domain and configure the cloud by creating an administrator account.': 'Перейти к домену и произвести настройку облака создав учетную запись администратора.', + 'Address': 'Адрес' } } diff --git a/src/lib/protocols/index.js b/src/lib/protocols/index.js index 06c2682..c505577 100644 --- a/src/lib/protocols/index.js +++ b/src/lib/protocols/index.js @@ -4,6 +4,7 @@ import OpenvpnProtocol from "./openvpn"; import WireguardProtocol from "./wireguard"; import ShadowsocksProtocol from "./shadowsocks"; import Socks5Protocol from "./socks5"; +import OwncloudProtocol from "./owncloud"; export const TYPE_L2TP = 'l2tp' export const TYPE_PPTP = 'pptp' @@ -11,6 +12,8 @@ export const TYPE_OPENVPN = 'openvpn' export const TYPE_WIREGUARD = 'wireguard' export const TYPE_SHADOWSOCKS = 'shadowsocks' export const TYPE_SOCKS5 = 'socks5' +// extra +export const TYPE_OWNCLOUD = 'owncloud' export class ProtocolFactory { static create (name, params) { @@ -27,6 +30,8 @@ export class ProtocolFactory { return new ShadowsocksProtocol(params) case TYPE_SOCKS5: return new Socks5Protocol(params) + case TYPE_OWNCLOUD: + return new OwncloudProtocol(params) default: throw new Error(`Unknown protocol ${name}`) } @@ -40,6 +45,7 @@ export const PROTOCOL_CODES = [ {code: 4, type: TYPE_WIREGUARD}, {code: 5, type: TYPE_SHADOWSOCKS}, {code: 6, type: TYPE_SOCKS5}, + {code: 7, type: TYPE_OWNCLOUD}, ] export const PROTOCOL_LIST = [ @@ -66,5 +72,9 @@ export const PROTOCOL_LIST = [ { key: TYPE_SOCKS5, title: 'SOCKS5' - } + }, + { + key: TYPE_OWNCLOUD, + title: 'ownCloud' + }, ] \ No newline at end of file diff --git a/src/lib/protocols/owncloud.js b/src/lib/protocols/owncloud.js new file mode 100644 index 0000000..d5a357b --- /dev/null +++ b/src/lib/protocols/owncloud.js @@ -0,0 +1,16 @@ +import BaseProtocol from "./base"; + +class OwncloudProtocol extends BaseProtocol { + + /** + * @returns {Object} + */ +/* envVariables () { + return Object.assign(super.envVariables(), { + 'DB_ROOT_PASSWORD': this.params.account.accounts[0].password, + }) + }*/ + +} + +export default OwncloudProtocol \ No newline at end of file diff --git a/src/main/index.js b/src/main/index.js index 67d7cd0..3397060 100644 --- a/src/main/index.js +++ b/src/main/index.js @@ -21,7 +21,7 @@ function createWindow () { * Initial window optionshttp://localhost:9080/static/img/background.svg */ mainWindow = new BrowserWindow({ - height: 560, + height: 600, useContentSize: true, // transparent: true, // vibrancy: 'light', diff --git a/src/renderer/assets/css/app.scss b/src/renderer/assets/css/app.scss index d876dd8..5f3c1d6 100644 --- a/src/renderer/assets/css/app.scss +++ b/src/renderer/assets/css/app.scss @@ -103,3 +103,10 @@ h3 { } } } +.note-block { + line-height: 22px; + font-size: 12px; + ol { + padding-left: 20px; + } +} \ No newline at end of file diff --git a/src/renderer/components/FormTypes.vue b/src/renderer/components/FormTypes.vue index dcd84f1..5f6887e 100644 --- a/src/renderer/components/FormTypes.vue +++ b/src/renderer/components/FormTypes.vue @@ -7,6 +7,8 @@ diff --git a/src/renderer/components/Main.vue b/src/renderer/components/Main.vue index c1bc757..51b8332 100644 --- a/src/renderer/components/Main.vue +++ b/src/renderer/components/Main.vue @@ -4,16 +4,16 @@

{{ $t('Choose the server region')}}

-

{{ $t('Choose the connection protocol') }}

+

{{ $t('Choose the software') }}

{{ $t('Version')}}: {{ appVersion }} diff --git a/src/renderer/components/StepAccess.vue b/src/renderer/components/StepAccess.vue index c9ea94c..bf30c33 100644 --- a/src/renderer/components/StepAccess.vue +++ b/src/renderer/components/StepAccess.vue @@ -7,7 +7,7 @@ - +
@@ -169,6 +169,27 @@
+
+ + + ownCloud + + + +
+ {{ $t('Note') }}:
+ {{ $t('If you want to use a domain name you need to follow 2 simple steps.')}} +
    +
  1. {{ $t('Go to your domain control panel and create a DNS record referencing the IP') }} {{ serverIp }}
  2. +
  3. {{ $t('Go to this domain and configure the cloud by creating an administrator account.')}}
  4. +
+
+
+ + + +
+
@@ -290,7 +311,6 @@ } color: #fbfbfb; &-server { - margin-left: 160px; @include mqMAX($XS) { margin-left: 0; .el-form-item {