Compare commits

..

4 Commits

Author SHA1 Message Date
97e6e80d5a 🐛修复不可更改服务端密钥 2024-06-07 11:59:44 +08:00
0d28bd3445 🎨调整客户端检测离线时间为三分钟 2024-06-07 10:46:22 +08:00
c1d81b9af5 🎨 2024-06-07 10:10:24 +08:00
36951a5bb8 🐛fix a bug 2024-06-07 09:54:30 +08:00
6 changed files with 25 additions and 13 deletions

View File

@@ -373,7 +373,7 @@ func (clients) Status(c *gin.Context) {
ipAllocation += iaip.String() + ","
}
ipAllocation = strings.TrimRight(ipAllocation, ",")
isOnline := time.Since(p.LastHandshakeTime).Minutes() < 1
isOnline := time.Since(p.LastHandshakeTime).Minutes() < 3
data = append(data, vo.ClientStatus{
ID: clientInfo.Id,
Name: clientInfo.Name,

View File

@@ -79,7 +79,7 @@ func asyncWireguardConfigFile() {
var renderClients []template_data.Client
for _, v := range serverEnt.Clients {
// 如果不是确认后创建或者未启用就不写入到wireguard配置文件当中
if *v.EnableAfterCreation != 1 || *v.Enabled != 1 {
if *v.Enabled != 1 {
continue
}
var clientKey template_data.Keys

View File

@@ -59,6 +59,8 @@ func (r server) Update(p param.SaveServer) (err error) {
"post_up_script": p.PostUpScript,
"pre_down_script": p.PreDownScript,
"post_down_script": p.PostDownScript,
"private_key": p.PrivateKey,
"public_key": p.PublicKey,
}
return r.Model(&entity.Server{}).Where("id = ?", p.Id).Updates(&update).Error
}

View File

@@ -132,6 +132,7 @@ const getRule = () => {
rule.value = res.data.rule === "hand";
}
});
storageLocal().setItem("restart-rule", rule.value);
return rule;
};

View File

@@ -2,9 +2,9 @@
import { useServerStoreHook } from "@/store/modules/server";
import { getSystemLog } from "@/api/dashboard";
import { reactive } from "vue";
import {getClientConnects, offlineClient} from "@/api/clients";
import {Refresh} from "@element-plus/icons-vue";
import {message} from "@/utils/message";
import { getClientConnects, offlineClient } from "@/api/clients";
import { Refresh } from "@element-plus/icons-vue";
import { message } from "@/utils/message";
defineOptions({
name: "Dashboard"
@@ -87,7 +87,13 @@ getClientsStatus();
<template #header>
<div class="card-header">
<span>操作日志</span>
<el-button style="float: right" type="primary" :icon="Refresh" @click="refreshClick('systemLog')">刷新</el-button>
<el-button
style="float: right"
type="primary"
:icon="Refresh"
@click="refreshClick('systemLog')"
>刷新</el-button
>
</div>
</template>
<el-table
@@ -194,7 +200,13 @@ getClientsStatus();
<template #header>
<div class="card-header">
<span>客户端链接状态</span>
<el-button style="float: right" type="primary" :icon="Refresh" @click="refreshClick('clientStatus')">刷新</el-button>
<el-button
style="float: right"
type="primary"
:icon="Refresh"
@click="refreshClick('clientStatus')"
>刷新</el-button
>
</div>
</template>
<el-table
@@ -256,11 +268,7 @@ getClientsStatus();
min-width="80"
align="center"
/>
<el-table-column
label="操作"
min-width="80"
align="center"
>
<el-table-column label="操作" min-width="80" align="center">
<template #default="scope">
<el-button
v-if="scope.row.isOnline"

View File

@@ -151,6 +151,7 @@ const openAddClientDialog = () => {
}
});
const serverInfo = storageLocal().getItem("server-info");
const restartRule = storageLocal().getItem("restart-rule") ? 1 : 0;
addDialog({
width: "40%",
title: "新增",
@@ -167,7 +168,7 @@ const openAddClientDialog = () => {
extraAllowedIPS: "",
endpoint: "",
useServerDNS: 0,
enableAfterCreation: 0,
enableAfterCreation: restartRule,
keys: {
privateKey: "",
publicKey: "",