refactor: Modular outbounds

This commit is contained in:
世界
2024-11-02 00:39:02 +08:00
parent e537c56b6b
commit 0b2c7ec35c
99 changed files with 1004 additions and 1022 deletions

View File

@@ -46,7 +46,7 @@ func TestBrutalShadowsocks(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -138,7 +138,7 @@ func TestBrutalTrojan(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -227,7 +227,7 @@ func TestBrutalVMess(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -326,7 +326,7 @@ func TestBrutalVLESS(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -33,7 +33,7 @@ func _TestProxyProtocol(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -49,7 +49,7 @@ func TestTUICDomainUDP(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -55,7 +55,7 @@ func TestECH(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -145,7 +145,7 @@ func TestECHQUIC(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -235,7 +235,7 @@ func TestECHHysteria2(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -31,7 +31,7 @@ func TestHTTPSelf(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -63,7 +63,7 @@ func testHysteria2Self(t *testing.T, salamanderPassword string) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -178,7 +178,7 @@ func TestHysteria2Outbound(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeHysteria2,
Hysteria2Options: option.Hysteria2OutboundOptions{

View File

@@ -46,7 +46,7 @@ func TestHysteriaSelf(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -160,7 +160,7 @@ func TestHysteriaOutbound(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeHysteria,
HysteriaOptions: option.HysteriaOutboundOptions{

View File

@@ -49,7 +49,7 @@ func TestChainedInbound(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -92,7 +92,7 @@ func TestMuxCoolClient(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeVMess,
VMessOptions: option.VMessOutboundOptions{
@@ -139,7 +139,7 @@ func TestMuxCoolSelf(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -81,7 +81,7 @@ func testShadowsocksMux(t *testing.T, options option.OutboundMultiplexOptions) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -154,7 +154,7 @@ func testVMessMux(t *testing.T, options option.OutboundMultiplexOptions) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -35,7 +35,7 @@ func testShadowsocksLegacy(t *testing.T, method string) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeShadowsocks,
ShadowsocksOptions: option.ShadowsocksOutboundOptions{

View File

@@ -135,7 +135,7 @@ func testShadowsocksOutboundWithShadowsocksRust(t *testing.T, method string, pas
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeShadowsocks,
ShadowsocksOptions: option.ShadowsocksOutboundOptions{
@@ -177,7 +177,7 @@ func testShadowsocksSelf(t *testing.T, method string, password string) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -244,7 +244,7 @@ func TestShadowsocksUoT(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -317,7 +317,7 @@ func testShadowsocks2022EIH(t *testing.T, method string, password string) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -80,7 +80,7 @@ func testShadowTLS(t *testing.T, version int, password string, utlsEanbled bool)
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeShadowsocks,
ShadowsocksOptions: option.ShadowsocksOutboundOptions{
@@ -232,7 +232,7 @@ func TestShadowTLSInbound(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -306,7 +306,7 @@ func TestShadowTLSOutbound(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeShadowsocks,
ShadowsocksOptions: option.ShadowsocksOutboundOptions{

View File

@@ -44,7 +44,7 @@ func testShadowsocksPlugin(t *testing.T, name string, opts string, args string)
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeShadowsocks,
ShadowsocksOptions: option.ShadowsocksOutboundOptions{

View File

@@ -37,7 +37,7 @@ func TestTCPSlowOpen(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -46,7 +46,7 @@ func TestUTLS(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -31,7 +31,7 @@ func TestTrojanOutbound(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeTrojan,
TrojanOptions: option.TrojanOutboundOptions{
@@ -92,7 +92,7 @@ func TestTrojanSelf(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -167,7 +167,7 @@ func TestTrojanPlainSelf(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -62,7 +62,7 @@ func testTUICSelf(t *testing.T, udpStream bool, zeroRTTHandshake bool) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -171,7 +171,7 @@ func TestTUICOutbound(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeTUIC,
TUICOptions: option.TUICOutboundOptions{

View File

@@ -26,7 +26,7 @@ func TestV2RayAPI(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
Tag: "out",

View File

@@ -138,7 +138,7 @@ func testV2RayGRPCOutbound(t *testing.T, forceLite bool) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeVMess,
Tag: "vmess-out",

View File

@@ -80,7 +80,7 @@ func testVMessTransportSelf(t *testing.T, server *option.V2RayTransportOptions,
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -169,7 +169,7 @@ func testTrojanTransportSelf(t *testing.T, server *option.V2RayTransportOptions,
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -260,7 +260,7 @@ func TestVMessQUICSelf(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},
@@ -340,7 +340,7 @@ func testV2RayTransportNOTLSSelf(t *testing.T, transport *option.V2RayTransportO
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -170,7 +170,7 @@ func testV2RayWebsocketOutbound(t *testing.T, maxEarlyData uint32, earlyDataHead
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeVMess,
Tag: "vmess-out",

View File

@@ -240,7 +240,7 @@ func testVMessOutboundWithV2Ray(t *testing.T, security string, globalPadding boo
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeVMess,
VMessOptions: option.VMessOutboundOptions{
@@ -291,7 +291,7 @@ func testVMessSelf(t *testing.T, security string, alterId int, globalPadding boo
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeDirect,
},

View File

@@ -32,7 +32,7 @@ func _TestWireGuard(t *testing.T) {
},
},
},
Outbounds: []option.Outbound{
LegacyOutbounds: []option.LegacyOutbound{
{
Type: C.TypeWireGuard,
WireGuardOptions: option.WireGuardOutboundOptions{