diff options
| -rw-r--r-- | sub/subJsonService.go | 4 | ||||
| -rw-r--r-- | web/html/login.html | 174 | ||||
| -rw-r--r-- | web/html/xui/settings.html | 3 | ||||
| -rw-r--r-- | web/html/xui/xray.html | 4 |
4 files changed, 94 insertions, 91 deletions
diff --git a/sub/subJsonService.go b/sub/subJsonService.go index 92519f3e..8bc98dea 100644 --- a/sub/subJsonService.go +++ b/sub/subJsonService.go @@ -189,7 +189,7 @@ func (s *SubJsonService) streamData(stream string) map[string]interface{} { delete(streamSettings, "sockopt") if s.fragmanet != "" { - streamSettings["sockopt"] = json_util.RawMessage(`{"dialerProxy": "fragment", "tcpKeepAliveIdle": 100, "TcpNoDelay": true}`) + streamSettings["sockopt"] = json_util.RawMessage(`{"dialerProxy": "fragment", "tcpKeepAliveIdle": 100, "tcpNoDelay": true}`) } // remove proxy protocol @@ -218,7 +218,7 @@ func (s *SubJsonService) tlsData(tData map[string]interface{}) map[string]interf tlsData["serverName"] = tData["serverName"] tlsData["alpn"] = tData["alpn"] - if allowInsecure, ok := tlsClientSettings["allowInsecure"].(string); ok { + if allowInsecure, ok := tlsClientSettings["allowInsecure"].(bool); ok { tlsData["allowInsecure"] = allowInsecure } if fingerprint, ok := tlsClientSettings["fingerprint"].(string); ok { diff --git a/web/html/login.html b/web/html/login.html index 4605a4fd..e9e4e219 100644 --- a/web/html/login.html +++ b/web/html/login.html @@ -374,92 +374,96 @@ </style> <body> <a-layout id="app" v-cloak :class="themeSwitcher.currentTheme"> - <transition name="list" appear> - <a-layout-content class="under" style="min-height: 0;"> - <div class="waves-header"> - <div class="waves-inner-header"></div> - <svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"> - <defs> - <path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" /> - </defs> - <g class="parallax"> - <use xlink:href="#gentle-wave" x="48" y="0" fill="rgba(0, 135, 113, 0.08)" /> - <use xlink:href="#gentle-wave" x="48" y="3" fill="rgba(0, 135, 113, 0.08)" /> - <use xlink:href="#gentle-wave" x="48" y="5" fill="rgba(0, 135, 113, 0.08)" /> - <use xlink:href="#gentle-wave" x="48" y="7" fill="#c7ebe2" /> - </g> - </svg> - </div> - <a-row type="flex" justify="center" align="middle" style="height: 100%; overflow: auto;"> - <a-col :xs="22" :sm="20" :md="14" :lg="10" :xl="8" :xxl="6" id="login" style="margin: 3rem 0;"> - <a-row type="flex" justify="center"> - <a-col style="width: 100%;"> - <h1 class="title headline zoom"> - <span class="words-wrapper"> - <b class="is-visible">{{ i18n "pages.login.title" }}</b> - <b>3X-UI</b> - </span> - </h1> - </a-col> - </a-row> - <a-row type="flex" justify="center"> - <a-col span="24"> - <a-form> - <a-form-item> - <a-input v-model.trim="user.username" placeholder='{{ i18n "username" }}' - @keydown.enter.native="login" autofocus> - <a-icon slot="prefix" type="user" style="font-size: 16px;"/> - </a-input> - </a-form-item> - <a-form-item> - <password-input icon="lock" v-model.trim="user.password" - placeholder='{{ i18n "password" }}' @keydown.enter.native="login"> - </password-input> - </a-form-item> - <a-form-item v-if="secretEnable"> - <password-input icon="key" v-model.trim="user.loginSecret" - placeholder='{{ i18n "secretToken" }}' @keydown.enter.native="login"> - </password-input> - </a-input> - </a-form-item> - <a-form-item> - <a-row justify="center" class="centered"> - <div class="wave-btn-bg wave-btn-bg-cl" :style="loading ? { width: '52px' } : { display: 'inline-block' }"> - <a-button class="ant-btn-primary-login" type="primary" :loading="loading" @click="login" :icon="loading ? 'poweroff' : undefined"> - [[ loading ? '' : '{{ i18n "login" }}' ]] - </a-button> - </div> - </a-row> - </a-form-item> - <a-form-item> - <a-row justify="center" class="centered"> - <a-col :span="24"> - <a-select ref="selectLang" v-model="lang" @change="setLang(lang)" style="width: 150px;" :dropdown-class-name="themeSwitcher.currentTheme"> - <a-select-option :value="l.value" label="English" v-for="l in supportLangs"> - <span role="img" aria-label="l.name" v-text="l.icon"></span> - <span v-text="l.name"></span> - </a-select-option> - </a-select> - </a-col> - </a-row> - </a-form-item> - <a-form-item> - <a-row justify="center" class="centered"> - <a-col> - <a-icon type="bulb" :theme="themeSwitcher.isDarkTheme ? 'filled' : 'outlined'"></a-icon> - </a-col> - <a-col> - <theme-switch /> - </a-col> - </a-row> - </a-form-item> - </a-form> - </a-col> - </a-row> + <transition name="list" appear> + <a-layout-content class="under" style="min-height: 0;"> + <div class="waves-header"> + <div class="waves-inner-header"></div> + <svg class="waves" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" + viewBox="0 24 150 28" preserveAspectRatio="none" shape-rendering="auto"> + <defs> + <path id="gentle-wave" d="M-160 44c30 0 58-18 88-18s 58 18 88 18 58-18 88-18 58 18 88 18 v44h-352z" /> + </defs> + <g class="parallax"> + <use xlink:href="#gentle-wave" x="48" y="0" fill="rgba(0, 135, 113, 0.08)" /> + <use xlink:href="#gentle-wave" x="48" y="3" fill="rgba(0, 135, 113, 0.08)" /> + <use xlink:href="#gentle-wave" x="48" y="5" fill="rgba(0, 135, 113, 0.08)" /> + <use xlink:href="#gentle-wave" x="48" y="7" fill="#c7ebe2" /> + </g> + </svg> + </div> + <a-row type="flex" justify="center" align="middle" style="height: 100%; overflow: auto;"> + <a-col :xs="22" :sm="20" :md="14" :lg="10" :xl="8" :xxl="6" id="login" style="margin: 3rem 0;"> + <a-row type="flex" justify="center"> + <a-col style="width: 100%;"> + <h1 class="title headline zoom"> + <span class="words-wrapper"> + <b class="is-visible">{{ i18n "pages.login.title" }}</b> + <b>3X-UI</b> + </span> + </h1> </a-col> - </a-row> - </a-layout-content> - </transition> + </a-row> + <a-row type="flex" justify="center"> + <a-col span="24"> + <a-form> + <a-form-item> + <a-input v-model.trim="user.username" placeholder='{{ i18n "username" }}' + @keydown.enter.native="login" autofocus> + <a-icon slot="prefix" type="user" style="font-size: 16px;" /> + </a-input> + </a-form-item> + <a-form-item> + <password-input icon="lock" v-model.trim="user.password" placeholder='{{ i18n "password" }}' + @keydown.enter.native="login"> + </password-input> + </a-form-item> + <a-form-item v-if="secretEnable"> + <password-input icon="key" v-model.trim="user.loginSecret" placeholder='{{ i18n "secretToken" }}' + @keydown.enter.native="login"> + </password-input> + </a-input> + </a-form-item> + <a-form-item> + <a-row justify="center" class="centered"> + <div class="wave-btn-bg wave-btn-bg-cl" + :style="loading ? { width: '52px' } : { display: 'inline-block' }"> + <a-button class="ant-btn-primary-login" type="primary" :loading="loading" @click="login" + :icon="loading ? 'poweroff' : undefined"> + [[ loading ? '' : '{{ i18n "login" }}' ]] + </a-button> + </div> + </a-row> + </a-form-item> + <a-form-item> + <a-row justify="center" class="centered"> + <a-col :span="24"> + <a-select ref="selectLang" v-model="lang" @change="setLang(lang)" style="width: 150px;" + :dropdown-class-name="themeSwitcher.currentTheme"> + <a-select-option :value="l.value" label="English" v-for="l in supportLangs"> + <span role="img" aria-label="l.name" v-text="l.icon"></span> + <span v-text="l.name"></span> + </a-select-option> + </a-select> + </a-col> + </a-row> + </a-form-item> + <a-form-item> + <a-row justify="center" class="centered"> + <a-col> + <a-icon type="bulb" :theme="themeSwitcher.isDarkTheme ? 'filled' : 'outlined'"></a-icon> + </a-col> + <a-col> + <theme-switch /> + </a-col> + </a-row> + </a-form-item> + </a-form> + </a-col> + </a-row> + </a-col> + </a-row> + </a-layout-content> + </transition> </a-layout> {{template "js" .}} {{template "component/themeSwitcher" .}} diff --git a/web/html/xui/settings.html b/web/html/xui/settings.html index adc199a9..fdb523c3 100644 --- a/web/html/xui/settings.html +++ b/web/html/xui/settings.html @@ -263,7 +263,6 @@ <a-col :lg="24" :xl="12"> <a-list-item-meta title="Telegram Bot Language" /> </a-col> - <a-col :lg="24" :xl="12"> <template> <a-select @@ -352,7 +351,7 @@ streamSettings: { sockopt: { tcpKeepAliveIdle: 100, - TcpNoDelay: true + tcpNoDelay: true } } }, diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html index 572d8b6a..444ba94f 100644 --- a/web/html/xui/xray.html +++ b/web/html/xui/xray.html @@ -1,14 +1,14 @@ <!DOCTYPE html> <html lang="en"> {{template "head" .}} -<link rel="stylesheet" href="{{ .base_path }}assets/codemirror/codemirror.css"> +<link rel="stylesheet" href="{{ .base_path }}assets/codemirror/codemirror.css?{{ .cur_ver }}"></script> <link rel="stylesheet" href="{{ .base_path }}assets/codemirror/fold/foldgutter.css"> <link rel="stylesheet" href="{{ .base_path }}assets/codemirror/xq.css?{{ .cur_ver }}"> <link rel="stylesheet" href="{{ .base_path }}assets/codemirror/lint/lint.css"> <script src="{{ .base_path }}assets/base64/base64.min.js"></script> <script src="{{ .base_path }}assets/js/model/outbound.js?{{ .cur_ver }}"></script> -<script src="{{ .base_path }}assets/codemirror/codemirror.js"></script> +<script src="{{ .base_path }}assets/codemirror/codemirror.js?{{ .cur_ver }}"></script> <script src="{{ .base_path }}assets/codemirror/javascript.js"></script> <script src="{{ .base_path }}assets/codemirror/jshint.js"></script> <script src="{{ .base_path }}assets/codemirror/jsonlint.js"></script> |
