From c571fcf88b6d4bb434b185e17442f6c2cd202ad2 Mon Sep 17 00:00:00 2001 From: tetuaoro <65575727+tetuaoro@users.noreply.github.com> Date: Sat, 3 Aug 2024 13:14:20 +0200 Subject: [PATCH] update: remove PASWORD_HASH forever - set up a username and password at the initial start --- .vscode/settings.json | 11 ---- Dockerfile | 4 -- How_to_generate_an_bcrypt_hash.md | 28 ---------- README.md | 10 ---- docker-compose.dev.yml | 1 - docker-compose.yml | 1 - src/lib/Server.js | 9 ++-- src/lib/database/AbstractDatabase.js | 25 +++++++++ src/lib/database/Lowdb.js | 12 ++++- src/templates/Settings.vue | 23 +++++--- src/templates/Setup.vue | 8 +-- src/wgpw.mjs | 54 ------------------- src/wgpw.sh | 5 -- src/www/css/app.css | 4 ++ src/www/index.html | 20 ++++--- src/www/js/app.js | 4 +- src/www/js/i18n.js | 4 ++ src/www/js/vendor/vue-settings.umd.min.js | 2 +- src/www/js/vendor/vue-settings.umd.min.js.map | 2 +- src/www/js/vendor/vue-setup.umd.min.js | 2 +- src/www/js/vendor/vue-setup.umd.min.js.map | 2 +- wg-easy.service | 1 - 22 files changed, 88 insertions(+), 144 deletions(-) delete mode 100644 .vscode/settings.json delete mode 100644 How_to_generate_an_bcrypt_hash.md delete mode 100644 src/wgpw.mjs delete mode 100755 src/wgpw.sh diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index a6cc5e5a..00000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "[javascript]": { - "editor.formatOnSave": true, - "editor.formatOnType": true - }, - "javascript.format.insertSpaceAfterOpeningAndBeforeClosingEmptyBraces": false, - "javascript.format.semicolons": "insert", - "editor.tabSize": 2, - "editor.indentSize": "tabSize", - "editor.detectIndentation": false -} \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 5f56c753..5aa1019d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,10 +26,6 @@ COPY --from=build_node_modules /app /app # than what runs inside of docker. COPY --from=build_node_modules /node_modules /node_modules -# Copy the needed wg-password scripts -COPY --from=build_node_modules /app/wgpw.sh /bin/wgpw -RUN chmod +x /bin/wgpw - # Install Linux packages RUN apk add --no-cache \ dpkg \ diff --git a/How_to_generate_an_bcrypt_hash.md b/How_to_generate_an_bcrypt_hash.md deleted file mode 100644 index d868d23c..00000000 --- a/How_to_generate_an_bcrypt_hash.md +++ /dev/null @@ -1,28 +0,0 @@ -# wg-password - -`wg-password` (wgpw) is a script that generates bcrypt password hashes for use with `wg-easy`, enhancing security by requiring passwords. - -## Features - -- Generate bcrypt password hashes. -- Easily integrate with `wg-easy` to enforce password requirements. - -## Usage with Docker - -To generate a bcrypt password hash using docker, run the following command : - -```sh -docker run ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD -PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // literally YOUR_PASSWORD -``` - -*Important* : make sure to enclose your password in single quotes when you run `docker run` command : - -```bash -$ echo $2b$12$coPqCsPtcF -b2 -$ echo "$2b$12$coPqCsPtcF" -b2 -$ echo '$2b$12$coPqCsPtcF' -$2b$12$coPqCsPtcF -``` diff --git a/README.md b/README.md index f21c398b..b2195b01 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,6 @@ To automatically install & run wg-easy, simply run: --name=wg-easy \ -e LANG=de \ -e WG_HOST=<🚨YOUR_SERVER_IP> \ - -e PASSWORD_HASH=<🚨YOUR_ADMIN_PASSWORD_HASH> \ -e PORT=51821 \ -e WG_PORT=51820 \ -v ~/.wg-easy:/etc/wireguard \ @@ -80,8 +79,6 @@ To automatically install & run wg-easy, simply run: ``` > 💡 Replace `YOUR_SERVER_IP` with your WAN IP, or a Dynamic DNS hostname. -> -> 💡 Replace `YOUR_ADMIN_PASSWORD_HASH` with a bcrypt password hash to log in on the Web UI. See [How_to_generate_an_bcrypt_hash.md](./How_to_generate_an_bcrypt_hash.md) for know how generate the hash. The Web UI will now be available on `http://0.0.0.0:51821`. @@ -95,12 +92,6 @@ execute `docker compose up --detach`. Are you enjoying this project? [Buy Emile a beer!](https://github.com/sponsors/WeeJeWel) 🍻 -## Password initialization - -When the application initializes the database for the first time, it sets up an admin user with a default password : `admin`. You have the option to set your own password instead using either the `PASSWORD` environment variable or the `PASSWORD_HASH` environment variable. Follow [this link](./How_to_generate_an_bcrypt_hash.md) to generate a bcrypt hash password. - -The `PASSWORD` environment variable is plain text and will be hashed at runtime by wg-easy. On the other hand, the `PASSWORD_HASH` environment variable is already hashed. - ## Options These options can be configured by setting environment variables using `-e KEY="VALUE"` in the `docker run` command. @@ -109,7 +100,6 @@ These options can be configured by setting environment variables using `-e KEY=" | - | - | - |------------------------------------------------------------------------------------------------------------------------------------------------------| | `PORT` | `51821` | `6789` | TCP port for Web UI. | | `WEBUI_HOST` | `0.0.0.0` | `localhost` | IP address web UI binds to. | -| `PASSWORD_HASH` | - | `$2y$05$Ci...` | When set, requires a password when logging in to the Web UI. See [How to generate an bcrypt hash.md]("https://github.com/wg-easy/wg-easy/blob/master/How_to_generate_an_bcrypt_hash.md") for know how generate the hash. | | `WG_HOST` | - | `vpn.myserver.com` | The public hostname of your VPN server. | | `WG_DEVICE` | `eth0` | `ens6f0` | Ethernet device the wireguard traffic should be forwarded through. | | `WG_PORT` | `51820` | `12345` | The public UDP port of your VPN server. WireGuard will listen on that (othwise default) inside the Docker container. | diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml index bd4a836d..38c9aa19 100644 --- a/docker-compose.dev.yml +++ b/docker-compose.dev.yml @@ -13,5 +13,4 @@ services: - NET_ADMIN - SYS_MODULE environment: - # - PASSWORD=p - WG_HOST=192.168.1.233 diff --git a/docker-compose.yml b/docker-compose.yml index dd450ed9..d8e15445 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,6 @@ services: - WG_HOST=raspberrypi.local # Optional: - # - PASSWORD_HASH=$$2y$$10$$hBCoykrB95WSzuV4fafBzOHWKu9sbyVa34GJr8VV5R/pIelfEMYyG (needs double $$, hash of 'foobar123'; see "How_to_generate_an_bcrypt_hash.md" for generate the hash) # - PORT=51821 # - WG_PORT=51820 # - WG_CONFIG_PORT=92820 diff --git a/src/lib/Server.js b/src/lib/Server.js index d777bb7e..18f55cd5 100644 --- a/src/lib/Server.js +++ b/src/lib/Server.js @@ -128,7 +128,7 @@ module.exports = class Server { // WireGuard app.use( - fromNodeMiddleware(async (req, res, next) => { + fromNodeMiddleware(async (req, _res, next) => { if (!req.url.startsWith('/api/')) { return next(); } @@ -148,9 +148,10 @@ module.exports = class Server { } } - return res.status(401).json({ - error: 'Not Logged In', - }); + // this cause errors : status is not a function + // return res.status(401).json({ + // error: 'Not Logged In', + // }); }), ); diff --git a/src/lib/database/AbstractDatabase.js b/src/lib/database/AbstractDatabase.js index 32f6bcf0..071c7044 100644 --- a/src/lib/database/AbstractDatabase.js +++ b/src/lib/database/AbstractDatabase.js @@ -32,6 +32,17 @@ module.exports = class DatabaseInterface { return password.length >= minLength && hasUpperCase && hasLowerCase && hasNumber && hasSpecialChar; } + /** + * Check if database exist + * + * @abstract + * @returns {Promise} Return `true` if it exists, otherwise `false` + * @throws {ServerError} If not implemented by the subclass + */ + firstSetupAuth() { + throw new ServerError('You must implement this function'); + } + /** * Initializes the database if does not exist * @@ -85,4 +96,18 @@ module.exports = class DatabaseInterface { throw new ServerError('You must implement this function'); } + /** + * Adds an admin user to the database if none exists + * + * @abstract + * @param {string} username - The username of the admin user + * @param {string} password - The password of the admin user + * @returns {Promise} + * @throws {ServerError} If not implemented by the subclass + * @throws {ServerError} If `password` is not complex enough + */ + async addAdminUser(username, password) { + throw new ServerError('You must implement this function'); + } + }; diff --git a/src/lib/database/Lowdb.js b/src/lib/database/Lowdb.js index 103f981e..f0d93f0e 100644 --- a/src/lib/database/Lowdb.js +++ b/src/lib/database/Lowdb.js @@ -46,22 +46,25 @@ module.exports = class Lowdb extends DatabaseInterface { } async initDb() { - debug('Loading database...'); + // each function must call this method to check if the file exist // lowdb is an esm module // eslint-disable-next-line node/no-unsupported-features/es-syntax, import/no-unresolved, node/no-missing-import const { JSONFilePreset } = await import('lowdb/node'); this.db = await JSONFilePreset(this.dbPath, Model); + await this.db.read(); if (!this.db.data.users) { + debug(`Created new database at ${this.dbPath}`); this.db.data = { users: [] }; await this.db.write(); - debug(`Created new database at ${this.dbPath}`); } } async comparePassword(username, password) { debug('Compare password'); + this.initDb(); + const user = this.db.data.users.find((u) => u.username === username); if (!user) { throw new ServerError('User not found'); @@ -72,6 +75,7 @@ module.exports = class Lowdb extends DatabaseInterface { async updatePassword(username, oldPassword, newPassword) { debug('Update password'); + this.initDb(); if (!super.isPasswordComplex(newPassword)) { throw new ServerError('Password does not meet complexity requirements : 8 characters minimum, uppercase, lowercase, number and special char'); @@ -94,6 +98,7 @@ module.exports = class Lowdb extends DatabaseInterface { async addUser(username, password) { debug('Add user'); + this.initDb(); if (!super.isPasswordComplex(password)) { throw new ServerError('Password does not meet complexity requirements, minimum 8 characters, uppercase, lowercase, number and special char'); @@ -118,6 +123,7 @@ module.exports = class Lowdb extends DatabaseInterface { async addAdminUser(username, password) { debug('Add admin user'); + this.initDb(); if (!this.firstSetupAuth()) { // for the time being, when the first setup, this method is auth to be called, otherwise throw @@ -146,6 +152,8 @@ module.exports = class Lowdb extends DatabaseInterface { } firstSetupAuth() { + this.initDb(); + return this.db.data.users.length === 0; } diff --git a/src/templates/Settings.vue b/src/templates/Settings.vue index e89f2bc9..6a51c5df 100644 --- a/src/templates/Settings.vue +++ b/src/templates/Settings.vue @@ -3,8 +3,12 @@ \n\n\n","import mod from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=9bbe8e46\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["root","factory","exports","module","define","amd","self","this","__webpack_require__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","p","window","currentScript","document","src","match","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","$t","on","updatePassword","attrs","directives","name","rawName","value","expression","domProps","$event","target","composing","currentPassword","newPassword","confirmNewPassword","class","staticRenderFns","data","methods","e","preventDefault","api","username","oldPassword","then","_result","alert","catch","err","message","toString","mounted","API","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"vue-settings.umd.min.js","mappings":"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","sources":["webpack://VueSettings/webpack/universalModuleDefinition","webpack://VueSettings/webpack/bootstrap","webpack://VueSettings/webpack/runtime/define property getters","webpack://VueSettings/webpack/runtime/hasOwnProperty shorthand","webpack://VueSettings/webpack/runtime/publicPath","webpack://VueSettings/../../.local/share/pnpm/global/5/.pnpm/@vue+cli-service@5.0.8_lodash@4.17.21_vue-template-compiler@2.7.16_webpack-sources@3.2.3/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueSettings/./src/templates/Settings.vue?3e35","webpack://VueSettings/src/templates/Settings.vue","webpack://VueSettings/./src/templates/Settings.vue?ffba","webpack://VueSettings/../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueSettings/./src/templates/Settings.vue","webpack://VueSettings/../../.local/share/pnpm/global/5/.pnpm/@vue+cli-service@5.0.8_lodash@4.17.21_vue-template-compiler@2.7.16_webpack-sources@3.2.3/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueSettings\"] = factory();\n\telse\n\t\troot[\"VueSettings\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"w-full shadow-md rounded-lg bg-white dark:bg-neutral-700 overflow-hidden\"},[_c('div',{staticClass:\"flex flex-row flex-auto items-center p-3 px-5 border-b-2 border-neutral-500/50 dark:border-neutral-600\"},[_c('div',{staticClass:\"flex-grow\"},[_c('p',{staticClass:\"text-2xl font-medium dark:text-neutral-200\"},[_vm._v(_vm._s(_vm.$t('settings')))])])]),_c('div',{staticClass:\"container p-2 flex flex-col md:items-center py-8\"},[_c('form',{staticClass:\"w-full md:w-[75%]\",on:{\"submit\":_vm.updatePassword}},[_c('div',{staticClass:\"mb-4\"},[_c('label',{staticClass:\"block text-sm font-medium dark:text-neutral-200 mb-4\",attrs:{\"for\":\"username\"}},[_vm._v(\" \"+_vm._s(_vm.$t('setupUsername'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],staticClass:\"outline-none focus:border-red-800 bg-transparent border border-neutral-500 p-2 rounded-md w-full\",attrs:{\"id\":\"username\",\"disabled\":\"\",\"placeholder\":_vm.$t('setupUsername'),\"autocomplete\":\"username\",\"required\":\"\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('div',{staticClass:\"mb-4\"},[_c('label',{staticClass:\"block text-sm font-medium dark:text-neutral-200 mb-4\",attrs:{\"for\":\"currentPassword\"}},[_vm._v(\" \"+_vm._s(_vm.$t('currentPassword'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],staticClass:\"outline-none focus:border-red-800 bg-transparent border border-neutral-500 p-2 rounded-md w-full\",attrs:{\"id\":\"currentPassword\",\"type\":\"password\",\"placeholder\":_vm.$t('currentPassword'),\"autocomplete\":\"current-password\",\"required\":\"\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}})]),_c('div',{staticClass:\"mb-4\"},[_c('label',{staticClass:\"block text-sm font-medium dark:text-neutral-200 mb-4\",attrs:{\"for\":\"newPassword\"}},[_vm._v(\" \"+_vm._s(_vm.$t('newPassword'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"outline-none focus:border-red-800 bg-transparent border border-neutral-500 p-2 rounded-md w-full\",attrs:{\"id\":\"newPassword\",\"type\":\"password\",\"placeholder\":_vm.$t('newPassword'),\"autocomplete\":\"new-password\",\"required\":\"\"},domProps:{\"value\":(_vm.newPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value}}})]),_c('div',{staticClass:\"mb-4\"},[_c('label',{staticClass:\"block text-sm font-medium dark:text-neutral-200 mb-4\",attrs:{\"for\":\"confirmNewPassword\"}},[_vm._v(\" \"+_vm._s(_vm.$t('confirmNewPassword'))+\" \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.confirmNewPassword),expression:\"confirmNewPassword\"}],staticClass:\"outline-none focus:border-red-800 bg-transparent border border-neutral-500 p-2 rounded-md w-full\",attrs:{\"id\":\"confirmNewPassword\",\"type\":\"password\",\"placeholder\":_vm.$t('confirmNewPassword'),\"autocomplete\":\"new-password\",\"required\":\"\"},domProps:{\"value\":(_vm.confirmNewPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.confirmNewPassword=$event.target.value}}})]),_c('button',{class:!_vm.newPassword || !_vm.confirmNewPassword || _vm.newPassword != _vm.confirmNewPassword ? 'bg-neutral-400 text-white p-2 rounded-md w-full transition' : 'bg-red-800 text-white p-2 rounded-md w-full transition',attrs:{\"type\":\"submit\",\"disabled\":!_vm.username || !_vm.currentPassword || !_vm.newPassword || !_vm.confirmNewPassword || _vm.newPassword != _vm.confirmNewPassword}},[_vm._v(\" \"+_vm._s(_vm.$t('updatePassword'))+\" \")])])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=41a1d962\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["root","factory","exports","module","define","amd","self","this","__webpack_require__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","p","window","currentScript","document","src","match","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","$t","on","updatePassword","attrs","directives","name","rawName","value","expression","domProps","$event","target","composing","username","currentPassword","newPassword","confirmNewPassword","class","staticRenderFns","props","String","data","ref","methods","e","preventDefault","api","oldPassword","then","_result","alert","catch","err","message","toString","mounted","API","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component"],"sourceRoot":""} \ No newline at end of file diff --git a/src/www/js/vendor/vue-setup.umd.min.js b/src/www/js/vendor/vue-setup.umd.min.js index 8f01771e..13a43611 100644 --- a/src/www/js/vendor/vue-setup.umd.min.js +++ b/src/www/js/vendor/vue-setup.umd.min.js @@ -1,2 +1,2 @@ -(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["VueSetup"]=t():e["VueSetup"]=t()})("undefined"!==typeof self?self:this,(()=>(()=>{"use strict";var e={};(()=>{e.d=(t,r)=>{for(var s in r)e.o(r,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})}})(),(()=>{e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{e.p=""})();var t={};if(e.d(t,{default:()=>w}),"undefined"!==typeof window){var r=window.document.currentScript,s=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);s&&(e.p=s[1])}var a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("h1",{staticClass:"text-4xl font-medium my-16 text-gray-700 dark:text-neutral-200 text-center"},[r("span",{staticClass:"align-middle"},[e._v(e._s(e.$t("setup")))])]),r("form",{staticClass:"shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-72 p-5 overflow-hidden mt-10",on:{submit:e.addAdminUser}},[r("div",{staticClass:"h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"},[r("svg",{staticClass:"w-10 h-10 m-5 text-white dark:text-white",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"}},[r("path",{attrs:{"fill-rule":"evenodd",d:"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z","clip-rule":"evenodd"}})])]),r("div",{staticClass:"mb-4"},[r("label",{staticClass:"block mb-2 text-gray-500 dark:text-white",attrs:{for:"username"}},[e._v(e._s(e.$t("setupUsername")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.username,expression:"username"}],staticClass:"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none",attrs:{id:"username",name:"username",placeholder:e.$t("setupUsername"),required:"",autocomplete:"username"},domProps:{value:e.username},on:{input:function(t){t.target.composing||(e.username=t.target.value)}}})]),r("div",{staticClass:"mb-4"},[r("label",{staticClass:"block mb-2 text-gray-500 dark:text-white",attrs:{for:"newPassword"}},[e._v(e._s(e.$t("newPassword")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.newPassword,expression:"newPassword"}],staticClass:"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none",attrs:{id:"newPassword",type:"password",name:"newPassword",placeholder:e.$t("newPassword"),required:"",autocomplete:"new-password"},domProps:{value:e.newPassword},on:{input:function(t){t.target.composing||(e.newPassword=t.target.value)}}})]),r("div",{staticClass:"mb-4"},[r("label",{staticClass:"block mb-2 text-gray-500 dark:text-white",attrs:{for:"confirmNewPassword"}},[e._v(e._s(e.$t("confirmNewPassword")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.confirmNewPassword,expression:"confirmNewPassword"}],staticClass:"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none",attrs:{id:"confirmNewPassword",type:"password",name:"confirmNewPassword",placeholder:e.$t("confirmNewPassword"),required:"",autocomplete:"new-password"},domProps:{value:e.confirmNewPassword},on:{input:function(t){t.target.composing||(e.confirmNewPassword=t.target.value)}}})]),r("button",{class:e.newPassword&&e.confirmNewPassword&&e.newPassword==e.confirmNewPassword?"bg-red-800 dark:bg-red-800 w-full rounded shadow py-2 text-sm text-white dark:text-white hover:bg-red-700 dark:hover:bg-red-700 transition cursor-pointer":"bg-gray-200 dark:bg-neutral-800 w-full rounded shadow py-2 text-sm text-white dark:text-white cursor-not-allowed",attrs:{type:"submit",disabled:!e.newPassword||!e.confirmNewPassword||e.newPassword!=e.confirmNewPassword}},[e._v(" "+e._s(e.$t("setupBtnCU"))+" ")]),r("small",{staticClass:"text-yellow-600"},[e._v(e._s(e.$t("setupRequiredPatternPassword")))])])])},o=[];const d={name:"Setup",data(){return{username:"",newPassword:"",confirmNewPassword:""}},methods:{async addAdminUser(e){e.preventDefault(),this.newPassword===this.confirmNewPassword?this.api.addAdminUser({username:this.username,password:this.newPassword}).then((e=>{this.username="",this.newPassword="",this.confirmNewPassword="",alert("User created")})).catch((e=>{console.log("err",e),alert(e.data.errorMessage||e.toString())})):alert("Password Mismatch")}},mounted(){this.api=new API}},n=d;function i(e,t,r,s,a,o,d,n){var i,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=r,l._compiled=!0),s&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),d?(i=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(d)},l._ssrRegister=i):a&&(i=n?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),i)if(l.functional){l._injectStyles=i;var u=l.render;l.render=function(e,t){return i.call(t),u(e,t)}}else{var w=l.beforeCreate;l.beforeCreate=w?[].concat(w,i):[i]}return{exports:e,options:l}}var l=i(n,a,o,!1,null,null,null);const u=l.exports,w=u;return t=t["default"],t})())); +(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t():"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["VueSetup"]=t():e["VueSetup"]=t()})("undefined"!==typeof self?self:this,(()=>(()=>{"use strict";var e={};(()=>{e.d=(t,r)=>{for(var s in r)e.o(r,s)&&!e.o(t,s)&&Object.defineProperty(t,s,{enumerable:!0,get:r[s]})}})(),(()=>{e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t)})(),(()=>{e.p=""})();var t={};if(e.d(t,{default:()=>w}),"undefined"!==typeof window){var r=window.document.currentScript,s=r&&r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);s&&(e.p=s[1])}var a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",[r("h1",{staticClass:"text-4xl font-medium my-16 text-gray-700 dark:text-neutral-200 text-center"},[r("span",{staticClass:"align-middle"},[e._v(e._s(e.$t("setup")))])]),r("form",{staticClass:"shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-72 p-5 overflow-hidden mt-10",on:{submit:e.addAdminUser}},[r("div",{staticClass:"h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden"},[r("svg",{staticClass:"w-10 h-10 m-5 text-white dark:text-white",attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor"}},[r("path",{attrs:{"fill-rule":"evenodd",d:"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z","clip-rule":"evenodd"}})])]),r("div",{staticClass:"mb-3"},[r("label",{staticClass:"block mb-2 text-gray-500 dark:text-white",attrs:{for:"username"}},[e._v(e._s(e.$t("setupUsername")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.username,expression:"username"}],staticClass:"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none",attrs:{id:"username",name:"username",placeholder:e.$t("setupUsername"),required:"",autocomplete:"username"},domProps:{value:e.username},on:{input:function(t){t.target.composing||(e.username=t.target.value)}}})]),r("div",{staticClass:"mb-3"},[r("label",{staticClass:"block mb-2 text-gray-500 dark:text-white",attrs:{for:"newPassword"}},[e._v(e._s(e.$t("newPassword")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.newPassword,expression:"newPassword"}],staticClass:"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none",attrs:{id:"newPassword",type:"password",name:"newPassword",placeholder:e.$t("newPassword"),required:"",autocomplete:"new-password"},domProps:{value:e.newPassword},on:{input:function(t){t.target.composing||(e.newPassword=t.target.value)}}})]),r("div",{staticClass:"mb-3"},[r("label",{staticClass:"block mb-2 text-gray-500 dark:text-white",attrs:{for:"confirmNewPassword"}},[e._v(e._s(e.$t("confirmNewPassword")))]),r("input",{directives:[{name:"model",rawName:"v-model",value:e.confirmNewPassword,expression:"confirmNewPassword"}],staticClass:"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none",attrs:{id:"confirmNewPassword",type:"password",name:"confirmNewPassword",placeholder:e.$t("confirmNewPassword"),required:"",autocomplete:"new-password"},domProps:{value:e.confirmNewPassword},on:{input:function(t){t.target.composing||(e.confirmNewPassword=t.target.value)}}})]),r("button",{class:e.newPassword&&e.confirmNewPassword&&e.newPassword==e.confirmNewPassword?"bg-red-800 dark:bg-red-800 w-full rounded shadow py-2 text-sm text-white dark:text-white hover:bg-red-700 dark:hover:bg-red-700 transition cursor-pointer":"bg-gray-200 dark:bg-neutral-800 w-full rounded shadow py-2 text-sm text-white dark:text-white cursor-not-allowed",attrs:{type:"submit",disabled:!e.newPassword||!e.confirmNewPassword||e.newPassword!=e.confirmNewPassword}},[e._v(" "+e._s(e.$t("setupBtnCU"))+" ")]),r("small",{staticClass:"text-yellow-600"},[e._v(e._s(e.$t("setupRequiredPatternPassword")))])])])},o=[];const d={name:"Setup",data(){return{username:"",newPassword:"",confirmNewPassword:""}},methods:{async addAdminUser(e){e.preventDefault(),this.newPassword===this.confirmNewPassword?this.api.addAdminUser({username:this.username,password:this.newPassword}).then((e=>{this.username="",this.newPassword="",this.confirmNewPassword="",alert("User created, please reload your current page"),window.location.reload()})).catch((e=>{alert(e.message||e.toString())})):alert("Password Mismatch")}},mounted(){this.api=new API}},n=d;function i(e,t,r,s,a,o,d,n){var i,l="function"===typeof e?e.options:e;if(t&&(l.render=t,l.staticRenderFns=r,l._compiled=!0),s&&(l.functional=!0),o&&(l._scopeId="data-v-"+o),d?(i=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"===typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),a&&a.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(d)},l._ssrRegister=i):a&&(i=n?function(){a.call(this,(l.functional?this.parent:this).$root.$options.shadowRoot)}:a),i)if(l.functional){l._injectStyles=i;var u=l.render;l.render=function(e,t){return i.call(t),u(e,t)}}else{var w=l.beforeCreate;l.beforeCreate=w?[].concat(w,i):[i]}return{exports:e,options:l}}var l=i(n,a,o,!1,null,null,null);const u=l.exports,w=u;return t=t["default"],t})())); //# sourceMappingURL=vue-setup.umd.min.js.map \ No newline at end of file diff --git a/src/www/js/vendor/vue-setup.umd.min.js.map b/src/www/js/vendor/vue-setup.umd.min.js.map index 0636da61..8a544d90 100644 --- a/src/www/js/vendor/vue-setup.umd.min.js.map +++ b/src/www/js/vendor/vue-setup.umd.min.js.map @@ -1 +1 @@ -{"version":3,"file":"vue-setup.umd.min.js","mappings":"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","sources":["webpack://VueSetup/webpack/universalModuleDefinition","webpack://VueSetup/webpack/bootstrap","webpack://VueSetup/webpack/runtime/define property getters","webpack://VueSetup/webpack/runtime/hasOwnProperty shorthand","webpack://VueSetup/webpack/runtime/publicPath","webpack://VueSetup/../../.local/share/pnpm/global/5/.pnpm/@vue+cli-service@5.0.8_lodash@4.17.21_vue-template-compiler@2.7.16_webpack-sources@3.2.3/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueSetup/./src/templates/Setup.vue?b6ae","webpack://VueSetup/src/templates/Setup.vue","webpack://VueSetup/./src/templates/Setup.vue?d3e1","webpack://VueSetup/../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueSetup/./src/templates/Setup.vue","webpack://VueSetup/../../.local/share/pnpm/global/5/.pnpm/@vue+cli-service@5.0.8_lodash@4.17.21_vue-template-compiler@2.7.16_webpack-sources@3.2.3/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueSetup\"] = factory();\n\telse\n\t\troot[\"VueSetup\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"text-4xl font-medium my-16 text-gray-700 dark:text-neutral-200 text-center\"},[_c('span',{staticClass:\"align-middle\"},[_vm._v(_vm._s(_vm.$t(\"setup\")))])]),_c('form',{staticClass:\"shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-72 p-5 overflow-hidden mt-10\",on:{\"submit\":_vm.addAdminUser}},[_c('div',{staticClass:\"h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden\"},[_c('svg',{staticClass:\"w-10 h-10 m-5 text-white dark:text-white\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"d\":\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\",\"clip-rule\":\"evenodd\"}})])]),_c('div',{staticClass:\"mb-4\"},[_c('label',{staticClass:\"block mb-2 text-gray-500 dark:text-white\",attrs:{\"for\":\"username\"}},[_vm._v(_vm._s(_vm.$t('setupUsername')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],staticClass:\"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none\",attrs:{\"id\":\"username\",\"name\":\"username\",\"placeholder\":_vm.$t('setupUsername'),\"required\":\"\",\"autocomplete\":\"username\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('div',{staticClass:\"mb-4\"},[_c('label',{staticClass:\"block mb-2 text-gray-500 dark:text-white\",attrs:{\"for\":\"newPassword\"}},[_vm._v(_vm._s(_vm.$t('newPassword')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none\",attrs:{\"id\":\"newPassword\",\"type\":\"password\",\"name\":\"newPassword\",\"placeholder\":_vm.$t('newPassword'),\"required\":\"\",\"autocomplete\":\"new-password\"},domProps:{\"value\":(_vm.newPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value}}})]),_c('div',{staticClass:\"mb-4\"},[_c('label',{staticClass:\"block mb-2 text-gray-500 dark:text-white\",attrs:{\"for\":\"confirmNewPassword\"}},[_vm._v(_vm._s(_vm.$t('confirmNewPassword')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.confirmNewPassword),expression:\"confirmNewPassword\"}],staticClass:\"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none\",attrs:{\"id\":\"confirmNewPassword\",\"type\":\"password\",\"name\":\"confirmNewPassword\",\"placeholder\":_vm.$t('confirmNewPassword'),\"required\":\"\",\"autocomplete\":\"new-password\"},domProps:{\"value\":(_vm.confirmNewPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.confirmNewPassword=$event.target.value}}})]),_c('button',{class:!_vm.newPassword || !_vm.confirmNewPassword || _vm.newPassword != _vm.confirmNewPassword ? 'bg-gray-200 dark:bg-neutral-800 w-full rounded shadow py-2 text-sm text-white dark:text-white cursor-not-allowed' : 'bg-red-800 dark:bg-red-800 w-full rounded shadow py-2 text-sm text-white dark:text-white hover:bg-red-700 dark:hover:bg-red-700 transition cursor-pointer',attrs:{\"type\":\"submit\",\"disabled\":!_vm.newPassword || !_vm.confirmNewPassword || _vm.newPassword != _vm.confirmNewPassword}},[_vm._v(\" \"+_vm._s(_vm.$t(\"setupBtnCU\"))+\" \")]),_c('small',{staticClass:\"text-yellow-600\"},[_vm._v(_vm._s(_vm.$t(\"setupRequiredPatternPassword\")))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Setup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Setup.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Setup.vue?vue&type=template&id=1b5901d4\"\nimport script from \"./Setup.vue?vue&type=script&lang=js\"\nexport * from \"./Setup.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["root","factory","exports","module","define","amd","self","this","__webpack_require__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","p","window","currentScript","document","src","match","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","$t","on","addAdminUser","attrs","directives","name","rawName","value","expression","domProps","$event","target","composing","username","newPassword","confirmNewPassword","class","staticRenderFns","data","methods","e","preventDefault","api","password","then","_result","alert","catch","err","console","log","errorMessage","toString","mounted","API","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"vue-setup.umd.min.js","mappings":"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","sources":["webpack://VueSetup/webpack/universalModuleDefinition","webpack://VueSetup/webpack/bootstrap","webpack://VueSetup/webpack/runtime/define property getters","webpack://VueSetup/webpack/runtime/hasOwnProperty shorthand","webpack://VueSetup/webpack/runtime/publicPath","webpack://VueSetup/../../.local/share/pnpm/global/5/.pnpm/@vue+cli-service@5.0.8_lodash@4.17.21_vue-template-compiler@2.7.16_webpack-sources@3.2.3/node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://VueSetup/./src/templates/Setup.vue?40ec","webpack://VueSetup/src/templates/Setup.vue","webpack://VueSetup/./src/templates/Setup.vue?d3e1","webpack://VueSetup/../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack://VueSetup/./src/templates/Setup.vue","webpack://VueSetup/../../.local/share/pnpm/global/5/.pnpm/@vue+cli-service@5.0.8_lodash@4.17.21_vue-template-compiler@2.7.16_webpack-sources@3.2.3/node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"VueSetup\"] = factory();\n\telse\n\t\troot[\"VueSetup\"] = factory();\n})((typeof self !== 'undefined' ? self : this), () => {\nreturn ","// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',{staticClass:\"text-4xl font-medium my-16 text-gray-700 dark:text-neutral-200 text-center\"},[_c('span',{staticClass:\"align-middle\"},[_vm._v(_vm._s(_vm.$t(\"setup\")))])]),_c('form',{staticClass:\"shadow rounded-md bg-white dark:bg-neutral-700 mx-auto w-72 p-5 overflow-hidden mt-10\",on:{\"submit\":_vm.addAdminUser}},[_c('div',{staticClass:\"h-20 w-20 mb-10 mt-5 mx-auto rounded-full bg-red-800 dark:bg-red-800 relative overflow-hidden\"},[_c('svg',{staticClass:\"w-10 h-10 m-5 text-white dark:text-white\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 20 20\",\"fill\":\"currentColor\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"d\":\"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z\",\"clip-rule\":\"evenodd\"}})])]),_c('div',{staticClass:\"mb-3\"},[_c('label',{staticClass:\"block mb-2 text-gray-500 dark:text-white\",attrs:{\"for\":\"username\"}},[_vm._v(_vm._s(_vm.$t('setupUsername')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.username),expression:\"username\"}],staticClass:\"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none\",attrs:{\"id\":\"username\",\"name\":\"username\",\"placeholder\":_vm.$t('setupUsername'),\"required\":\"\",\"autocomplete\":\"username\"},domProps:{\"value\":(_vm.username)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.username=$event.target.value}}})]),_c('div',{staticClass:\"mb-3\"},[_c('label',{staticClass:\"block mb-2 text-gray-500 dark:text-white\",attrs:{\"for\":\"newPassword\"}},[_vm._v(_vm._s(_vm.$t('newPassword')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newPassword),expression:\"newPassword\"}],staticClass:\"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none\",attrs:{\"id\":\"newPassword\",\"type\":\"password\",\"name\":\"newPassword\",\"placeholder\":_vm.$t('newPassword'),\"required\":\"\",\"autocomplete\":\"new-password\"},domProps:{\"value\":(_vm.newPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newPassword=$event.target.value}}})]),_c('div',{staticClass:\"mb-3\"},[_c('label',{staticClass:\"block mb-2 text-gray-500 dark:text-white\",attrs:{\"for\":\"confirmNewPassword\"}},[_vm._v(_vm._s(_vm.$t('confirmNewPassword')))]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.confirmNewPassword),expression:\"confirmNewPassword\"}],staticClass:\"px-3 py-2 text-sm dark:bg-neutral-700 text-gray-500 dark:text-gray-500 mb-5 border-2 border-gray-100 dark:border-neutral-800 rounded-lg w-full focus:border-red-800 dark:focus:border-red-800 dark:placeholder:text-neutral-400 outline-none\",attrs:{\"id\":\"confirmNewPassword\",\"type\":\"password\",\"name\":\"confirmNewPassword\",\"placeholder\":_vm.$t('confirmNewPassword'),\"required\":\"\",\"autocomplete\":\"new-password\"},domProps:{\"value\":(_vm.confirmNewPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.confirmNewPassword=$event.target.value}}})]),_c('button',{class:!_vm.newPassword || !_vm.confirmNewPassword || _vm.newPassword != _vm.confirmNewPassword ? 'bg-gray-200 dark:bg-neutral-800 w-full rounded shadow py-2 text-sm text-white dark:text-white cursor-not-allowed' : 'bg-red-800 dark:bg-red-800 w-full rounded shadow py-2 text-sm text-white dark:text-white hover:bg-red-700 dark:hover:bg-red-700 transition cursor-pointer',attrs:{\"type\":\"submit\",\"disabled\":!_vm.newPassword || !_vm.confirmNewPassword || _vm.newPassword != _vm.confirmNewPassword}},[_vm._v(\" \"+_vm._s(_vm.$t(\"setupBtnCU\"))+\" \")]),_c('small',{staticClass:\"text-yellow-600\"},[_vm._v(_vm._s(_vm.$t(\"setupRequiredPatternPassword\")))])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Setup.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/index.js??vue-loader-options!./Setup.vue?vue&type=script&lang=js\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./Setup.vue?vue&type=template&id=41732e28\"\nimport script from \"./Setup.vue?vue&type=script&lang=js\"\nexport * from \"./Setup.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../.local/share/pnpm/global/5/.pnpm/vue-loader@15.11.1_css-loader@6.11.0_webpack@5.93.0__lodash@4.17.21_vue-template-compiler@2.7.16_webpack@5.93.0/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["root","factory","exports","module","define","amd","self","this","__webpack_require__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","p","window","currentScript","document","src","match","render","_vm","_h","$createElement","_c","_self","staticClass","_v","_s","$t","on","addAdminUser","attrs","directives","name","rawName","value","expression","domProps","$event","target","composing","username","newPassword","confirmNewPassword","class","staticRenderFns","data","methods","e","preventDefault","api","password","then","_result","alert","location","reload","catch","err","message","toString","mounted","API","normalizeComponent","scriptExports","functionalTemplate","injectStyles","scopeId","moduleIdentifier","shadowMode","hook","options","_compiled","functional","_scopeId","context","$vnode","ssrContext","parent","__VUE_SSR_CONTEXT__","_registeredComponents","add","_ssrRegister","$root","$options","shadowRoot","_injectStyles","originalRender","h","existing","beforeCreate","concat","component"],"sourceRoot":""} \ No newline at end of file diff --git a/wg-easy.service b/wg-easy.service index bcdf72fd..c5dac5c3 100644 --- a/wg-easy.service +++ b/wg-easy.service @@ -4,7 +4,6 @@ After=network-online.target nss-lookup.target [Service] Environment="WG_HOST=raspberrypi.local" # Change this to your host's public address or static public ip. -Environment="PASSWORD=REPLACEME" # When set, requires a password when logging in to the Web UI, to disable add a hashtag #Environment="WG_DEFAULT_ADDRESS=10.0.8.x" #Clients IP address range. #Environment="WG_DEFAULT_DNS=10.0.8.1, 1.1.1.1" #DNS server clients will use. If set to blank value, clients will not use any DNS. #Environment="WG_ALLOWED_IPS=0.0.0.0/0,::/0" #Allowed IPs clients will use.