tcpNoDelay to penetrate

This commit is contained in:
mhsanaei 2025-01-01 18:42:50 +01:00
parent 26a7700557
commit 9bc5c1d070
No known key found for this signature in database
GPG Key ID: D875CD086CF668A0
6 changed files with 16 additions and 16 deletions

View File

@ -21,7 +21,7 @@ type SubJsonService struct {
configJson map[string]interface{} configJson map[string]interface{}
defaultOutbounds []json_util.RawMessage defaultOutbounds []json_util.RawMessage
fragment string fragment string
noises string noises string
mux string mux string
inboundService service.InboundService inboundService service.InboundService
@ -61,7 +61,7 @@ func NewSubJsonService(fragment string, noises string, mux string, rules string,
configJson: configJson, configJson: configJson,
defaultOutbounds: defaultOutbounds, defaultOutbounds: defaultOutbounds,
fragment: fragment, fragment: fragment,
noises: noises, noises: noises,
mux: mux, mux: mux,
SubService: subService, SubService: subService,
} }
@ -217,7 +217,7 @@ func (s *SubJsonService) streamData(stream string) map[string]interface{} {
delete(streamSettings, "sockopt") delete(streamSettings, "sockopt")
if s.fragment != "" { 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 // remove proxy protocol

View File

@ -816,7 +816,7 @@ class SockoptStreamSettings extends XrayCommonClass {
mark = 0, mark = 0,
tproxy = "off", tproxy = "off",
tcpMptcp = false, tcpMptcp = false,
tcpNoDelay = false, penetrate = false,
domainStrategy = DOMAIN_STRATEGY_OPTION.USE_IP, domainStrategy = DOMAIN_STRATEGY_OPTION.USE_IP,
tcpMaxSeg = 1440, tcpMaxSeg = 1440,
dialerProxy = "", dialerProxy = "",
@ -834,7 +834,7 @@ class SockoptStreamSettings extends XrayCommonClass {
this.mark = mark; this.mark = mark;
this.tproxy = tproxy; this.tproxy = tproxy;
this.tcpMptcp = tcpMptcp; this.tcpMptcp = tcpMptcp;
this.tcpNoDelay = tcpNoDelay; this.penetrate = penetrate;
this.domainStrategy = domainStrategy; this.domainStrategy = domainStrategy;
this.tcpMaxSeg = tcpMaxSeg; this.tcpMaxSeg = tcpMaxSeg;
this.dialerProxy = dialerProxy; this.dialerProxy = dialerProxy;
@ -855,7 +855,7 @@ class SockoptStreamSettings extends XrayCommonClass {
json.mark, json.mark,
json.tproxy, json.tproxy,
json.tcpMptcp, json.tcpMptcp,
json.tcpNoDelay, json.penetrate,
json.domainStrategy, json.domainStrategy,
json.tcpMaxSeg, json.tcpMaxSeg,
json.dialerProxy, json.dialerProxy,
@ -876,7 +876,7 @@ class SockoptStreamSettings extends XrayCommonClass {
mark: this.mark, mark: this.mark,
tproxy: this.tproxy, tproxy: this.tproxy,
tcpMptcp: this.tcpMptcp, tcpMptcp: this.tcpMptcp,
tcpNoDelay: this.tcpNoDelay, penetrate: this.penetrate,
domainStrategy: this.domainStrategy, domainStrategy: this.domainStrategy,
tcpMaxSeg: this.tcpMaxSeg, tcpMaxSeg: this.tcpMaxSeg,
dialerProxy: this.dialerProxy, dialerProxy: this.dialerProxy,

View File

@ -411,14 +411,14 @@ class SockoptStreamSettings extends CommonClass {
tcpFastOpen = false, tcpFastOpen = false,
tcpKeepAliveInterval = 0, tcpKeepAliveInterval = 0,
tcpMptcp = false, tcpMptcp = false,
tcpNoDelay = false penetrate = false
) { ) {
super(); super();
this.dialerProxy = dialerProxy; this.dialerProxy = dialerProxy;
this.tcpFastOpen = tcpFastOpen; this.tcpFastOpen = tcpFastOpen;
this.tcpKeepAliveInterval = tcpKeepAliveInterval; this.tcpKeepAliveInterval = tcpKeepAliveInterval;
this.tcpMptcp = tcpMptcp; this.tcpMptcp = tcpMptcp;
this.tcpNoDelay = tcpNoDelay; this.penetrate = penetrate;
} }
static fromJson(json = {}) { static fromJson(json = {}) {
@ -428,7 +428,7 @@ class SockoptStreamSettings extends CommonClass {
json.tcpFastOpen, json.tcpFastOpen,
json.tcpKeepAliveInterval, json.tcpKeepAliveInterval,
json.tcpMptcp, json.tcpMptcp,
json.tcpNoDelay, json.penetrate,
); );
} }
@ -438,7 +438,7 @@ class SockoptStreamSettings extends CommonClass {
tcpFastOpen: this.tcpFastOpen, tcpFastOpen: this.tcpFastOpen,
tcpKeepAliveInterval: this.tcpKeepAliveInterval, tcpKeepAliveInterval: this.tcpKeepAliveInterval,
tcpMptcp: this.tcpMptcp, tcpMptcp: this.tcpMptcp,
tcpNoDelay: this.tcpNoDelay, penetrate: this.penetrate,
}; };
} }
} }

View File

@ -474,8 +474,8 @@
<a-form-item label="Multipath TCP"> <a-form-item label="Multipath TCP">
<a-switch v-model.trim="outbound.stream.sockopt.tcpMptcp"></a-switch> <a-switch v-model.trim="outbound.stream.sockopt.tcpMptcp"></a-switch>
</a-form-item> </a-form-item>
<a-form-item label="TCP No-Delay" v-if="outbound.stream.sockopt.tcpMptcp"> <a-form-item label="Penetrate">
<a-switch v-model="outbound.stream.sockopt.tcpNoDelay"></a-switch> <a-switch v-model="outbound.stream.sockopt.penetrate"></a-switch>
</a-form-item> </a-form-item>
</template> </template>

View File

@ -32,8 +32,8 @@
<a-form-item label="Multipath TCP"> <a-form-item label="Multipath TCP">
<a-switch v-model.trim="inbound.stream.sockopt.tcpMptcp"></a-switch> <a-switch v-model.trim="inbound.stream.sockopt.tcpMptcp"></a-switch>
</a-form-item> </a-form-item>
<a-form-item label="TCP No-Delay" v-if="inbound.stream.sockopt.tcpMptcp"> <a-form-item label="Penetrate">
<a-switch v-model.trim="inbound.stream.sockopt.tcpNoDelay"></a-switch> <a-switch v-model.trim="inbound.stream.sockopt.penetrate"></a-switch>
</a-form-item> </a-form-item>
<a-form-item label="V6 Only"> <a-form-item label="V6 Only">
<a-switch v-model.trim="inbound.stream.sockopt.V6Only"></a-switch> <a-switch v-model.trim="inbound.stream.sockopt.V6Only"></a-switch>

View File

@ -439,7 +439,7 @@
sockopt: { sockopt: {
tcpKeepAliveIdle: 100, tcpKeepAliveIdle: 100,
tcpMptcp: true, tcpMptcp: true,
tcpNoDelay: true penetrate: true
} }
} }
}, },