1
0
Fork 0
mirror of https://github.com/Ysurac/openmptcprouter-feeds.git synced 2025-03-09 15:40:03 +00:00

Merge pull request #349 from Ysurac/develop

sync
This commit is contained in:
suyuan 2023-08-31 11:40:04 +08:00 committed by GitHub
commit 1d85b33172
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 472 additions and 5 deletions

View file

@ -446,7 +446,7 @@ add_v2ray_redirect_rules() {
# This part need a rewrite
v2ray-rules -f
logger -t "v2ray" "v2ray-rules -l ${port} -L ${port} -s $OUTBOUND_SERVERS_V4 --rule-name def --src-default forward --dst-default forward --local-default forward"
#logger -t "v2ray" "v2ray-rules -l ${port} -L ${port} -s $OUTBOUND_SERVERS_V4 --rule-name def --src-default forward --dst-default forward --local-default forward"
commandline="-l ${port} -s $OUTBOUND_SERVERS_V4 --rule-name def --src-default forward --dst-default forward --local-default forward"
[ "$(uci -q get v2ray.main_transparent_proxy.redirect_udp)" = "1" ] && ([ "$(uci -q get v2ray.omrout.protocol)" = "vless" ] || [ "$(uci -q get v2ray.omrout.protocol)" = "vmess" ]) && commandline="$commandline -L ${port}"
v2ray-rules $commandline

View file

@ -2921,3 +2921,47 @@ index 5b03acb7e..ff62bc2fa 100644
}
var (
From c9306fdb1886424f186680acbc5f889319f2dadd Mon Sep 17 00:00:00 2001
From: Luo Chongjun <luochongjun@gl-inet.com>
Date: Thu, 3 Aug 2023 17:09:55 +0800
Subject: [PATCH] fix mptcp dial
---
transport/internet/system_dialer.go | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/transport/internet/system_dialer.go b/transport/internet/system_dialer.go
index 6d1ef739..a7ebf75c 100644
--- a/transport/internet/system_dialer.go
+++ b/transport/internet/system_dialer.go
@@ -77,14 +77,6 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne
dialer.Control = func(network, address string, c syscall.RawConn) error {
return c.Control(func(fd uintptr) {
if sockopt != nil {
- if dest.Network == net.Network_TCP && sockopt.Mptcp {
- if dialer.MultipathTCP() {
- newError("Dialer MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx))
- } else {
- newError("Dialer MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx))
- dialer.SetMultipathTCP(true) // 主动启用mptcp
- }
- }
if err := applyOutboundSocketOptions(network, address, fd, sockopt); err != nil {
newError("failed to apply socket options").Base(err).WriteToLog(session.ExportIDToError(ctx))
}
@@ -104,6 +96,15 @@ func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest ne
}
}
+ if sockopt != nil && dest.Network == net.Network_TCP && sockopt.Mptcp {
+ if dialer.MultipathTCP() {
+ newError("Dialer MultipathTCP is enable").WriteToLog(session.ExportIDToError(ctx))
+ } else {
+ newError("Dialer MultipathTCP is disable,we are enable it").WriteToLog(session.ExportIDToError(ctx))
+ dialer.SetMultipathTCP(true) // 主动启用mptcp
+ }
+ }
+
return dialer.DialContext(ctx, dest.Network.SystemString(), dest.NetAddr())
}