修复单v6时监听问题

This commit is contained in:
qaq
2025-06-30 21:45:30 +08:00
parent a45c3e3464
commit 42a47ddd3d
4 changed files with 11 additions and 55 deletions
@@ -1,30 +1,10 @@
package com.admin; package com.admin;
import com.admin.common.dto.ConfigItem;
import com.admin.common.dto.GostConfigDto;
import com.admin.common.dto.GostDto;
import com.admin.common.utils.GostUtil;
import com.admin.entity.Forward;
import com.admin.entity.Node;
import com.admin.entity.SpeedLimit;
import com.admin.service.ForwardService;
import com.admin.service.NodeService;
import com.admin.service.SpeedLimitService;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
import org.xmlunit.util.Nodes;
import javax.annotation.Resource;
import java.util.List;
import java.util.Objects;
@SpringBootTest @SpringBootTest
class AdminApplicationTests { class AdminApplicationTests {
} }
+8 -1
View File
@@ -129,7 +129,14 @@ curl -L https://your-panel-server:6365/agent/install | bash -s -- --server=your-
- **入口节点**: 选择流量入口节点 - **入口节点**: 选择流量入口节点
- **起始端口**: 端口范围起始值(默认1) - **起始端口**: 端口范围起始值(默认1)
- **结束端口**: 端口范围结束值(默认65535) - **结束端口**: 端口范围结束值(默认65535)
- **监听地址**: 部分专线需要,如果不理解保持默认即可 - **监听地址**: - **监听地址**: <span style="color: #c47f00;">
部分专线需要监听指定内网IP才能成功转发端口,所以才诞生了这两个配置,
如果不理解就按照说明填写,服务器只有v4就填写
<code style="background-color: #fff8e1; color: #c47f00; font-weight: bold; padding: 2px 4px; border-radius: 4px; font-family: monospace;">0.0.0.0</code>,
支持v6或者只有v6就填写
<code style="background-color: #fff8e1; color: #c47f00; font-weight: bold; padding: 2px 4px; border-radius: 4px; font-family: monospace;">[::]</code>
</span>
**出口配置**(仅隧道转发类型需要): **出口配置**(仅隧道转发类型需要):
- **协议类型**: 保持默认即可,如有特殊需求可选择: - **协议类型**: 保持默认即可,如有特殊需求可选择:
+1 -1
View File
@@ -9,7 +9,7 @@
@click="toggleMobileMenu" @click="toggleMobileMenu"
type="text"> type="text">
</el-button> </el-button>
<span style="line-height: 50px">管理后台</span> <span style="line-height: 50px">管理后台<span style="margin-left: 10px; font-size: 12px">1.0.0</span></span>
</div> </div>
<div class="header-avatar"> <div class="header-avatar">
<el-avatar style="margin-right: 10px" size="medium" src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"></el-avatar> <el-avatar style="margin-right: 10px" size="medium" src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png"></el-avatar>
+2 -33
View File
@@ -247,7 +247,8 @@
<template slot="prepend">UDP</template> <template slot="prepend">UDP</template>
</el-input> </el-input>
<div class="form-hint"> <div class="form-hint">
部分专线需要指定才能转发udp 详细介绍查看文档中的监听地址说明
<el-link type="primary" href="https://tes.cc/guide.html#%E7%AC%AC%E4%BA%94%E6%AD%A5-%E5%88%9B%E5%BB%BA%E9%9A%A7%E9%81%93" target="_blank">详细说明</el-link>
</div> </div>
</el-form-item> </el-form-item>
@@ -593,41 +594,9 @@ export default {
], ],
tcpListenAddr: [ tcpListenAddr: [
{ required: true, message: '请输入TCP监听地址', trigger: 'blur' }, { required: true, message: '请输入TCP监听地址', trigger: 'blur' },
{
validator: (rule, value, callback) => {
if (value) {
// 验证IP地址格式(包括0.0.0.0)
const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
if (ipRegex.test(value)) {
callback();
} else {
callback(new Error('请输入有效的IP地址'));
}
} else {
callback();
}
},
trigger: 'blur'
}
], ],
udpListenAddr: [ udpListenAddr: [
{ required: true, message: '请输入UDP监听地址', trigger: 'blur' }, { required: true, message: '请输入UDP监听地址', trigger: 'blur' },
{
validator: (rule, value, callback) => {
if (value) {
// 验证IP地址格式(包括0.0.0.0)
const ipRegex = /^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
if (ipRegex.test(value)) {
callback();
} else {
callback(new Error('请输入有效的IP地址'));
}
} else {
callback();
}
},
trigger: 'blur'
}
] ]
}, },
diagnosisDialogVisible: false, diagnosisDialogVisible: false,