1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-06 03:54:22 -04:00
v2fly/proxy/trojan/simplified/config.go

47 lines
1.3 KiB
Go
Raw Normal View History

2021-09-05 11:16:36 -04:00
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/trojan"
2021-09-05 11:16:36 -04:00
)
func init() {
common.Must(common.RegisterConfig((*ServerConfig)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
simplifiedServer := config.(*ServerConfig)
fullServer := &trojan.ServerConfig{
Users: func() (users []*protocol.User) {
for _, v := range simplifiedServer.Users {
account := &trojan.Account{Password: v}
users = append(users, &protocol.User{
Account: serial.ToTypedMessage(account),
})
}
return
}(),
}
2021-09-06 01:00:49 -04:00
return common.CreateObject(ctx, fullServer)
2021-09-05 11:16:36 -04:00
}))
common.Must(common.RegisterConfig((*ClientConfig)(nil), func(ctx context.Context, config interface{}) (interface{}, error) {
simplifiedClient := config.(*ClientConfig)
2021-11-27 01:32:07 -05:00
fullClient := &trojan.ClientConfig{
Server: []*protocol.ServerEndpoint{
{
Address: simplifiedClient.Address,
Port: simplifiedClient.Port,
User: []*protocol.User{
{
Account: serial.ToTypedMessage(&trojan.Account{Password: simplifiedClient.Password}),
},
2021-09-05 11:16:36 -04:00
},
},
},
}
2021-09-06 01:00:49 -04:00
return common.CreateObject(ctx, fullClient)
2021-09-05 11:16:36 -04:00
}))
}