123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- 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/vmess"
- "github.com/xtls/xray-core/proxy/vmess/inbound"
- "github.com/xtls/xray-core/proxy/vmess/outbound"
- )
- func TestVMessOutbound(t *testing.T) {
- creator := func() Buildable {
- return new(VMessOutboundConfig)
- }
- runMultiTestCase(t, []TestCase{
- {
- Input: `{
- "vnext": [{
- "address": "127.0.0.1",
- "port": 80,
- "users": [
- {
- "id": "e641f5ad-9397-41e3-bf1a-e8740dfed019",
- "email": "[email protected]",
- "level": 255
- }
- ]
- }]
- }`,
- Parser: loadJSON(creator),
- Output: &outbound.Config{
- Receiver: []*protocol.ServerEndpoint{
- {
- Address: &net.IPOrDomain{
- Address: &net.IPOrDomain_Ip{
- Ip: []byte{127, 0, 0, 1},
- },
- },
- Port: 80,
- User: []*protocol.User{
- {
- Email: "[email protected]",
- Level: 255,
- Account: serial.ToTypedMessage(&vmess.Account{
- Id: "e641f5ad-9397-41e3-bf1a-e8740dfed019",
- AlterId: 0,
- SecuritySettings: &protocol.SecurityConfig{
- Type: protocol.SecurityType_AUTO,
- },
- }),
- },
- },
- },
- },
- },
- },
- })
- }
- func TestVMessInbound(t *testing.T) {
- creator := func() Buildable {
- return new(VMessInboundConfig)
- }
- runMultiTestCase(t, []TestCase{
- {
- Input: `{
- "clients": [
- {
- "id": "27848739-7e62-4138-9fd3-098a63964b6b",
- "level": 0,
- "alterId": 16,
- "email": "[email protected]",
- "security": "aes-128-gcm"
- }
- ],
- "default": {
- "level": 0,
- "alterId": 32
- },
- "detour": {
- "to": "tag_to_detour"
- },
- "disableInsecureEncryption": true
- }`,
- Parser: loadJSON(creator),
- Output: &inbound.Config{
- User: []*protocol.User{
- {
- Level: 0,
- Email: "[email protected]",
- Account: serial.ToTypedMessage(&vmess.Account{
- Id: "27848739-7e62-4138-9fd3-098a63964b6b",
- AlterId: 16,
- SecuritySettings: &protocol.SecurityConfig{
- Type: protocol.SecurityType_AES128_GCM,
- },
- }),
- },
- },
- Default: &inbound.DefaultConfig{
- Level: 0,
- AlterId: 32,
- },
- Detour: &inbound.DetourConfig{
- To: "tag_to_detour",
- },
- SecureEncryptionOnly: true,
- },
- },
- })
- }
|