mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2025-03-01 01:20:49 +03:00
tcpNoDelay to penetrate
This commit is contained in:
parent
26a7700557
commit
9bc5c1d070
@ -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
|
||||||
|
@ -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,
|
||||||
|
@ -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,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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>
|
||||||
|
|
||||||
|
@ -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>
|
||||||
|
@ -439,7 +439,7 @@
|
|||||||
sockopt: {
|
sockopt: {
|
||||||
tcpKeepAliveIdle: 100,
|
tcpKeepAliveIdle: 100,
|
||||||
tcpMptcp: true,
|
tcpMptcp: true,
|
||||||
tcpNoDelay: true
|
penetrate: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user