diff options
| author | Mohammad Movaghari <52345697+mohammadmovaghari@users.noreply.github.com> | 2023-04-12 16:29:17 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-12 16:29:17 +0300 |
| commit | c575425292e2c4c690728174e42a6f34963394c2 (patch) | |
| tree | c9b033457baa55a98cea23a8769645f8f3dbd476 /web/html/xui/form | |
| parent | 63f71e527ceddc724e0bd2893c4946b01f3a5f6c (diff) | |
| parent | 82b2809fccb6a131b4f84e2ca236f8bea567beae (diff) | |
Merge branch 'MHSanaei:main' into main
Diffstat (limited to 'web/html/xui/form')
| -rw-r--r-- | web/html/xui/form/client.html | 25 | ||||
| -rw-r--r-- | web/html/xui/form/protocol/trojan.html | 5 | ||||
| -rw-r--r-- | web/html/xui/form/protocol/vless.html | 27 | ||||
| -rw-r--r-- | web/html/xui/form/protocol/vmess.html | 3 | ||||
| -rw-r--r-- | web/html/xui/form/stream/stream_tcp.html | 2 | ||||
| -rw-r--r-- | web/html/xui/form/tls_settings.html | 55 |
6 files changed, 93 insertions, 24 deletions
diff --git a/web/html/xui/form/client.html b/web/html/xui/form/client.html index 288fb0ef..1de05ac9 100644 --- a/web/html/xui/form/client.html +++ b/web/html/xui/form/client.html @@ -15,6 +15,9 @@ </span> <a-input v-model.trim="client.email" style="width: 150px;" ></a-input> </a-form-item> + <a-form-item label="{{ i18n "pages.inbounds.enable" }}"> + <a-switch v-model="client.enable"></a-switch> + </a-form-item> <a-form-item label="Password" v-if="inbound.protocol === Protocols.TROJAN"> <a-input v-model.trim="client.password" style="width: 150px;" ></a-input> </a-form-item> @@ -24,6 +27,12 @@ <a-form-item label='{{ i18n "additional" }} ID' v-if="inbound.protocol === Protocols.VMESS"> <a-input type="number" v-model.number="client.alterId" style="width: 70px;"></a-input> </a-form-item> + <a-form-item label="Subscription" v-if="client.email"> + <a-input v-model.trim="client.subId"></a-input> + </a-form-item> + <a-form-item label="Telegram Username" v-if="client.email"> + <a-input v-model.trim="client.tgId"></a-input> + </a-form-item> <a-form-item> <span slot="label"> <span>{{ i18n "pages.inbounds.IPLimit" }}</span> @@ -60,7 +69,7 @@ </a-form> </a-form-item> <a-form-item v-if="inbound.XTLS" label="Flow"> - <a-select v-model="client.flow" style="width: 150px"> + <a-select v-model="client.flow" style="width: 150px" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''"> <a-select-option value="">{{ i18n "none" }}</a-select-option> <a-select-option v-for="key in XTLS_FLOW_CONTROL" :value="key">[[ key ]]</a-select-option> </a-select> @@ -83,7 +92,7 @@ </span> <a-input-number v-model="client._totalGB":min="0" style="width: 70px;"></a-input-number> <template v-if="isEdit && clientStats"> - {{ i18n "usage" }}: + <span>{{ i18n "usage" }}:</span> <a-tag :color="statsColor"> [[ sizeFormat(clientStats.up) ]] / [[ sizeFormat(clientStats.down) ]] @@ -91,7 +100,13 @@ </a-tag> </template> </a-form-item> - <a-form-item> + <a-form-item label="{{ i18n "pages.client.delayedStart" }}"> + <a-switch v-model="clientModal.delayedStart" @click="client._expiryTime=0"></a-switch> + </a-form-item> + <a-form-item label="{{ i18n "pages.client.expireDays" }}" v-if="clientModal.delayedStart"> + <a-input type="number" v-model.number="delayedExpireDays" :min="0"></a-input> + </a-form-item> + <a-form-item v-else> <span slot="label"> <span >{{ i18n "pages.inbounds.expireDate" }}</span> <a-tooltip> @@ -102,8 +117,8 @@ </a-tooltip> </span> <a-date-picker :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm" - :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''" - v-model="client._expiryTime" style="width: 170px;"></a-date-picker> + :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''" + v-model="client._expiryTime" style="width: 170px;"></a-date-picker> <a-tag color="red" v-if="isExpiry">Expired</a-tag> </a-form-item> </a-form> diff --git a/web/html/xui/form/protocol/trojan.html b/web/html/xui/form/protocol/trojan.html index c0694d25..91fd7afd 100644 --- a/web/html/xui/form/protocol/trojan.html +++ b/web/html/xui/form/protocol/trojan.html @@ -32,7 +32,7 @@ <a-input type="number" v-model.number="client.limitIp" min="0" style="width: 70px;" ></a-input> </a-form-item> <a-form-item v-if="inbound.XTLS" label="Flow"> - <a-select v-model="client.flow" style="width: 150px"> + <a-select v-model="client.flow" style="width: 150px" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''"> <a-select-option value="">{{ i18n "none" }}</a-select-option> <a-select-option v-for="key in XTLS_FLOW_CONTROL" :value="key">[[ key ]]</a-select-option> </a-select> @@ -60,6 +60,7 @@ </a-tooltip> </span> <a-date-picker :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm" + :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''" v-model="client._expiryTime" style="width: 170px;"></a-date-picker> </a-form-item> </a-collapse-panel> @@ -76,7 +77,7 @@ </table> </a-collapse-panel> </a-collapse> -<template v-if="inbound.isTcp && (inbound.tls || inbound.xtls)"> +<template v-if="inbound.isTcp"> <a-form layout="inline"> <a-form-item label="Fallbacks"> <a-row> diff --git a/web/html/xui/form/protocol/vless.html b/web/html/xui/form/protocol/vless.html index 7dfc5402..029f2c9e 100644 --- a/web/html/xui/form/protocol/vless.html +++ b/web/html/xui/form/protocol/vless.html @@ -20,25 +20,25 @@ <a-input v-model.trim="client.id" style="width: 300px;" ></a-input> </a-form-item> <a-form-item> - <span slot="label"> - <span>{{ i18n "pages.inbounds.IPLimit" }}</span> - <a-tooltip> - <template slot="title"> - <span>{{ i18n "pages.inbounds.IPLimitDesc" }}</span> - </template> - <a-icon type="question-circle" theme="filled"></a-icon> - </a-tooltip> - </span> - <a-input type="number" v-model.number="client.limitIp" min="0" style="width: 70px;" ></a-input> + <span slot="label"> + <span>{{ i18n "pages.inbounds.IPLimit" }}</span> + <a-tooltip> + <template slot="title"> + <span>{{ i18n "pages.inbounds.IPLimitDesc" }}</span> + </template> + <a-icon type="question-circle" theme="filled"></a-icon> + </a-tooltip> + </span> + <a-input type="number" v-model.number="client.limitIp" min="0" style="width: 70px;" ></a-input> </a-form-item> <a-form-item v-if="inbound.XTLS" label="Flow"> - <a-select v-model="inbound.settings.vlesses[index].flow" style="width: 150px"> + <a-select v-model="inbound.settings.vlesses[index].flow" style="width: 150px" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''"> <a-select-option value="" selected>{{ i18n "none" }}</a-select-option> <a-select-option v-for="key in XTLS_FLOW_CONTROL" :value="key">[[ key ]]</a-select-option> </a-select> </a-form-item> <a-form-item v-else-if="inbound.canEnableTlsFlow()" label="Flow" layout="inline"> - <a-select v-model="inbound.settings.vlesses[index].flow" style="width: 150px"> + <a-select v-model="inbound.settings.vlesses[index].flow" style="width: 150px" :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''"> <a-select-option value="" selected>{{ i18n "none" }}</a-select-option> <a-select-option v-for="key in TLS_FLOW_CONTROL" :value="key">[[ key ]]</a-select-option> </a-select> @@ -66,6 +66,7 @@ </a-tooltip> </span> <a-date-picker :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm" + :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''" v-model="client._expiryTime" style="width: 170px;"></a-date-picker> </a-form-item> </a-collapse-panel> @@ -82,7 +83,7 @@ </table> </a-collapse-panel> </a-collapse> -<template v-if="inbound.isTcp && (inbound.tls || inbound.xtls)"> +<template v-if="inbound.isTcp"> <a-form layout="inline"> <a-form-item label="Fallbacks"> <a-row> diff --git a/web/html/xui/form/protocol/vmess.html b/web/html/xui/form/protocol/vmess.html index d425e080..ad2b3960 100644 --- a/web/html/xui/form/protocol/vmess.html +++ b/web/html/xui/form/protocol/vmess.html @@ -57,7 +57,8 @@ </a-tooltip> </span> <a-date-picker :show-time="{ format: 'HH:mm' }" format="YYYY-MM-DD HH:mm" - v-model="client._expiryTime" style="width: 170px;"></a-date-picker> + :dropdown-class-name="siderDrawer.isDarkTheme ? 'ant-card-dark' : ''" + v-model="client._expiryTime" style="width: 170px;"></a-date-picker> </a-form-item> </a-collapse-panel> </a-collapse> diff --git a/web/html/xui/form/stream/stream_tcp.html b/web/html/xui/form/stream/stream_tcp.html index 32495a80..958f8f25 100644 --- a/web/html/xui/form/stream/stream_tcp.html +++ b/web/html/xui/form/stream/stream_tcp.html @@ -4,7 +4,7 @@ <a-form-item label="AcceptProxyProtocol"> <a-switch v-model="inbound.stream.tcp.acceptProxyProtocol"></a-switch> </a-form-item> - <a-form-item label="HTTP Camouflage"> + <a-form-item label="HTTP {{ i18n "camouflage" }}"> <a-switch :checked="inbound.stream.tcp.type === 'http'" @change="checked => inbound.stream.tcp.type = checked ? 'http' : 'none'"> diff --git a/web/html/xui/form/tls_settings.html b/web/html/xui/form/tls_settings.html index acb0a815..f954b76b 100644 --- a/web/html/xui/form/tls_settings.html +++ b/web/html/xui/form/tls_settings.html @@ -1,11 +1,32 @@ {{define "form/tlsSettings"}} <!-- tls enable --> <a-form layout="inline" v-if="inbound.canSetTls()"> - <a-form-item label="TLS"> + <a-form-item v-if="inbound.canEnableTls()" label="TLS"> <a-switch v-model="inbound.tls"> </a-switch> </a-form-item> - <a-form-item v-if="inbound.canEnableXTLS()" label="XTLS"> + <a-form-item v-if="inbound.canEnableReality()"> + <span slot="label"> + Reality + <a-tooltip> + <template slot="title"> + <span>{{ i18n "pages.inbounds.Realitydec" }}</span> + </template> + <a-icon type="question-circle" theme="filled"></a-icon> + </a-tooltip> + </span> + <a-switch v-model="inbound.reality"></a-switch> + </a-form-item> + <a-form-item v-if="inbound.canEnableXTLS()"> + <span slot="label"> + XTLS + <a-tooltip> + <template slot="title"> + <span>{{ i18n "pages.inbounds.XTLSdec" }}</span> + </template> + <a-icon type="question-circle" theme="filled"></a-icon> + </a-tooltip> + </span> <a-switch v-model="inbound.XTLS"></a-switch> </a-form-item> </a-form> @@ -61,6 +82,7 @@ <a-form-item label='{{ i18n "pages.inbounds.keyPath" }}'> <a-input v-model.trim="inbound.stream.tls.certs[0].keyFile" style="width:300px;"></a-input> </a-form-item> + <a-button @click="setDefaultCertData">{{ i18n "pages.inbounds.setDefaultCert" }}</a-button> </template> <template v-else> <a-form-item label='{{ i18n "pages.inbounds.publicKeyContent" }}'> @@ -71,4 +93,33 @@ </a-form-item> </template> </a-form> +<a-form v-else-if="inbound.reality" layout="inline"> + <a-form-item label="show"> + <a-switch v-model="inbound.stream.reality.show"> + </a-switch> + </a-form-item> + <a-form-item label="xver"> + <a-input type="number" v-model.number="inbound.stream.reality.xver" :min="0" style="width: 60px"></a-input> + </a-form-item> + <a-form-item label="uTLS" > + <a-select v-model="inbound.stream.reality.fingerprint" style="width: 135px"> + <a-select-option v-for="key in UTLS_FINGERPRINT" :value="key">[[ key ]]</a-select-option> + </a-select> + </a-form-item> + <a-form-item label="dest"> + <a-input v-model.trim="inbound.stream.reality.dest" style="width: 360px"></a-input> + </a-form-item> + <a-form-item label="serverNames"> + <a-input v-model.trim="inbound.stream.reality.serverNames" style="width: 360px"></a-input> + </a-form-item> + <a-form-item label="privateKey"> + <a-input v-model.trim="inbound.stream.reality.privateKey" style="width: 360px"></a-input> + </a-form-item> + <a-form-item label="publicKey"> + <a-input v-model.trim="inbound.stream.reality.publicKey" style="width: 360px"></a-input> + </a-form-item> + <a-form-item label="shortIds"> + <a-input v-model.trim="inbound.stream.reality.shortIds"></a-input> + </a-form-item> +</a-form> {{end}}
\ No newline at end of file |
