From 86600c63157781c2e5f1977b330c34ea9d94f579 Mon Sep 17 00:00:00 2001 From: "Sijie.Sun" Date: Tue, 19 Nov 2024 23:46:02 +0800 Subject: [PATCH] version 2.1.0 (#482) --- .github/workflows/release.yml | 2 +- .gitignore | 2 + Cargo.lock | 4 +- easytier-gui/package.json | 2 +- easytier-gui/src-tauri/Cargo.toml | 2 +- easytier-gui/src-tauri/tauri.conf.json | 2 +- easytier-web/frontend-lib/package.json | 1 + easytier-web/frontend-lib/src/modules/api.ts | 5 ++- .../frontend/src/components/Login.vue | 2 +- easytier-web/frontend/vite.config.ts | 1 + .../src/migrator/m20241029_000001_init.rs | 4 +- easytier/Cargo.toml | 2 +- pnpm-lock.yaml | 45 +++++++++++-------- 13 files changed, 45 insertions(+), 29 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 49d5753..fb95b70 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ on: version: description: 'Version for this release' type: string - default: 'v2.0.3' + default: 'v2.1.0' required: true make_latest: description: 'Mark this release as latest' diff --git a/.gitignore b/.gitignore index a1e9bb6..843333f 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,5 @@ easytier-panic.log # web node_modules + +.vite diff --git a/Cargo.lock b/Cargo.lock index 7a32db8..5fdb229 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1830,7 +1830,7 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125" [[package]] name = "easytier" -version = "2.0.3" +version = "2.1.0" dependencies = [ "aes-gcm", "anyhow", @@ -1926,7 +1926,7 @@ dependencies = [ [[package]] name = "easytier-gui" -version = "2.0.3" +version = "2.1.0" dependencies = [ "anyhow", "chrono", diff --git a/easytier-gui/package.json b/easytier-gui/package.json index 212fd6d..3f61cc4 100644 --- a/easytier-gui/package.json +++ b/easytier-gui/package.json @@ -1,7 +1,7 @@ { "name": "easytier-gui", "type": "module", - "version": "2.0.3", + "version": "2.1.0", "private": true, "packageManager": "pnpm@9.12.1+sha512.e5a7e52a4183a02d5931057f7a0dbff9d5e9ce3161e33fa68ae392125b79282a8a8a470a51dfc8a0ed86221442eb2fb57019b0990ed24fab519bf0e1bc5ccfc4", "scripts": { diff --git a/easytier-gui/src-tauri/Cargo.toml b/easytier-gui/src-tauri/Cargo.toml index 11e84d6..bf94a35 100644 --- a/easytier-gui/src-tauri/Cargo.toml +++ b/easytier-gui/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "easytier-gui" -version = "2.0.3" +version = "2.1.0" description = "EasyTier GUI" authors = ["you"] edition = "2021" diff --git a/easytier-gui/src-tauri/tauri.conf.json b/easytier-gui/src-tauri/tauri.conf.json index d0e6409..0c88438 100644 --- a/easytier-gui/src-tauri/tauri.conf.json +++ b/easytier-gui/src-tauri/tauri.conf.json @@ -17,7 +17,7 @@ "createUpdaterArtifacts": false }, "productName": "easytier-gui", - "version": "2.0.3", + "version": "2.1.0", "identifier": "com.kkrainbow.easytier", "plugins": {}, "app": { diff --git a/easytier-web/frontend-lib/package.json b/easytier-web/frontend-lib/package.json index 33d344d..6eae429 100644 --- a/easytier-web/frontend-lib/package.json +++ b/easytier-web/frontend-lib/package.json @@ -27,6 +27,7 @@ "primeicons": "^7.0.0", "primevue": "^4.2.1", "tailwindcss-primeui": "^0.3.4", + "ts-md5": "^1.3.1", "uuid": "^11.0.2", "vue": "^3.5.12", "vue-i18n": "^10.0.4" diff --git a/easytier-web/frontend-lib/src/modules/api.ts b/easytier-web/frontend-lib/src/modules/api.ts index a507fb0..f3ab554 100644 --- a/easytier-web/frontend-lib/src/modules/api.ts +++ b/easytier-web/frontend-lib/src/modules/api.ts @@ -1,4 +1,5 @@ import axios, { AxiosError, AxiosInstance, AxiosResponse, InternalAxiosRequestConfig } from 'axios'; +import { Md5 } from 'ts-md5' export interface ValidateConfigResponse { toml_config: string; @@ -79,6 +80,7 @@ export class ApiClient { // 注册 public async register(data: RegisterData): Promise { try { + data.credentials.password = Md5.hashStr(data.credentials.password); const response = await this.client.post('/auth/register', data); console.log("register response:", response); return { success: true, message: 'Register success', }; @@ -93,6 +95,7 @@ export class ApiClient { // 登录 public async login(data: Credential): Promise { try { + data.password = Md5.hashStr(data.password); const response = await this.client.post('/auth/login', data); console.log("login response:", response); return { success: true, message: 'Login success', }; @@ -116,7 +119,7 @@ export class ApiClient { } public async change_password(new_password: string) { - await this.client.put('/auth/password', { new_password: new_password }); + await this.client.put('/auth/password', { new_password: Md5.hashStr(new_password) }); } public async check_login_status() { diff --git a/easytier-web/frontend/src/components/Login.vue b/easytier-web/frontend/src/components/Login.vue index 4093092..fb17a44 100644 --- a/easytier-web/frontend/src/components/Login.vue +++ b/easytier-web/frontend/src/components/Login.vue @@ -47,7 +47,7 @@ const onRegister = async () => { } }; -const defaultApiHost = 'http://10.147.223.128:11211' +const defaultApiHost = 'http://47.115.208.211:11211' const apiHost = ref(defaultApiHost) const apiHostSuggestions = ref>([]) const apiHostSearch = async (event: { query: string }) => { diff --git a/easytier-web/frontend/vite.config.ts b/easytier-web/frontend/vite.config.ts index 3befa28..bc70ab4 100644 --- a/easytier-web/frontend/vite.config.ts +++ b/easytier-web/frontend/vite.config.ts @@ -4,5 +4,6 @@ import { viteSingleFile } from "vite-plugin-singlefile" // https://vite.dev/config/ export default defineConfig({ + base: '', plugins: [vue(), viteSingleFile()], }) diff --git a/easytier-web/src/migrator/m20241029_000001_init.rs b/easytier-web/src/migrator/m20241029_000001_init.rs index 37d6e56..d692291 100644 --- a/easytier-web/src/migrator/m20241029_000001_init.rs +++ b/easytier-web/src/migrator/m20241029_000001_init.rs @@ -230,7 +230,7 @@ impl MigrationTrait for Migration { .columns(vec![Users::Username, Users::Password]) .values_panic(vec![ "user".into(), - "$argon2i$v=19$m=16,t=2,p=1$dHJ5dXZkYmZkYXM$UkrNqWz0BbSVBq4ykLSuJw".into(), + "$argon2i$v=19$m=16,t=2,p=1$aGVyRDBrcnRycnlaMDhkbw$449SEcv/qXf+0fnI9+fYVQ".into(), // user (md5summed) ]) .to_owned(); manager.exec_stmt(user).await?; @@ -240,7 +240,7 @@ impl MigrationTrait for Migration { .columns(vec![Users::Username, Users::Password]) .values_panic(vec![ "admin".into(), - "$argon2i$v=19$m=16,t=2,p=1$Ymd1Y2FlcnQ$x0q4oZinW9S1ZB9BcaHEpQ".into(), + "$argon2i$v=19$m=16,t=2,p=1$bW5idXl0cmY$61n+JxL4r3dwLPAEDlDdtg".into(), // admin (md5summed) ]) .to_owned(); manager.exec_stmt(admin).await?; diff --git a/easytier/Cargo.toml b/easytier/Cargo.toml index 4c16c94..6f1c70a 100644 --- a/easytier/Cargo.toml +++ b/easytier/Cargo.toml @@ -3,7 +3,7 @@ name = "easytier" description = "A full meshed p2p VPN, connecting all your devices in one network with one command." homepage = "https://github.com/EasyTier/EasyTier" repository = "https://github.com/EasyTier/EasyTier" -version = "2.0.3" +version = "2.1.0" edition = "2021" authors = ["kkrainbow"] keywords = ["vpn", "p2p", "network", "easytier"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 88e648b..295bc99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -220,6 +220,9 @@ importers: tailwindcss-primeui: specifier: ^0.3.4 version: 0.3.4(tailwindcss@3.4.14) + ts-md5: + specifier: ^1.3.1 + version: 1.3.1 uuid: specifier: ^11.0.2 version: 11.0.2 @@ -898,22 +901,22 @@ packages: resolution: {integrity: sha512-GG428DkrrWCMhxRMRQZjuS7zmSUzarYcaHJqG9VB8dXAxw4iQDoKVQ7ChJRB6ZtsCsX3Jse1PEUlHrJiyQrOTg==} engines: {node: '>= 16'} - '@intlify/message-compiler@10.0.0': - resolution: {integrity: sha512-OcaWc63NC/9p1cMdgoNKBj4d61BH8sUW1Hfs6YijTd9656ZR4rNqXAlRnBrfS5ABq0vjQjpa8VnyvH9hK49yBw==} - engines: {node: '>= 16'} - '@intlify/message-compiler@10.0.4': resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==} engines: {node: '>= 16'} - '@intlify/shared@10.0.0': - resolution: {integrity: sha512-6ngLfI7DOTew2dcF9WMJx+NnMWghMBhIiHbGg+wRvngpzD5KZJZiJVuzMsUQE1a5YebEmtpTEfUrDp/NqVGdiw==} + '@intlify/message-compiler@11.0.0-beta.1': + resolution: {integrity: sha512-yMXfN4hg/EeSdtWfmoMrwB9X4TXwkBoZlTIpNydQaW9y0tSJHGnUPRoahtkbsyACCm9leSJINLY4jQ0rK6BK0Q==} engines: {node: '>= 16'} '@intlify/shared@10.0.4': resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==} engines: {node: '>= 16'} + '@intlify/shared@11.0.0-beta.1': + resolution: {integrity: sha512-Md/4T/QOx7wZ7zqVzSsMx2M/9Mx/1nsgsjXS5SFIowFKydqUhMz7K+y7pMFh781aNYz+rGXYwad8E9/+InK9SA==} + engines: {node: '>= 16'} + '@intlify/unplugin-vue-i18n@5.2.0': resolution: {integrity: sha512-pmRiPY2Nj9mmSrixT69aO45XxGUr5fDBy/IIw4ajLlDTJm5TSmQKA5YNdsH0uxVDCPWy5tlQrF18hkDwI7UJvg==} engines: {node: '>= 18'} @@ -3529,6 +3532,10 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + ts-md5@1.3.1: + resolution: {integrity: sha512-DiwiXfwvcTeZ5wCE0z+2A9EseZsztaiZtGrtSaY5JOD7ekPnR/GoIVD5gXZAlK9Na9Kvpo9Waz5rW64WKAWApg==} + engines: {node: '>=12'} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -4413,8 +4420,8 @@ snapshots: '@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))': dependencies: - '@intlify/message-compiler': 10.0.0 - '@intlify/shared': 10.0.0 + '@intlify/message-compiler': 11.0.0-beta.1 + '@intlify/shared': 11.0.0-beta.1 acorn: 8.14.0 escodegen: 2.1.0 estree-walker: 2.0.2 @@ -4430,26 +4437,26 @@ snapshots: '@intlify/message-compiler': 10.0.4 '@intlify/shared': 10.0.4 - '@intlify/message-compiler@10.0.0': - dependencies: - '@intlify/shared': 10.0.0 - source-map-js: 1.2.1 - '@intlify/message-compiler@10.0.4': dependencies: '@intlify/shared': 10.0.4 source-map-js: 1.2.1 - '@intlify/shared@10.0.0': {} + '@intlify/message-compiler@11.0.0-beta.1': + dependencies: + '@intlify/shared': 11.0.0-beta.1 + source-map-js: 1.2.1 '@intlify/shared@10.0.4': {} + '@intlify/shared@11.0.0-beta.1': {} + '@intlify/unplugin-vue-i18n@5.2.0(@vue/compiler-dom@3.5.12)(eslint@9.14.0(jiti@2.4.0))(rollup@4.24.3)(typescript@5.6.3)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) '@intlify/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3))) - '@intlify/shared': 10.0.0 - '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) + '@intlify/shared': 11.0.0-beta.1 + '@intlify/vue-i18n-extensions': 7.0.0(@intlify/shared@11.0.0-beta.1)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3)) '@rollup/pluginutils': 5.1.3(rollup@4.24.3) '@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) @@ -4472,11 +4479,11 @@ snapshots: - typescript - webpack-sources - '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@10.0.0)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))': + '@intlify/vue-i18n-extensions@7.0.0(@intlify/shared@11.0.0-beta.1)(@vue/compiler-dom@3.5.12)(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))(vue@3.5.12(typescript@5.6.3))': dependencies: '@babel/parser': 7.26.2 optionalDependencies: - '@intlify/shared': 10.0.0 + '@intlify/shared': 11.0.0-beta.1 '@vue/compiler-dom': 3.5.12 vue: 3.5.12(typescript@5.6.3) vue-i18n: 10.0.4(vue@3.5.12(typescript@5.6.3)) @@ -7469,6 +7476,8 @@ snapshots: ts-interface-checker@0.1.13: {} + ts-md5@1.3.1: {} + tslib@2.8.1: {} tsx@4.19.2: