Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alist-org
GitHub Repository: alist-org/alist
Path: blob/main/pkg/utils/mask.go
1560 views
1
package utils
2
3
import "strings"
4
5
// MaskIP anonymizes middle segments of an IP address.
6
func MaskIP(ip string) string {
7
if ip == "" {
8
return ""
9
}
10
if strings.Contains(ip, ":") {
11
parts := strings.Split(ip, ":")
12
if len(parts) > 2 {
13
for i := 1; i < len(parts)-1; i++ {
14
if parts[i] != "" {
15
parts[i] = "*"
16
}
17
}
18
return strings.Join(parts, ":")
19
}
20
return ip
21
}
22
parts := strings.Split(ip, ".")
23
if len(parts) == 4 {
24
for i := 1; i < len(parts)-1; i++ {
25
parts[i] = "*"
26
}
27
return strings.Join(parts, ".")
28
}
29
return ip
30
}
31
32