mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-11-24 17:41:28 +00:00
0ac7da2fc8
* feat: wireguard inbound * feat(command): generate wireguard compatible keypair * feat(wireguard): connection idle timeout * fix(wireguard): close endpoint after connection closed * fix(wireguard): resolve conflicts * feat(wireguard): set cubic as default cc algorithm in gVisor TUN * chore(wireguard): resolve conflict * chore(wireguard): remove redurant code * chore(wireguard): remove redurant code * feat: rework server for gvisor tun * feat: keep user-space tun as an option * fix: exclude android from native tun build * feat: auto kernel tun * fix: build * fix: regulate function name & fix test
53 lines
1.4 KiB
Go
53 lines
1.4 KiB
Go
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,
|
|
},
|
|
},
|
|
})
|
|
}
|