| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- package main
 
- import (
 
- 	"net/netip"
 
- 	"testing"
 
- 	C "github.com/sagernet/sing-box/constant"
 
- 	"github.com/sagernet/sing-box/option"
 
- 	"github.com/sagernet/sing-shadowsocks/shadowaead"
 
- 	"github.com/sagernet/sing/common"
 
- 	"github.com/sagernet/sing/common/json/badoption"
 
- )
 
- func TestTCPSlowOpen(t *testing.T) {
 
- 	method := shadowaead.List[0]
 
- 	password := mkBase64(t, 16)
 
- 	startInstance(t, option.Options{
 
- 		Inbounds: []option.Inbound{
 
- 			{
 
- 				Type: C.TypeMixed,
 
- 				Tag:  "mixed-in",
 
- 				Options: &option.HTTPMixedInboundOptions{
 
- 					ListenOptions: option.ListenOptions{
 
- 						Listen:     common.Ptr(badoption.Addr(netip.IPv4Unspecified())),
 
- 						ListenPort: clientPort,
 
- 					},
 
- 				},
 
- 			},
 
- 			{
 
- 				Type: C.TypeShadowsocks,
 
- 				Options: &option.ShadowsocksInboundOptions{
 
- 					ListenOptions: option.ListenOptions{
 
- 						Listen:      common.Ptr(badoption.Addr(netip.IPv4Unspecified())),
 
- 						ListenPort:  serverPort,
 
- 						TCPFastOpen: true,
 
- 					},
 
- 					Method:   method,
 
- 					Password: password,
 
- 				},
 
- 			},
 
- 		},
 
- 		Outbounds: []option.Outbound{
 
- 			{
 
- 				Type: C.TypeDirect,
 
- 			},
 
- 			{
 
- 				Type: C.TypeShadowsocks,
 
- 				Tag:  "ss-out",
 
- 				Options: &option.ShadowsocksOutboundOptions{
 
- 					ServerOptions: option.ServerOptions{
 
- 						Server:     "127.0.0.1",
 
- 						ServerPort: serverPort,
 
- 					},
 
- 					DialerOptions: option.DialerOptions{
 
- 						TCPFastOpen: true,
 
- 					},
 
- 					Method:   method,
 
- 					Password: password,
 
- 				},
 
- 			},
 
- 		},
 
- 		Route: &option.RouteOptions{
 
- 			Rules: []option.Rule{
 
- 				{
 
- 					Type: C.RuleTypeDefault,
 
- 					DefaultOptions: option.DefaultRule{
 
- 						RawDefaultRule: option.RawDefaultRule{
 
- 							Inbound: []string{"mixed-in"},
 
- 						},
 
- 						RuleAction: option.RuleAction{
 
- 							Action: C.RuleActionTypeRoute,
 
- 							RouteOptions: option.RouteActionOptions{
 
- 								Outbound: "ss-out",
 
- 							},
 
- 						},
 
- 					},
 
- 				},
 
- 			},
 
- 		},
 
- 	})
 
- 	testSuit(t, clientPort, testPort)
 
- }
 
 
  |