1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- package conf_test
- import (
- "testing"
- "github.com/xtls/xray-core/common/net"
- "github.com/xtls/xray-core/common/protocol"
- "github.com/xtls/xray-core/common/serial"
- . "github.com/xtls/xray-core/infra/conf"
- "github.com/xtls/xray-core/proxy/socks"
- )
- func TestSocksInboundConfig(t *testing.T) {
- creator := func() Buildable {
- return new(SocksServerConfig)
- }
- runMultiTestCase(t, []TestCase{
- {
- Input: `{
- "auth": "password",
- "accounts": [
- {
- "user": "my-username",
- "pass": "my-password"
- }
- ],
- "udp": false,
- "ip": "127.0.0.1",
- "timeout": 5,
- "userLevel": 1
- }`,
- Parser: loadJSON(creator),
- Output: &socks.ServerConfig{
- AuthType: socks.AuthType_PASSWORD,
- Accounts: map[string]string{
- "my-username": "my-password",
- },
- UdpEnabled: false,
- Address: &net.IPOrDomain{
- Address: &net.IPOrDomain_Ip{
- Ip: []byte{127, 0, 0, 1},
- },
- },
- Timeout: 5,
- UserLevel: 1,
- },
- },
- })
- }
- func TestSocksOutboundConfig(t *testing.T) {
- creator := func() Buildable {
- return new(SocksClientConfig)
- }
- runMultiTestCase(t, []TestCase{
- {
- Input: `{
- "servers": [{
- "address": "127.0.0.1",
- "port": 1234,
- "users": [
- {"user": "test user", "pass": "test pass", "email": "[email protected]"}
- ]
- }]
- }`,
- Parser: loadJSON(creator),
- Output: &socks.ClientConfig{
- Server: []*protocol.ServerEndpoint{
- {
- Address: &net.IPOrDomain{
- Address: &net.IPOrDomain_Ip{
- Ip: []byte{127, 0, 0, 1},
- },
- },
- Port: 1234,
- User: []*protocol.User{
- {
- Email: "[email protected]",
- Account: serial.ToTypedMessage(&socks.Account{
- Username: "test user",
- Password: "test pass",
- }),
- },
- },
- },
- },
- },
- },
- })
- }
|