| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- package v4_test
- import (
- "github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon"
- "github.com/v2fly/v2ray-core/v4/infra/conf/cfgcommon/testassist"
- "github.com/v2fly/v2ray-core/v4/infra/conf/v4"
- "testing"
- "github.com/v2fly/v2ray-core/v4/common/net"
- "github.com/v2fly/v2ray-core/v4/common/protocol"
- "github.com/v2fly/v2ray-core/v4/common/serial"
- "github.com/v2fly/v2ray-core/v4/proxy/vless"
- "github.com/v2fly/v2ray-core/v4/proxy/vless/inbound"
- "github.com/v2fly/v2ray-core/v4/proxy/vless/outbound"
- )
- func TestVLessOutbound(t *testing.T) {
- creator := func() cfgcommon.Buildable {
- return new(v4.VLessOutboundConfig)
- }
- testassist.RunMultiTestCase(t, []testassist.TestCase{
- {
- Input: `{
- "vnext": [{
- "address": "example.com",
- "port": 443,
- "users": [
- {
- "id": "27848739-7e62-4138-9fd3-098a63964b6b",
- "encryption": "none",
- "level": 0
- }
- ]
- }]
- }`,
- Parser: testassist.LoadJSON(creator),
- Output: &outbound.Config{
- Vnext: []*protocol.ServerEndpoint{
- {
- Address: &net.IPOrDomain{
- Address: &net.IPOrDomain_Domain{
- Domain: "example.com",
- },
- },
- Port: 443,
- User: []*protocol.User{
- {
- Account: serial.ToTypedMessage(&vless.Account{
- Id: "27848739-7e62-4138-9fd3-098a63964b6b",
- Encryption: "none",
- }),
- Level: 0,
- },
- },
- },
- },
- },
- },
- })
- }
- func TestVLessInbound(t *testing.T) {
- creator := func() cfgcommon.Buildable {
- return new(v4.VLessInboundConfig)
- }
- testassist.RunMultiTestCase(t, []testassist.TestCase{
- {
- Input: `{
- "clients": [
- {
- "id": "27848739-7e62-4138-9fd3-098a63964b6b",
- "level": 0,
- "email": "love@v2fly.org"
- }
- ],
- "decryption": "none",
- "fallbacks": [
- {
- "dest": 80
- },
- {
- "alpn": "h2",
- "dest": "@/dev/shm/domain.socket",
- "xver": 2
- },
- {
- "path": "/innerws",
- "dest": "serve-ws-none"
- }
- ]
- }`,
- Parser: testassist.LoadJSON(creator),
- Output: &inbound.Config{
- Clients: []*protocol.User{
- {
- Account: serial.ToTypedMessage(&vless.Account{
- Id: "27848739-7e62-4138-9fd3-098a63964b6b",
- }),
- Level: 0,
- Email: "love@v2fly.org",
- },
- },
- Decryption: "none",
- Fallbacks: []*inbound.Fallback{
- {
- Alpn: "",
- Path: "",
- Type: "tcp",
- Dest: "127.0.0.1:80",
- Xver: 0,
- },
- {
- Alpn: "h2",
- Path: "",
- Type: "unix",
- Dest: "@/dev/shm/domain.socket",
- Xver: 2,
- },
- {
- Alpn: "",
- Path: "/innerws",
- Type: "serve",
- Dest: "serve-ws-none",
- Xver: 0,
- },
- },
- },
- },
- })
- }
|