version 2.1.0 (#482)

This commit is contained in:
Sijie.Sun
2024-11-19 23:46:02 +08:00
committed by GitHub
parent 3f47f37470
commit 86600c6315
13 changed files with 45 additions and 29 deletions

View File

@@ -21,7 +21,7 @@ on:
version: version:
description: 'Version for this release' description: 'Version for this release'
type: string type: string
default: 'v2.0.3' default: 'v2.1.0'
required: true required: true
make_latest: make_latest:
description: 'Mark this release as latest' description: 'Mark this release as latest'

2
.gitignore vendored
View File

@@ -33,3 +33,5 @@ easytier-panic.log
# web # web
node_modules node_modules
.vite

4
Cargo.lock generated
View File

@@ -1830,7 +1830,7 @@ checksum = "0d6ef0072f8a535281e4876be788938b528e9a1d43900b82c2569af7da799125"
[[package]] [[package]]
name = "easytier" name = "easytier"
version = "2.0.3" version = "2.1.0"
dependencies = [ dependencies = [
"aes-gcm", "aes-gcm",
"anyhow", "anyhow",
@@ -1926,7 +1926,7 @@ dependencies = [
[[package]] [[package]]
name = "easytier-gui" name = "easytier-gui"
version = "2.0.3" version = "2.1.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"chrono", "chrono",

View File

@@ -1,7 +1,7 @@
{ {
"name": "easytier-gui", "name": "easytier-gui",
"type": "module", "type": "module",
"version": "2.0.3", "version": "2.1.0",
"private": true, "private": true,
"packageManager": "pnpm@9.12.1+sha512.e5a7e52a4183a02d5931057f7a0dbff9d5e9ce3161e33fa68ae392125b79282a8a8a470a51dfc8a0ed86221442eb2fb57019b0990ed24fab519bf0e1bc5ccfc4", "packageManager": "pnpm@9.12.1+sha512.e5a7e52a4183a02d5931057f7a0dbff9d5e9ce3161e33fa68ae392125b79282a8a8a470a51dfc8a0ed86221442eb2fb57019b0990ed24fab519bf0e1bc5ccfc4",
"scripts": { "scripts": {

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "easytier-gui" name = "easytier-gui"
version = "2.0.3" version = "2.1.0"
description = "EasyTier GUI" description = "EasyTier GUI"
authors = ["you"] authors = ["you"]
edition = "2021" edition = "2021"

View File

@@ -17,7 +17,7 @@
"createUpdaterArtifacts": false "createUpdaterArtifacts": false
}, },
"productName": "easytier-gui", "productName": "easytier-gui",
"version": "2.0.3", "version": "2.1.0",
"identifier": "com.kkrainbow.easytier", "identifier": "com.kkrainbow.easytier",
"plugins": {}, "plugins": {},
"app": { "app": {

View File

@@ -27,6 +27,7 @@
"primeicons": "^7.0.0", "primeicons": "^7.0.0",
"primevue": "^4.2.1", "primevue": "^4.2.1",
"tailwindcss-primeui": "^0.3.4", "tailwindcss-primeui": "^0.3.4",
"ts-md5": "^1.3.1",
"uuid": "^11.0.2", "uuid": "^11.0.2",
"vue": "^3.5.12", "vue": "^3.5.12",
"vue-i18n": "^10.0.4" "vue-i18n": "^10.0.4"

View File

@@ -1,4 +1,5 @@
import axios, { AxiosError, AxiosInstance, AxiosResponse, InternalAxiosRequestConfig } from 'axios'; import axios, { AxiosError, AxiosInstance, AxiosResponse, InternalAxiosRequestConfig } from 'axios';
import { Md5 } from 'ts-md5'
export interface ValidateConfigResponse { export interface ValidateConfigResponse {
toml_config: string; toml_config: string;
@@ -79,6 +80,7 @@ export class ApiClient {
// 注册 // 注册
public async register(data: RegisterData): Promise<RegisterResponse> { public async register(data: RegisterData): Promise<RegisterResponse> {
try { try {
data.credentials.password = Md5.hashStr(data.credentials.password);
const response = await this.client.post<RegisterResponse>('/auth/register', data); const response = await this.client.post<RegisterResponse>('/auth/register', data);
console.log("register response:", response); console.log("register response:", response);
return { success: true, message: 'Register success', }; return { success: true, message: 'Register success', };
@@ -93,6 +95,7 @@ export class ApiClient {
// 登录 // 登录
public async login(data: Credential): Promise<LoginResponse> { public async login(data: Credential): Promise<LoginResponse> {
try { try {
data.password = Md5.hashStr(data.password);
const response = await this.client.post<any>('/auth/login', data); const response = await this.client.post<any>('/auth/login', data);
console.log("login response:", response); console.log("login response:", response);
return { success: true, message: 'Login success', }; return { success: true, message: 'Login success', };
@@ -116,7 +119,7 @@ export class ApiClient {
} }
public async change_password(new_password: string) { 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() { public async check_login_status() {

View File

@@ -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<string>(defaultApiHost) const apiHost = ref<string>(defaultApiHost)
const apiHostSuggestions = ref<Array<string>>([]) const apiHostSuggestions = ref<Array<string>>([])
const apiHostSearch = async (event: { query: string }) => { const apiHostSearch = async (event: { query: string }) => {

View File

@@ -4,5 +4,6 @@ import { viteSingleFile } from "vite-plugin-singlefile"
// https://vite.dev/config/ // https://vite.dev/config/
export default defineConfig({ export default defineConfig({
base: '',
plugins: [vue(), viteSingleFile()], plugins: [vue(), viteSingleFile()],
}) })

View File

@@ -230,7 +230,7 @@ impl MigrationTrait for Migration {
.columns(vec![Users::Username, Users::Password]) .columns(vec![Users::Username, Users::Password])
.values_panic(vec![ .values_panic(vec![
"user".into(), "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(); .to_owned();
manager.exec_stmt(user).await?; manager.exec_stmt(user).await?;
@@ -240,7 +240,7 @@ impl MigrationTrait for Migration {
.columns(vec![Users::Username, Users::Password]) .columns(vec![Users::Username, Users::Password])
.values_panic(vec![ .values_panic(vec![
"admin".into(), "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(); .to_owned();
manager.exec_stmt(admin).await?; manager.exec_stmt(admin).await?;

View File

@@ -3,7 +3,7 @@ name = "easytier"
description = "A full meshed p2p VPN, connecting all your devices in one network with one command." description = "A full meshed p2p VPN, connecting all your devices in one network with one command."
homepage = "https://github.com/EasyTier/EasyTier" homepage = "https://github.com/EasyTier/EasyTier"
repository = "https://github.com/EasyTier/EasyTier" repository = "https://github.com/EasyTier/EasyTier"
version = "2.0.3" version = "2.1.0"
edition = "2021" edition = "2021"
authors = ["kkrainbow"] authors = ["kkrainbow"]
keywords = ["vpn", "p2p", "network", "easytier"] keywords = ["vpn", "p2p", "network", "easytier"]

45
pnpm-lock.yaml generated
View File

@@ -220,6 +220,9 @@ importers:
tailwindcss-primeui: tailwindcss-primeui:
specifier: ^0.3.4 specifier: ^0.3.4
version: 0.3.4(tailwindcss@3.4.14) version: 0.3.4(tailwindcss@3.4.14)
ts-md5:
specifier: ^1.3.1
version: 1.3.1
uuid: uuid:
specifier: ^11.0.2 specifier: ^11.0.2
version: 11.0.2 version: 11.0.2
@@ -898,22 +901,22 @@ packages:
resolution: {integrity: sha512-GG428DkrrWCMhxRMRQZjuS7zmSUzarYcaHJqG9VB8dXAxw4iQDoKVQ7ChJRB6ZtsCsX3Jse1PEUlHrJiyQrOTg==} resolution: {integrity: sha512-GG428DkrrWCMhxRMRQZjuS7zmSUzarYcaHJqG9VB8dXAxw4iQDoKVQ7ChJRB6ZtsCsX3Jse1PEUlHrJiyQrOTg==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
'@intlify/message-compiler@10.0.0':
resolution: {integrity: sha512-OcaWc63NC/9p1cMdgoNKBj4d61BH8sUW1Hfs6YijTd9656ZR4rNqXAlRnBrfS5ABq0vjQjpa8VnyvH9hK49yBw==}
engines: {node: '>= 16'}
'@intlify/message-compiler@10.0.4': '@intlify/message-compiler@10.0.4':
resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==} resolution: {integrity: sha512-AFbhEo10DP095/45EauinQJ5hJ3rJUmuuqltGguvc3WsvezZN+g8qNHLGWKu60FHQVizMrQY7VJ+zVlBXlQQkQ==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
'@intlify/shared@10.0.0': '@intlify/message-compiler@11.0.0-beta.1':
resolution: {integrity: sha512-6ngLfI7DOTew2dcF9WMJx+NnMWghMBhIiHbGg+wRvngpzD5KZJZiJVuzMsUQE1a5YebEmtpTEfUrDp/NqVGdiw==} resolution: {integrity: sha512-yMXfN4hg/EeSdtWfmoMrwB9X4TXwkBoZlTIpNydQaW9y0tSJHGnUPRoahtkbsyACCm9leSJINLY4jQ0rK6BK0Q==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
'@intlify/shared@10.0.4': '@intlify/shared@10.0.4':
resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==} resolution: {integrity: sha512-ukFn0I01HsSgr3VYhYcvkTCLS7rGa0gw4A4AMpcy/A9xx/zRJy7PS2BElMXLwUazVFMAr5zuiTk3MQeoeGXaJg==}
engines: {node: '>= 16'} 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': '@intlify/unplugin-vue-i18n@5.2.0':
resolution: {integrity: sha512-pmRiPY2Nj9mmSrixT69aO45XxGUr5fDBy/IIw4ajLlDTJm5TSmQKA5YNdsH0uxVDCPWy5tlQrF18hkDwI7UJvg==} resolution: {integrity: sha512-pmRiPY2Nj9mmSrixT69aO45XxGUr5fDBy/IIw4ajLlDTJm5TSmQKA5YNdsH0uxVDCPWy5tlQrF18hkDwI7UJvg==}
engines: {node: '>= 18'} engines: {node: '>= 18'}
@@ -3529,6 +3532,10 @@ packages:
ts-interface-checker@0.1.13: ts-interface-checker@0.1.13:
resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 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: tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 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)))': '@intlify/bundle-utils@9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))':
dependencies: dependencies:
'@intlify/message-compiler': 10.0.0 '@intlify/message-compiler': 11.0.0-beta.1
'@intlify/shared': 10.0.0 '@intlify/shared': 11.0.0-beta.1
acorn: 8.14.0 acorn: 8.14.0
escodegen: 2.1.0 escodegen: 2.1.0
estree-walker: 2.0.2 estree-walker: 2.0.2
@@ -4430,26 +4437,26 @@ snapshots:
'@intlify/message-compiler': 10.0.4 '@intlify/message-compiler': 10.0.4
'@intlify/shared': 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': '@intlify/message-compiler@10.0.4':
dependencies: dependencies:
'@intlify/shared': 10.0.4 '@intlify/shared': 10.0.4
source-map-js: 1.2.1 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@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))': '@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: dependencies:
'@eslint-community/eslint-utils': 4.4.1(eslint@9.14.0(jiti@2.4.0)) '@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/bundle-utils': 9.0.0(vue-i18n@10.0.4(vue@3.5.12(typescript@5.6.3)))
'@intlify/shared': 10.0.0 '@intlify/shared': 11.0.0-beta.1
'@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))
'@rollup/pluginutils': 5.1.3(rollup@4.24.3) '@rollup/pluginutils': 5.1.3(rollup@4.24.3)
'@typescript-eslint/scope-manager': 7.18.0 '@typescript-eslint/scope-manager': 7.18.0
'@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3) '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.6.3)
@@ -4472,11 +4479,11 @@ snapshots:
- typescript - typescript
- webpack-sources - 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: dependencies:
'@babel/parser': 7.26.2 '@babel/parser': 7.26.2
optionalDependencies: optionalDependencies:
'@intlify/shared': 10.0.0 '@intlify/shared': 11.0.0-beta.1
'@vue/compiler-dom': 3.5.12 '@vue/compiler-dom': 3.5.12
vue: 3.5.12(typescript@5.6.3) vue: 3.5.12(typescript@5.6.3)
vue-i18n: 10.0.4(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-interface-checker@0.1.13: {}
ts-md5@1.3.1: {}
tslib@2.8.1: {} tslib@2.8.1: {}
tsx@4.19.2: tsx@4.19.2: