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
-[](#)
+- 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 @@
-
+
+