mirror of https://github.com/XTLS/Xray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.4 KiB
52 lines
1.4 KiB
package conf_test |
|
|
|
import ( |
|
"testing" |
|
|
|
. "github.com/xtls/xray-core/infra/conf" |
|
"github.com/xtls/xray-core/proxy/wireguard" |
|
) |
|
|
|
func TestWireGuardConfig(t *testing.T) { |
|
creator := func() Buildable { |
|
return new(WireGuardConfig) |
|
} |
|
|
|
runMultiTestCase(t, []TestCase{ |
|
{ |
|
Input: `{ |
|
"secretKey": "uJv5tZMDltsiYEn+kUwb0Ll/CXWhMkaSCWWhfPEZM3A=", |
|
"address": ["10.1.1.1", "fd59:7153:2388:b5fd:0000:0000:1234:0001"], |
|
"peers": [ |
|
{ |
|
"publicKey": "6e65ce0be17517110c17d77288ad87e7fd5252dcc7d09b95a39d61db03df832a", |
|
"endpoint": "127.0.0.1:1234" |
|
} |
|
], |
|
"mtu": 1300, |
|
"workers": 2, |
|
"domainStrategy": "ForceIPv6v4", |
|
"kernelMode": false |
|
}`, |
|
Parser: loadJSON(creator), |
|
Output: &wireguard.DeviceConfig{ |
|
// key converted into hex form |
|
SecretKey: "b89bf9b5930396db226049fe914c1bd0b97f0975a13246920965a17cf1193370", |
|
Endpoint: []string{"10.1.1.1", "fd59:7153:2388:b5fd:0000:0000:1234:0001"}, |
|
Peers: []*wireguard.PeerConfig{ |
|
{ |
|
// also can read from hex form directly |
|
PublicKey: "6e65ce0be17517110c17d77288ad87e7fd5252dcc7d09b95a39d61db03df832a", |
|
Endpoint: "127.0.0.1:1234", |
|
KeepAlive: 0, |
|
AllowedIps: []string{"0.0.0.0/0", "::0/0"}, |
|
}, |
|
}, |
|
Mtu: 1300, |
|
NumWorkers: 2, |
|
DomainStrategy: wireguard.DeviceConfig_FORCE_IP64, |
|
KernelMode: false, |
|
}, |
|
}, |
|
}) |
|
}
|
|
|