Skip to content

Commit 7e1b3e3

Browse files
committed
feat: 新增Web配置功能并优化多个界面
- 新增Web配置页面,支持官方服务器和自建服务器两种启动方式 - 优化路由管理,新增自动配置出口节点路由功能 - 更新依赖版本,提升系统稳定性和性能 - 修复部分系统权限问题,增强用户体验 - 新增延迟颜色显示,优化节点状态展示 - 去除失效api - 去除部分重试逻辑
1 parent 7c8d02a commit 7e1b3e3

File tree

20 files changed

+1016
-239
lines changed

20 files changed

+1016
-239
lines changed

package.json

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "easytier-manager-pro",
3-
"version": "3.0.6",
3+
"version": "3.0.7",
44
"description": "EasyTier 管理器 Pro",
55
"displayName": "EasyTier 管理器 Pro",
66
"author": {
@@ -43,21 +43,21 @@
4343
"build:linux": "pnpm tauri build --target x86_64-unknown-linux-gnu"
4444
},
4545
"dependencies": {
46-
"@tauri-apps/api": "^2.1.1",
47-
"@tauri-apps/plugin-fs": "~2.2.0",
48-
"@tauri-apps/plugin-http": "~2.2.0",
49-
"@tauri-apps/plugin-log": "~2.2.0",
50-
"@tauri-apps/plugin-notification": "~2.2.0",
51-
"@tauri-apps/plugin-os": "~2.2.0",
52-
"@tauri-apps/plugin-shell": "~2.2.0",
53-
"@tauri-apps/plugin-window-state": "~2.2.0",
46+
"@tauri-apps/api": "^2.5.0",
47+
"@tauri-apps/plugin-fs": "^2.2.1",
48+
"@tauri-apps/plugin-http": "^2.4.3",
49+
"@tauri-apps/plugin-log": "^2.4.0",
50+
"@tauri-apps/plugin-notification": "^2.2.2",
51+
"@tauri-apps/plugin-os": "^2.2.1",
52+
"@tauri-apps/plugin-shell": "^2.2.1",
53+
"@tauri-apps/plugin-window-state": "^2.2.2",
5454
"@vueuse/core": "^11.3.0",
5555
"@zxcvbn-ts/core": "^3.0.4",
5656
"animate.css": "^4.1.1",
57-
"axios": "^1.7.9",
57+
"axios": "^1.9.0",
5858
"cropperjs": "^1.6.2",
5959
"dayjs": "^1.11.13",
60-
"driver.js": "^1.3.1",
60+
"driver.js": "^1.3.5",
6161
"echarts": "^5.6.0",
6262
"echarts-wordcloud": "^2.1.0",
6363
"element-plus": "2.9.1",
@@ -66,67 +66,67 @@
6666
"mitt": "^3.0.1",
6767
"monaco-editor": "^0.52.2",
6868
"nprogress": "^0.2.0",
69-
"pinia": "^2.3.0",
69+
"pinia": "^2.3.1",
7070
"pinia-plugin-persistedstate": "^4.2.0",
7171
"qrcode": "^1.5.4",
72-
"qs": "^6.13.1",
73-
"smol-toml": "^1.3.1",
72+
"qs": "^6.14.0",
73+
"smol-toml": "^1.3.4",
7474
"url": "^0.11.4",
7575
"vue": "3.5.13",
7676
"vue-i18n": "10.0.5",
7777
"vue-json-pretty": "^2.4.0",
78-
"vue-router": "^4.5.0",
78+
"vue-router": "^4.5.1",
7979
"vue-types": "^5.1.3",
80-
"xgplayer": "^3.0.20"
80+
"xgplayer": "^3.0.21"
8181
},
8282
"devDependencies": {
83-
"@commitlint/cli": "^19.6.1",
84-
"@commitlint/config-conventional": "^19.6.0",
85-
"@iconify/json": "^2.2.289",
86-
"@iconify/vue": "^4.2.0",
83+
"@commitlint/cli": "^19.8.0",
84+
"@commitlint/config-conventional": "^19.8.0",
85+
"@iconify/json": "^2.2.334",
86+
"@iconify/vue": "^4.3.0",
8787
"@intlify/unplugin-vue-i18n": "^5.3.1",
88-
"@tauri-apps/cli": "2.1.0",
88+
"@tauri-apps/cli": "^2.5.0",
8989
"@types/fs-extra": "^11.0.4",
9090
"@types/inquirer": "^9.0.7",
9191
"@types/lodash-es": "^4.17.12",
92-
"@types/node": "^22.10.2",
92+
"@types/node": "^22.15.3",
9393
"@types/nprogress": "^0.2.3",
9494
"@types/qrcode": "^1.5.5",
95-
"@types/qs": "^6.9.17",
95+
"@types/qs": "^6.9.18",
9696
"@types/sortablejs": "^1.15.8",
9797
"@typescript-eslint/eslint-plugin": "^7.18.0",
9898
"@typescript-eslint/parser": "^7.18.0",
9999
"@unocss/transformer-variant-group": "^0.64.1",
100100
"@vitejs/plugin-legacy": "^5.4.3",
101-
"@vitejs/plugin-vue": "^5.2.1",
102-
"@vitejs/plugin-vue-jsx": "^4.1.1",
103-
"autoprefixer": "^10.4.20",
101+
"@vitejs/plugin-vue": "^5.2.3",
102+
"@vitejs/plugin-vue-jsx": "^4.1.2",
103+
"autoprefixer": "^10.4.21",
104104
"chalk": "^5.4.1",
105-
"consola": "^3.3.3",
106-
"eslint": "^9.17.0",
105+
"consola": "^3.4.2",
106+
"eslint": "^9.25.1",
107107
"eslint-config-prettier": "^9.1.0",
108108
"eslint-define-config": "^2.1.0",
109-
"eslint-plugin-prettier": "^5.2.1",
110-
"eslint-plugin-vue": "^9.32.0",
109+
"eslint-plugin-prettier": "^5.2.6",
110+
"eslint-plugin-vue": "^9.33.0",
111111
"esno": "^4.8.0",
112-
"fs-extra": "^11.2.0",
112+
"fs-extra": "^11.3.0",
113113
"husky": "^9.1.7",
114-
"inquirer": "^12.3.0",
115-
"less": "^4.2.1",
116-
"lint-staged": "^15.3.0",
117-
"postcss": "^8.4.49",
118-
"postcss-html": "^1.7.0",
114+
"inquirer": "^12.6.0",
115+
"less": "^4.3.0",
116+
"lint-staged": "^15.5.1",
117+
"postcss": "^8.5.3",
118+
"postcss-html": "^1.8.0",
119119
"postcss-less": "^6.0.0",
120-
"prettier": "^3.4.2",
120+
"prettier": "^3.5.3",
121121
"rimraf": "^6.0.1",
122-
"rollup": "^4.29.1",
123-
"rollup-plugin-visualizer": "^5.13.1",
124-
"stylelint": "^16.12.0",
122+
"rollup": "^4.40.1",
123+
"rollup-plugin-visualizer": "^5.14.0",
124+
"stylelint": "^16.19.1",
125125
"stylelint-config-html": "^1.1.0",
126126
"stylelint-config-recommended": "^14.0.1",
127127
"stylelint-config-standard": "^36.0.1",
128128
"stylelint-order": "^6.0.4",
129-
"terser": "^5.37.0",
129+
"terser": "^5.39.0",
130130
"typescript": "5.5.4",
131131
"typescript-eslint": "^7.18.0",
132132
"unocss": "^0.64.1",
@@ -138,8 +138,8 @@
138138
"vite-plugin-style-import": "2.0.0",
139139
"vite-plugin-svg-icons": "^2.0.1",
140140
"vite-plugin-url-copy": "^1.1.4",
141-
"vite-plugin-vue-devtools": "^7.6.8",
142-
"vue-tsc": "^2.2.0"
141+
"vite-plugin-vue-devtools": "^7.7.6",
142+
"vue-tsc": "^2.2.10"
143143
},
144144
"engines": {
145145
"node": ">=18.0.0",

src-tauri/Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ license = ""
66
name = "easytier-manager-pro"
77
repository = ""
88
rust-version = "1.83.0"
9-
version = "3.0.6"
9+
version = "3.0.7"
1010

1111
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
1212

@@ -15,13 +15,13 @@ crate-type = ["staticlib", "cdylib", "rlib"]
1515
name = "app_lib"
1616

1717
[build-dependencies]
18-
tauri-build = { version = "2.0.2", features = [] }
18+
tauri-build = { version = "2.2.0", features = [] }
1919

2020
[dependencies]
2121
log = "0.4"
2222
serde = { version = "1.0", features = ["derive"] }
2323
serde_json = "1.0"
24-
tauri = { version = "2.1.0", features = ["tray-icon", "image-ico", "image-png"] }
24+
tauri = { version = "2.5.0", features = ["tray-icon", "image-ico", "image-png"] }
2525
tauri-plugin-fs = "2"
2626
tauri-plugin-http = "2"
2727
tauri-plugin-log = "2"

src-tauri/capabilities/default.json

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,11 @@
151151
"args": true,
152152
"cmd": "ps",
153153
"name": "ps"
154+
},
155+
{
156+
"args": true,
157+
"cmd": "route",
158+
"name": "route"
154159
}
155160
]
156161
},
@@ -192,33 +197,7 @@
192197
{
193198
"identifier": "http:default",
194199
"allow": [
195-
{
196-
"url": "https://github.com/*"
197-
},
198-
{
199-
"url": "https://ghproxy.net/*"
200-
},
201-
{
202-
"url": "https://ghproxy.cn/*"
203-
},
204-
{
205-
"url": "https://gh-proxy.com/*"
206-
},
207-
{
208-
"url": "https://ghproxy.cc/*"
209-
},
210-
{
211-
"url": "https://github.store/*"
212-
},
213-
{
214-
"url": "https://github.site/*"
215-
},
216-
{
217-
"url": "https://github.boki.moe/*"
218-
},
219-
{
220-
"url": "http://*.cheng.us.kg/*"
221-
}
200+
{ "url": "https://**" }
222201
]
223202
}
224203
]

src-tauri/tauri.conf.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
33
"productName": "easytier-manager-pro",
4-
"version": "3.0.6",
4+
"version": "3.0.7",
55
"identifier": "easytier-manager-pro",
66
"build": {
77
"frontendDist": "../dist",

src/views/config/components/defaultData.ts renamed to src/constants/defaultData.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,14 @@ const defaultFormData: FormData | any = {
4646
enable_kcp_proxy: false
4747
}
4848
}
49-
export default { defaultFormData }
49+
const defaultFormWebData: FormWebData = {
50+
host: '',
51+
port: 22020,
52+
protocol: 'udp',
53+
userName: '',
54+
webStartMethod: 1,
55+
configFileName: '',
56+
webUrl: 'https://easytier.cn/web',
57+
status: '停止'
58+
}
59+
export default { defaultFormData, defaultFormWebData }

src/constants/easytier.ts

Lines changed: 22 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ export const USER_AGENT =
1414
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36'
1515
export const PROXY_URL = 'http://web-proxy.cheng.us.kg/'
1616
export const COOKIE_VALUE = '83077fe7-9171-43f9-906a-f7b95096db66'
17-
export const MONITOR_LIST = 'http://easytier.cheng.us.kg/api/getMonitorList'
17+
export const MONITOR_LIST = 'https://easytier.linch.eu.org/api/getMonitorList'
1818
export const CORE_INFO_API = 'https://api.github.com/repos/EasyTier/EasyTier/releases'
1919
export const MANAGER_REPO_URL = 'https://github.com/xlc520/easytier-manager/releases'
2020
export const MANAGER_INFO_API = 'https://api.github.com/repos/xlc520/easytier-manager/releases'
@@ -29,27 +29,38 @@ export const GITHUB_MIRROR_URL = [
2929
label: 'https://gh-proxy.com/'
3030
},
3131
{
32-
value: 'https://ghproxy.cn/',
33-
label: 'https://ghproxy.cn/'
32+
value: 'https://ghproxy.cfd/',
33+
label: 'https://ghproxy.cfd/'
3434
},
3535
{
3636
value: 'https://ghproxy.net/',
3737
label: 'https://ghproxy.net/'
3838
},
3939
{
40-
value: 'https://ghproxy.cc/',
41-
label: 'https://ghproxy.cc/'
40+
value: 'https://github.boki.moe/',
41+
label: 'https://github.boki.moe/'
4242
},
4343
{
44-
value: 'https://github.store/',
45-
label: 'https://github.store/'
44+
value: 'https://ghproxy.1888866.xyz/',
45+
label: 'https://ghproxy.1888866.xyz/'
46+
},
47+
{
48+
value: 'https://hub.gitmirror.com/',
49+
label: 'https://hub.gitmirror.com/'
50+
}
51+
]
52+
53+
export const DEFAULT_VER_OPTIONS = [
54+
{
55+
name: 'v2.2.4',
56+
tag_name: 'v2.2.4'
4657
},
4758
{
48-
value: 'https://github.site/',
49-
label: 'https://github.site/'
59+
name: 'v2.2.2',
60+
tag_name: 'v2.2.2'
5061
},
5162
{
52-
value: 'https://github.boki.moe/',
53-
label: 'https://github.boki.moe/'
63+
name: 'v1.2.3',
64+
tag_name: 'v1.2.3'
5465
}
5566
]

src/layout/components/ToolHeader.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,12 @@ const toDocumentEasyTier = () => open('https://github.com/EasyTier/EasyTier')
4848
<SizeDropdown v-if="size" class="custom-hover" color="var(--top-header-text-color)" />
4949
<LocaleDropdown v-if="locale" class="custom-hover" color="var(--top-header-text-color)" />
5050
<div class="custom-hover" @click="toDocumentEasyTier">
51-
<el-tooltip content="EasyTier Github" placement="bottom" effect="light">
51+
<el-tooltip trigger="click" content="EasyTier Github" placement="bottom" effect="light">
5252
<Icon :size="18" icon="devicon:github" class="cursor-pointer" />
5353
</el-tooltip>
5454
</div>
5555
<div class="mr-10 custom-hover" @click="toDocumentEasytierManager">
56-
<el-tooltip content="EasyTier 管理器 Github" placement="bottom" effect="light">
56+
<el-tooltip trigger="click" content="EasyTier 管理器 Github" placement="bottom" effect="light">
5757
<Icon :size="18" icon="devicon:github" class="cursor-pointer" />
5858
</el-tooltip>
5959
</div>

src/locales/en.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -601,6 +601,7 @@ export default {
601601
dhcp: 'dhcp',
602602
peers: 'peers to connect initially',
603603
exit_nodes: 'exit nodes',
604+
config_exit_nodes_route: 'config exit nodes route',
604605
rpc_portal: 'rpc portal address',
605606
proxy_network: 'export local networks to other peers in the vpn',
606607
default_protocol: 'default protocol to use when connecting to peers',
@@ -693,6 +694,16 @@ export default {
693694
mapped_listeners: 'Mapped listeners',
694695
disable_kcp_input: 'Disable KCP input',
695696
enable_kcp_proxy: 'Enable KCP proxy',
696-
bind_device: 'Bind device'
697+
bind_device: 'Bind device',
698+
configFileName: 'Config name',
699+
addWebServerConfig: 'Add web server config',
700+
webStartMethod: 'Web start method',
701+
webUrl: 'Web Url',
702+
userName: 'User Name',
703+
protocol: 'Protocol',
704+
host: 'Host',
705+
port: 'Port',
706+
stopSuccess: 'Stop success',
707+
stopError: 'Stop error',
697708
}
698709
}

src/locales/zh-CN.ts

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -585,11 +585,13 @@ export default {
585585
nat_type: 'Nat类型',
586586
version: '内核版本',
587587
config: '配置',
588+
configWeb: 'Web配置',
588589
network_name: '网络名称',
589590
network_secret: '网络密码',
590591
dhcp: '自动获取虚拟IP',
591592
peers: '服务器(对等节点)',
592-
exit_nodes: '退出节点',
593+
exit_nodes: '出口节点',
594+
config_exit_nodes_route: '自动配置路由',
593595
rpc_portal: 'RPC 地址',
594596
proxy_network: '子网代理',
595597
default_protocol: '默认协议',
@@ -691,6 +693,18 @@ export default {
691693
mapped_listeners: '映射监听器',
692694
disable_kcp_input: '禁用KCP输入',
693695
enable_kcp_proxy: '启用KCP代理',
694-
bind_device: '仅使用物理网卡'
696+
bind_device: '仅使用物理网卡',
697+
configFileName: '配置名称',
698+
addWebServerConfig: '创建Web启动配置',
699+
webStartMethod: 'Web启动方式',
700+
webUrl: '控制台地址',
701+
userName: '用户名',
702+
protocol: '协议',
703+
host: '主机',
704+
port: '端口',
705+
stopSuccess: '停止成功',
706+
stopError: '停止失败或未运行',
707+
run: '运行',
708+
stop: '停止',
695709
}
696710
}

0 commit comments

Comments
 (0)