1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-11-10 06:16:53 -05:00
v2fly/proxy/shadowsocks/simplified/config.go

52 lines
1.5 KiB
Go
Raw Normal View History

package simplified
import (
"context"
"github.com/v2fly/v2ray-core/v5/common"
"github.com/v2fly/v2ray-core/v5/common/protocol"
"github.com/v2fly/v2ray-core/v5/common/serial"
"github.com/v2fly/v2ray-core/v5/proxy/shadowsocks"
)
func init() {
common.Must(common.RegisterConfig((*ServerConfig)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
simplifiedServer := config.(*ServerConfig)
fullServer := &shadowsocks.ServerConfig{
User: &protocol.User{
Account: serial.ToTypedMessage(&shadowsocks.Account{
Password: simplifiedServer.Password,
CipherType: simplifiedServer.Method,
}),
},
Network: simplifiedServer.Networks.GetNetwork(),
PacketEncoding: simplifiedServer.PacketEncoding,
}
return common.CreateObject(ctx, fullServer)
}))
common.Must(common.RegisterConfig((*ClientConfig)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
simplifiedClient := config.(*ClientConfig)
fullClient := &shadowsocks.ClientConfig{
Server: []*protocol.ServerEndpoint{
{
Address: simplifiedClient.Address,
Port: simplifiedClient.Port,
User: []*protocol.User{
{
Account: serial.ToTypedMessage(&shadowsocks.Account{
Password: simplifiedClient.Password,
CipherType: simplifiedClient.Method,
ExperimentReducedIvHeadEntropy: simplifiedClient.ExperimentReducedIvHeadEntropy,
}),
},
},
},
},
}
return common.CreateObject(ctx, fullClient)
}))
}