mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-12-07 18:30:25 +08:00
修复集群启用“允许使用节点IP访问”时无法访问IPv6的问题
This commit is contained in:
@@ -1,51 +1,65 @@
|
||||
package utils
|
||||
package utils_test
|
||||
|
||||
import (
|
||||
"github.com/TeaOSLab/EdgeNode/internal/utils"
|
||||
"github.com/iwind/TeaGo/assert"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestIP2Long(t *testing.T) {
|
||||
t.Log(IP2Long("0.0.0.0"))
|
||||
t.Log(IP2Long("1.0.0.0"))
|
||||
t.Log(IP2Long("0.0.0.0.0"))
|
||||
t.Log(IP2Long("2001:db8:0:1::101"))
|
||||
t.Log(IP2Long("2001:db8:0:1::102"))
|
||||
t.Log(IP2Long("::1"))
|
||||
t.Log(utils.IP2Long("0.0.0.0"))
|
||||
t.Log(utils.IP2Long("1.0.0.0"))
|
||||
t.Log(utils.IP2Long("0.0.0.0.0"))
|
||||
t.Log(utils.IP2Long("2001:db8:0:1::101"))
|
||||
t.Log(utils.IP2Long("2001:db8:0:1::102"))
|
||||
t.Log(utils.IP2Long("::1"))
|
||||
}
|
||||
|
||||
func TestIsLocalIP(t *testing.T) {
|
||||
var a = assert.NewAssertion(t)
|
||||
a.IsFalse(IsLocalIP("a"))
|
||||
a.IsFalse(IsLocalIP("1.2.3"))
|
||||
a.IsTrue(IsLocalIP("127.0.0.1"))
|
||||
a.IsTrue(IsLocalIP("192.168.0.1"))
|
||||
a.IsTrue(IsLocalIP("10.0.0.1"))
|
||||
a.IsTrue(IsLocalIP("172.16.0.1"))
|
||||
a.IsTrue(IsLocalIP("::1"))
|
||||
a.IsFalse(IsLocalIP("::1:2:3"))
|
||||
a.IsFalse(IsLocalIP("8.8.8.8"))
|
||||
a.IsFalse(utils.IsLocalIP("a"))
|
||||
a.IsFalse(utils.IsLocalIP("1.2.3"))
|
||||
a.IsTrue(utils.IsLocalIP("127.0.0.1"))
|
||||
a.IsTrue(utils.IsLocalIP("192.168.0.1"))
|
||||
a.IsTrue(utils.IsLocalIP("10.0.0.1"))
|
||||
a.IsTrue(utils.IsLocalIP("172.16.0.1"))
|
||||
a.IsTrue(utils.IsLocalIP("::1"))
|
||||
a.IsFalse(utils.IsLocalIP("::1:2:3"))
|
||||
a.IsFalse(utils.IsLocalIP("8.8.8.8"))
|
||||
}
|
||||
|
||||
func TestIsIPv4(t *testing.T) {
|
||||
var a = assert.NewAssertion(t)
|
||||
a.IsTrue(IsIPv4("192.168.1.1"))
|
||||
a.IsTrue(IsIPv4("0.0.0.0"))
|
||||
a.IsFalse(IsIPv4("192.168.1.256"))
|
||||
a.IsFalse(IsIPv4("192.168.1"))
|
||||
a.IsFalse(IsIPv4("::1"))
|
||||
a.IsFalse(IsIPv4("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
|
||||
a.IsFalse(IsIPv4("::ffff:192.168.0.1"))
|
||||
a.IsTrue(utils.IsIPv4("192.168.1.1"))
|
||||
a.IsTrue(utils.IsIPv4("0.0.0.0"))
|
||||
a.IsFalse(utils.IsIPv4("192.168.1.256"))
|
||||
a.IsFalse(utils.IsIPv4("192.168.1"))
|
||||
a.IsFalse(utils.IsIPv4("::1"))
|
||||
a.IsFalse(utils.IsIPv4("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
|
||||
a.IsFalse(utils.IsIPv4("::ffff:192.168.0.1"))
|
||||
}
|
||||
|
||||
func TestIsIPv6(t *testing.T) {
|
||||
var a = assert.NewAssertion(t)
|
||||
a.IsFalse(IsIPv6("192.168.1.1"))
|
||||
a.IsFloat32(IsIPv6("0.0.0.0"))
|
||||
a.IsFalse(IsIPv6("192.168.1.256"))
|
||||
a.IsFalse(IsIPv6("192.168.1"))
|
||||
a.IsTrue(IsIPv6("::1"))
|
||||
a.IsTrue(IsIPv6("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
|
||||
a.IsTrue(IsIPv4("::ffff:192.168.0.1"))
|
||||
a.IsTrue(IsIPv6("::ffff:192.168.0.1"))
|
||||
a.IsFalse(utils.IsIPv6("192.168.1.1"))
|
||||
a.IsFloat32(utils.IsIPv6("0.0.0.0"))
|
||||
a.IsFalse(utils.IsIPv6("192.168.1.256"))
|
||||
a.IsFalse(utils.IsIPv6("192.168.1"))
|
||||
a.IsTrue(utils.IsIPv6("::1"))
|
||||
a.IsTrue(utils.IsIPv6("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
|
||||
a.IsTrue(utils.IsIPv4("::ffff:192.168.0.1"))
|
||||
a.IsTrue(utils.IsIPv6("::ffff:192.168.0.1"))
|
||||
}
|
||||
|
||||
func TestIsWildIP(t *testing.T) {
|
||||
var a = assert.NewAssertion(t)
|
||||
a.IsTrue(utils.IsWildIP("192.168.1.100"))
|
||||
a.IsTrue(utils.IsWildIP("::1"))
|
||||
a.IsTrue(utils.IsWildIP("2001:0db8:85a3:0000:0000:8a2e:0370:7334"))
|
||||
a.IsTrue(utils.IsWildIP("[2001:0db8:85a3:0000:0000:8a2e:0370:7334]"))
|
||||
a.IsFalse(utils.IsWildIP(""))
|
||||
a.IsFalse(utils.IsWildIP("[]"))
|
||||
a.IsFalse(utils.IsWildIP("[1]"))
|
||||
a.IsFalse(utils.IsWildIP("192.168.2.256"))
|
||||
a.IsFalse(utils.IsWildIP("192.168.2"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user