diff --git a/README.md b/README.md index 8f29e3aa..0e8586be 100644 --- a/README.md +++ b/README.md @@ -177,6 +177,8 @@ Reference syntax: | `POST` | `"/resetAllClientTraffics/:id"` | Reset traffics of all clients in an inbound | | `POST` | `"/delDepletedClients/:id"` | Delete inbound depleted clients (-1: all) | +- [Postman Collection](https://gist.github.com/mehdikhody/9a862801a2e41f6b5fb6bbc7e1326044) + # A Special Thanks To - [alireza0](https://github.com/alireza0/) @@ -190,11 +192,8 @@ Reference syntax: # Buy Me a Coffee -[![](https://img.shields.io/badge/Wallet-USDT__TRC20-green.svg)](#) +- Tron USDT (TRC20): `TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC` -``` -TXncxkvhkDWGts487Pjqq1qT9JmwRUz8CC -``` # Pictures diff --git a/install.sh b/install.sh index 22ea186a..4e3e47ca 100644 --- a/install.sh +++ b/install.sh @@ -73,7 +73,7 @@ config_after_install() { /usr/local/x-ui/x-ui migrate echo -e "${yellow}Install/update finished! For security it's recommended to modify panel settings ${plain}" read -p "Do you want to continue with the modification [y/n]? ": config_confirm - if [[ x"${config_confirm}" == x"y" || x"${config_confirm}" == x"Y" ]]; then + if [[ "${config_confirm}" == "y" || "${config_confirm}" == "Y" ]]; then read -p "Please set up your username:" config_account echo -e "${yellow}Your username will be:${config_account}${plain}" read -p "Please set up your password:" config_password diff --git a/web/assets/css/custom.css b/web/assets/css/custom.css index 741b01ae..a452dceb 100644 --- a/web/assets/css/custom.css +++ b/web/assets/css/custom.css @@ -212,6 +212,7 @@ .ant-card-dark .ant-modal-close, .ant-card-dark i, .ant-card-dark .ant-select-dropdown-menu-item, +.ant-card-dark .ant-calendar-day-select, .ant-card-dark .ant-calendar-month-select, .ant-card-dark .ant-calendar-year-select, .ant-card-dark .ant-calendar-date, @@ -226,7 +227,7 @@ .ant-card-dark .ant-calendar-date:hover, .ant-card-dark .ant-select-dropdown-menu-item-active, .ant-card-dark li.ant-calendar-time-picker-select-option-selected { - background-color: #004488; + background-color: #11314d; } .ant-card-dark tbody .ant-table-expanded-row, @@ -243,7 +244,7 @@ .ant-card-dark .ant-select-selection, .ant-card-dark .ant-calendar-picker-clear { color: hsla(0,0%,100%,.65); - background-color: #2e3b52; + background-color: #193752; } .ant-card-dark .ant-select-disabled .ant-select-selection { @@ -264,12 +265,19 @@ .ant-card-dark .ant-modal-content, .ant-card-dark .ant-modal-body, -.ant-card-dark .ant-modal-header, -.ant-card-dark .ant-calendar-selected-day .ant-calendar-date { +.ant-card-dark .ant-modal-header { color: hsla(0,0%,100%,.65); background-color: #222a37; } +.ant-card-dark .ant-calendar-selected-day .ant-calendar-date { + background-color: #1668dc; +} + +.ant-card-dark .ant-calendar-time-picker-select li:hover { + background: #1668dc; +} + .client-table-header { background-color: #f0f2f5; } diff --git a/web/assets/js/model/xray.js b/web/assets/js/model/xray.js index 195155cf..c8b02641 100644 --- a/web/assets/js/model/xray.js +++ b/web/assets/js/model/xray.js @@ -79,9 +79,15 @@ const UTLS_FINGERPRINT = { }; const ALPN_OPTION = { - H3: "h3", - H2: "h2", HTTP1: "http/1.1", + H2: "h2", + H3: "h3", +}; + +const SNIFFING_OPTION = { + HTTP: "http", + TLS: "tls", + QUIC: "quic", }; Object.freeze(Protocols); @@ -92,6 +98,7 @@ Object.freeze(TLS_FLOW_CONTROL); Object.freeze(TLS_VERSION_OPTION); Object.freeze(TLS_CIPHER_OPTION); Object.freeze(ALPN_OPTION); +Object.freeze(SNIFFING_OPTION); class XrayCommonClass { @@ -880,7 +887,7 @@ class StreamSettings extends XrayCommonClass { } class Sniffing extends XrayCommonClass { - constructor(enabled=true, destOverride=['http', 'tls']) { + constructor(enabled=true, destOverride=['http', 'tls', 'quic']) { super(); this.enabled = enabled; this.destOverride = destOverride; @@ -890,7 +897,7 @@ class Sniffing extends XrayCommonClass { let destOverride = ObjectUtil.clone(json.destOverride); if (!ObjectUtil.isEmpty(destOverride) && !ObjectUtil.isArrEmpty(destOverride)) { if (ObjectUtil.isEmpty(destOverride[0])) { - destOverride = ['http', 'tls']; + destOverride = ['http', 'tls', 'quic']; } } return new Sniffing( diff --git a/web/controller/base.go b/web/controller/base.go index a9659bd2..98e1831c 100644 --- a/web/controller/base.go +++ b/web/controller/base.go @@ -1,9 +1,10 @@ package controller import ( - "github.com/gin-gonic/gin" "net/http" "x-ui/web/session" + + "github.com/gin-gonic/gin" ) type BaseController struct { diff --git a/web/html/common/head.html b/web/html/common/head.html index 168b1993..8a89954d 100644 --- a/web/html/common/head.html +++ b/web/html/common/head.html @@ -7,7 +7,8 @@ - + +