|
@@ -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(',') : [];
|