| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- 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",
- "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},
- },
- },
- 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",
- }),
- },
- },
- },
- },
- {
- Input: `{
- "address": "127.0.0.1",
- "port": 1234,
- "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",
- }),
- },
- },
- },
- },
- })
- }
|