Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/web
diff options
context:
space:
mode:
Diffstat (limited to 'web')
-rw-r--r--web/html/modals/xray_rule_modal.html26
-rw-r--r--web/html/settings/xray/routing.html12
-rw-r--r--web/html/xray.html5
3 files changed, 31 insertions, 12 deletions
diff --git a/web/html/modals/xray_rule_modal.html b/web/html/modals/xray_rule_modal.html
index d367600b..487bf197 100644
--- a/web/html/modals/xray_rule_modal.html
+++ b/web/html/modals/xray_rule_modal.html
@@ -9,7 +9,7 @@
</template> Source IPs <a-icon type="question-circle"></a-icon>
</a-tooltip>
</template>
- <a-input v-model.trim="ruleModal.rule.sourceIP"></a-input>
+ <a-input v-model.trim="ruleModal.rule.sourceIP" placeholder="e.g. 0.0.0.0/8, fc00::/7, geoip:ir"></a-input>
</a-form-item>
<a-form-item>
<template slot="label">
@@ -19,7 +19,17 @@
</template> Source Port <a-icon type="question-circle"></a-icon>
</a-tooltip>
</template>
- <a-input v-model.trim="ruleModal.rule.sourcePort"></a-input>
+ <a-input v-model.trim="ruleModal.rule.sourcePort" placeholder="e.g. 53,443,1000-2000"></a-input>
+ </a-form-item>
+ <a-form-item>
+ <template slot="label">
+ <a-tooltip>
+ <template slot="title">
+ <span>{{ i18n "pages.xray.rules.useComma" }}</span>
+ </template> VLESS Route <a-icon type="question-circle"></a-icon>
+ </a-tooltip>
+ </template>
+ <a-input v-model.trim="ruleModal.rule.vlessRoute" placeholder="e.g. 53,443,1000-2000"></a-input>
</a-form-item>
<a-form-item label='Network'>
<a-select v-model="ruleModal.rule.network" :dropdown-class-name="themeSwitcher.currentTheme">
@@ -52,7 +62,7 @@
</template> IP <a-icon type="question-circle"></a-icon>
</a-tooltip>
</template>
- <a-input v-model.trim="ruleModal.rule.ip"></a-input>
+ <a-input v-model.trim="ruleModal.rule.ip" placeholder="e.g. 0.0.0.0/8, fc00::/7, geoip:ir"></a-input>
</a-form-item>
<a-form-item>
<template slot="label">
@@ -62,7 +72,7 @@
</template> Domain <a-icon type="question-circle"></a-icon>
</a-tooltip>
</template>
- <a-input v-model.trim="ruleModal.rule.domain"></a-input>
+ <a-input v-model.trim="ruleModal.rule.domain" placeholder="e.g. google.com, geosite:cn"></a-input>
</a-form-item>
<a-form-item>
<template slot="label">
@@ -72,7 +82,7 @@
</template> User <a-icon type="question-circle"></a-icon>
</a-tooltip>
</template>
- <a-input v-model.trim="ruleModal.rule.user"></a-input>
+ <a-input v-model.trim="ruleModal.rule.user" placeholder="e.g. email address"></a-input>
</a-form-item>
<a-form-item>
<template slot="label">
@@ -82,7 +92,7 @@
</template> Port <a-icon type="question-circle"></a-icon>
</a-tooltip>
</template>
- <a-input v-model.trim="ruleModal.rule.port"></a-input>
+ <a-input v-model.trim="ruleModal.rule.port" placeholder="e.g. 53,443,1000-2000"></a-input>
</a-form-item>
<a-form-item label='Inbound Tags'>
<a-select v-model="ruleModal.rule.inboundTag" mode="multiple" :dropdown-class-name="themeSwitcher.currentTheme">
@@ -122,6 +132,7 @@
ip: "",
port: "",
sourcePort: "",
+ vlessRoute: "",
network: "",
sourceIP: "",
user: "",
@@ -155,6 +166,7 @@
this.rule.ip = rule.ip ? rule.ip.join(',') : [];
this.rule.port = rule.port;
this.rule.sourcePort = rule.sourcePort;
+ this.rule.vlessRoute = rule.vlessRoute;
this.rule.network = rule.network;
this.rule.sourceIP = rule.sourceIP ? rule.sourceIP.join(',') : [];
this.rule.user = rule.user ? rule.user.join(',') : [];
@@ -169,6 +181,7 @@
ip: "",
port: "",
sourcePort: "",
+ vlessRoute: "",
network: "",
sourceIP: "",
user: "",
@@ -210,6 +223,7 @@
rule.ip = value.ip.length > 0 ? value.ip.split(',') : [];
rule.port = value.port;
rule.sourcePort = value.sourcePort;
+ rule.vlessRoute = value.vlessRoute;
rule.network = value.network;
rule.sourceIP = value.sourceIP.length > 0 ? value.sourceIP.split(',') : [];
rule.user = value.user.length > 0 ? value.user.split(',') : [];
diff --git a/web/html/settings/xray/routing.html b/web/html/settings/xray/routing.html
index e5b9b6c6..487f7963 100644
--- a/web/html/settings/xray/routing.html
+++ b/web/html/settings/xray/routing.html
@@ -67,18 +67,22 @@
</template>
<template slot="info" slot-scope="text, rule, index">
<a-popover placement="bottomRight"
- v-if="(rule.source+rule.sourcePort+rule.network+rule.protocol+rule.attrs+rule.ip+rule.domain+rule.port).length>0"
+ v-if="(rule.sourceIP+rule.sourcePort+rule.vlessRoute+rule.network+rule.protocol+rule.attrs+rule.ip+rule.domain+rule.port).length>0"
:overlay-class-name="themeSwitcher.currentTheme" trigger="click">
<template slot="content">
<table cellpadding="2" :style="{ maxWidth: '300px' }">
- <tr v-if="rule.source">
- <td>Source</td>
- <td><a-tag color="blue" v-for="r in rule.source.split(',')">[[ r ]]</a-tag></td>
+ <tr v-if="rule.sourceIP">
+ <td>Source IP</td>
+ <td><a-tag color="blue" v-for="r in rule.sourceIP.split(',')">[[ r ]]</a-tag></td>
</tr>
<tr v-if="rule.sourcePort">
<td>Source Port</td>
<td><a-tag color="green" v-for="r in rule.sourcePort.split(',')">[[ r ]]</a-tag></td>
</tr>
+ <tr v-if="rule.vlessRoute">
+ <td>VLESS Route</td>
+ <td><a-tag color="geekblue" v-for="r in rule.vlessRoute.split(',')">[[ r ]]</a-tag></td>
+ </tr>
<tr v-if="rule.network">
<td>Network</td>
<td><a-tag color="blue" v-for="r in rule.network.split(',')">[[ r ]]</a-tag></td>
diff --git a/web/html/xray.html b/web/html/xray.html
index 5b1b8026..9f528e03 100644
--- a/web/html/xray.html
+++ b/web/html/xray.html
@@ -146,8 +146,9 @@
{ title: "#", align: 'center', width: 15, scopedSlots: { customRender: 'action' } },
{
title: '{{ i18n "pages.xray.rules.source"}}', children: [
- { title: 'IP', dataIndex: "source", align: 'center', width: 20, ellipsis: true },
- { title: '{{ i18n "pages.inbounds.port" }}', dataIndex: 'sourcePort', align: 'center', width: 10, ellipsis: true }]
+ { title: 'IP', dataIndex: "sourceIP", align: 'center', width: 20, ellipsis: true },
+ { title: '{{ i18n "pages.inbounds.port" }}', dataIndex: 'sourcePort', align: 'center', width: 10, ellipsis: true },
+ { title: 'VLESS Route', dataIndex: 'vlessRoute', align: 'center', width: 15, ellipsis: true }]
},
{
title: '{{ i18n "pages.inbounds.network"}}', children: [