server/pkg/adapter/singbox/singbox_test.go

81 lines
1.5 KiB
Go

package singbox
import (
"testing"
"github.com/perfect-panel/server/pkg/adapter/proxy"
"github.com/stretchr/testify/assert"
)
func createSS() proxy.Proxy {
c := proxy.Shadowsocks{
Method: "aes-256-gcm",
Port: 10301,
ServerKey: "",
}
return proxy.Proxy{
Name: "Shadowsocks",
Server: "127.0.0.1",
Port: 10301,
Protocol: "shadowsocks",
Option: c,
}
}
func createVLESS() proxy.Proxy {
c := proxy.Vless{
Port: 10301,
Flow: "xtls-rprx-direct",
Transport: "websocket",
TransportConfig: proxy.TransportConfig{
Path: "/ws",
Host: "baidu.com",
},
Security: "tls",
SecurityConfig: proxy.SecurityConfig{
SNI: "baidu.com",
Fingerprint: "chrome",
AllowInsecure: true,
},
}
s := proxy.Proxy{
Name: "VLESS",
Server: "test.xxx.com",
Port: 10301,
Protocol: "vless",
Option: c,
}
return s
}
func TestSingboxShadowsocks(t *testing.T) {
s := createSS()
p, err := ParseShadowsocks(s, "uuid")
if err != nil {
t.Fatal(err)
}
data, err := p.MarshalJSON()
if err != nil {
t.Fatal(err)
}
assert.NotEqual(t, 0, len(data))
// Output:
// proxy: proxy: {"tag":"Shadowsocks","type":"shadowsocks","server":"127.0.0.1","server_port":10301,"method":"aes-256-gcm","password":"uuid","network":"tcp"}
}
func TestSingboxVless(t *testing.T) {
s := createVLESS()
p, err := ParseVless(s, "uuid")
if err != nil {
t.Fatal(err)
}
data, err := p.MarshalJSON()
if err != nil {
t.Fatal(err)
}
assert.NotEqual(t, 0, len(data))
}