diff --git a/sub/subJsonService.go b/sub/subJsonService.go
index 680a078d..8786541e 100644
--- a/sub/subJsonService.go
+++ b/sub/subJsonService.go
@@ -21,7 +21,7 @@ type SubJsonService struct {
configJson map[string]interface{}
defaultOutbounds []json_util.RawMessage
fragment string
- noises string
+ noises string
mux string
inboundService service.InboundService
@@ -61,7 +61,7 @@ func NewSubJsonService(fragment string, noises string, mux string, rules string,
configJson: configJson,
defaultOutbounds: defaultOutbounds,
fragment: fragment,
- noises: noises,
+ noises: noises,
mux: mux,
SubService: subService,
}
@@ -217,7 +217,7 @@ func (s *SubJsonService) streamData(stream string) map[string]interface{} {
delete(streamSettings, "sockopt")
if s.fragment != "" {
- streamSettings["sockopt"] = json_util.RawMessage(`{"dialerProxy": "fragment", "tcpKeepAliveIdle": 100, "tcpMptcp": true, "tcpNoDelay": true}`)
+ streamSettings["sockopt"] = json_util.RawMessage(`{"dialerProxy": "fragment", "tcpKeepAliveIdle": 100, "tcpMptcp": true, "penetrate": true}`)
}
// remove proxy protocol
diff --git a/web/assets/js/model/inbound.js b/web/assets/js/model/inbound.js
index c07699b8..f18a190c 100644
--- a/web/assets/js/model/inbound.js
+++ b/web/assets/js/model/inbound.js
@@ -816,7 +816,7 @@ class SockoptStreamSettings extends XrayCommonClass {
mark = 0,
tproxy = "off",
tcpMptcp = false,
- tcpNoDelay = false,
+ penetrate = false,
domainStrategy = DOMAIN_STRATEGY_OPTION.USE_IP,
tcpMaxSeg = 1440,
dialerProxy = "",
@@ -834,7 +834,7 @@ class SockoptStreamSettings extends XrayCommonClass {
this.mark = mark;
this.tproxy = tproxy;
this.tcpMptcp = tcpMptcp;
- this.tcpNoDelay = tcpNoDelay;
+ this.penetrate = penetrate;
this.domainStrategy = domainStrategy;
this.tcpMaxSeg = tcpMaxSeg;
this.dialerProxy = dialerProxy;
@@ -855,7 +855,7 @@ class SockoptStreamSettings extends XrayCommonClass {
json.mark,
json.tproxy,
json.tcpMptcp,
- json.tcpNoDelay,
+ json.penetrate,
json.domainStrategy,
json.tcpMaxSeg,
json.dialerProxy,
@@ -876,7 +876,7 @@ class SockoptStreamSettings extends XrayCommonClass {
mark: this.mark,
tproxy: this.tproxy,
tcpMptcp: this.tcpMptcp,
- tcpNoDelay: this.tcpNoDelay,
+ penetrate: this.penetrate,
domainStrategy: this.domainStrategy,
tcpMaxSeg: this.tcpMaxSeg,
dialerProxy: this.dialerProxy,
diff --git a/web/assets/js/model/outbound.js b/web/assets/js/model/outbound.js
index d58839bc..4bf88e0c 100644
--- a/web/assets/js/model/outbound.js
+++ b/web/assets/js/model/outbound.js
@@ -411,14 +411,14 @@ class SockoptStreamSettings extends CommonClass {
tcpFastOpen = false,
tcpKeepAliveInterval = 0,
tcpMptcp = false,
- tcpNoDelay = false
+ penetrate = false
) {
super();
this.dialerProxy = dialerProxy;
this.tcpFastOpen = tcpFastOpen;
this.tcpKeepAliveInterval = tcpKeepAliveInterval;
this.tcpMptcp = tcpMptcp;
- this.tcpNoDelay = tcpNoDelay;
+ this.penetrate = penetrate;
}
static fromJson(json = {}) {
@@ -428,7 +428,7 @@ class SockoptStreamSettings extends CommonClass {
json.tcpFastOpen,
json.tcpKeepAliveInterval,
json.tcpMptcp,
- json.tcpNoDelay,
+ json.penetrate,
);
}
@@ -438,7 +438,7 @@ class SockoptStreamSettings extends CommonClass {
tcpFastOpen: this.tcpFastOpen,
tcpKeepAliveInterval: this.tcpKeepAliveInterval,
tcpMptcp: this.tcpMptcp,
- tcpNoDelay: this.tcpNoDelay,
+ penetrate: this.penetrate,
};
}
}
diff --git a/web/html/xui/form/outbound.html b/web/html/xui/form/outbound.html
index 0293ffa8..f1f76940 100644
--- a/web/html/xui/form/outbound.html
+++ b/web/html/xui/form/outbound.html
@@ -474,8 +474,8 @@
-
-
+
+
diff --git a/web/html/xui/form/stream/stream_sockopt.html b/web/html/xui/form/stream/stream_sockopt.html
index c08074ee..9eea55ea 100644
--- a/web/html/xui/form/stream/stream_sockopt.html
+++ b/web/html/xui/form/stream/stream_sockopt.html
@@ -32,8 +32,8 @@
-
-
+
+
diff --git a/web/html/xui/settings.html b/web/html/xui/settings.html
index 0c70ca1c..2c8515e2 100644
--- a/web/html/xui/settings.html
+++ b/web/html/xui/settings.html
@@ -439,7 +439,7 @@
sockopt: {
tcpKeepAliveIdle: 100,
tcpMptcp: true,
- tcpNoDelay: true
+ penetrate: true
}
}
},