✨ 增加适配sudp
This commit is contained in:
parent
dc511fabc4
commit
90233f006a
@ -56,7 +56,8 @@ ${
|
|||||||
: ""
|
: ""
|
||||||
}
|
}
|
||||||
[[${
|
[[${
|
||||||
(m.type === "stcp" || m.type === "xtcp") && m.stcpModel === "visitors"
|
(m.type === "stcp" || m.type === "xtcp" || m.type === "sudp") &&
|
||||||
|
m.stcpModel === "visitors"
|
||||||
? "visitors"
|
? "visitors"
|
||||||
: "proxies"
|
: "proxies"
|
||||||
}]]
|
}]]
|
||||||
@ -98,6 +99,7 @@ httpPassword = "${m.httpPassword}"
|
|||||||
break;
|
break;
|
||||||
case "stcp":
|
case "stcp":
|
||||||
case "xtcp":
|
case "xtcp":
|
||||||
|
case "sudp":
|
||||||
if (m.stcpModel === "visitors") {
|
if (m.stcpModel === "visitors") {
|
||||||
// 访问者
|
// 访问者
|
||||||
toml += `
|
toml += `
|
||||||
@ -252,6 +254,7 @@ httpPassword = "${m.httpPassword}"
|
|||||||
break;
|
break;
|
||||||
case "stcp":
|
case "stcp":
|
||||||
case "xtcp":
|
case "xtcp":
|
||||||
|
case "sudp":
|
||||||
if (m.stcpModel === "visitors") {
|
if (m.stcpModel === "visitors") {
|
||||||
// 访问者
|
// 访问者
|
||||||
ini += `
|
ini += `
|
||||||
|
@ -74,7 +74,7 @@ const editForm = ref<Proxy>(defaultForm.value);
|
|||||||
/**
|
/**
|
||||||
* 代理类型
|
* 代理类型
|
||||||
*/
|
*/
|
||||||
const proxyTypes = ref(["http", "https", "tcp", "udp", "stcp", "xtcp"]);
|
const proxyTypes = ref(["http", "https", "tcp", "udp", "stcp", "xtcp", "sudp"]);
|
||||||
|
|
||||||
const stcpModels = ref([
|
const stcpModels = ref([
|
||||||
{
|
{
|
||||||
@ -172,20 +172,28 @@ const isStcp = computed(() => {
|
|||||||
return editForm.value.type === "stcp";
|
return editForm.value.type === "stcp";
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const isSudp = computed(() => {
|
||||||
|
return editForm.value.type === "sudp";
|
||||||
|
});
|
||||||
|
|
||||||
const isXtcp = computed(() => {
|
const isXtcp = computed(() => {
|
||||||
return editForm.value.type === "xtcp";
|
return editForm.value.type === "xtcp";
|
||||||
});
|
});
|
||||||
|
|
||||||
const isStcpVisited = computed(() => {
|
const isStcpVisited = computed(() => {
|
||||||
return (
|
return (
|
||||||
(editForm.value.type === "stcp" || editForm.value.type === "xtcp") &&
|
(editForm.value.type === "stcp" ||
|
||||||
|
editForm.value.type === "sudp" ||
|
||||||
|
editForm.value.type === "xtcp") &&
|
||||||
editForm.value.stcpModel === "visited"
|
editForm.value.stcpModel === "visited"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
const isStcpVisitors = computed(() => {
|
const isStcpVisitors = computed(() => {
|
||||||
return (
|
return (
|
||||||
(editForm.value.type === "stcp" || editForm.value.type === "xtcp") &&
|
(editForm.value.type === "stcp" ||
|
||||||
|
editForm.value.type === "sudp" ||
|
||||||
|
editForm.value.type === "xtcp") &&
|
||||||
editForm.value.stcpModel === "visitors"
|
editForm.value.stcpModel === "visitors"
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
@ -463,7 +471,11 @@ const handleCopyAccessAddress = (proxy: Proxy) => {
|
|||||||
accessAddressStr = `${proxy.type}://${proxy.customDomains[0]}`;
|
accessAddressStr = `${proxy.type}://${proxy.customDomains[0]}`;
|
||||||
} else if (proxy.type === "tcp" || proxy.type === "udp") {
|
} else if (proxy.type === "tcp" || proxy.type === "udp") {
|
||||||
accessAddressStr = `${frpcConfig.value.serverAddr}:${proxy.remotePort}`;
|
accessAddressStr = `${frpcConfig.value.serverAddr}:${proxy.remotePort}`;
|
||||||
} else if (proxy.type === "stcp" || proxy.type === "xtcp") {
|
} else if (
|
||||||
|
proxy.type === "stcp" ||
|
||||||
|
proxy.type === "xtcp" ||
|
||||||
|
proxy.type === "sudp"
|
||||||
|
) {
|
||||||
accessAddressStr = `${proxy.bindAddr}:${proxy.bindPort}`;
|
accessAddressStr = `${proxy.bindAddr}:${proxy.bindPort}`;
|
||||||
}
|
}
|
||||||
const { copy, copied } = useClipboard();
|
const { copy, copied } = useClipboard();
|
||||||
@ -612,7 +624,9 @@ onUnmounted(() => {
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
<el-tag
|
<el-tag
|
||||||
v-if="
|
v-if="
|
||||||
(proxy.type === 'stcp' || proxy.type === 'xtcp') &&
|
(proxy.type === 'stcp' ||
|
||||||
|
proxy.type === 'xtcp' ||
|
||||||
|
proxy.type === 'sudp') &&
|
||||||
proxy.stcpModel === 'visitors'
|
proxy.stcpModel === 'visitors'
|
||||||
"
|
"
|
||||||
size="small"
|
size="small"
|
||||||
@ -622,7 +636,9 @@ onUnmounted(() => {
|
|||||||
<el-tag
|
<el-tag
|
||||||
size="small"
|
size="small"
|
||||||
v-if="
|
v-if="
|
||||||
(proxy.type === 'stcp' || proxy.type === 'xtcp') &&
|
(proxy.type === 'stcp' ||
|
||||||
|
proxy.type === 'xtcp' ||
|
||||||
|
proxy.type === 'sudp') &&
|
||||||
proxy.stcpModel === 'visited'
|
proxy.stcpModel === 'visited'
|
||||||
"
|
"
|
||||||
>被访问者
|
>被访问者
|
||||||
@ -796,7 +812,7 @@ onUnmounted(() => {
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<template v-if="isStcp || isXtcp">
|
<template v-if="isStcp || isSudp || isXtcp">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item :label="`${editForm.type}模式:`" prop="stcpModel">
|
<el-form-item :label="`${editForm.type}模式:`" prop="stcpModel">
|
||||||
<el-radio-group v-model="editForm.stcpModel">
|
<el-radio-group v-model="editForm.stcpModel">
|
||||||
@ -866,7 +882,7 @@ onUnmounted(() => {
|
|||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<template v-if="!(isStcp || isXtcp) || isStcpVisited">
|
<template v-if="!(isStcp || isXtcp || isSudp) || isStcpVisited">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="内网地址:" prop="localIp">
|
<el-form-item label="内网地址:" prop="localIp">
|
||||||
<el-autocomplete
|
<el-autocomplete
|
||||||
@ -1325,6 +1341,10 @@ onUnmounted(() => {
|
|||||||
background: #f8bf4b;
|
background: #f8bf4b;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.sudp {
|
||||||
|
background: #3d4bb9;
|
||||||
|
}
|
||||||
|
|
||||||
.domain-input {
|
.domain-input {
|
||||||
width: calc(100% - 115px);
|
width: calc(100% - 115px);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user