签入脚本
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
package ua
|
||||
|
||||
import "strings"
|
||||
|
||||
// ============================== User-Agent 解析 ==============================
|
||||
|
||||
// ParseOS 从 User-Agent 解析操作系统
|
||||
//
|
||||
// 供操作日志与登录日志记录使用,无法识别时返回 Unknown
|
||||
func ParseOS(userAgent string) string {
|
||||
ua := strings.ToLower(userAgent)
|
||||
switch {
|
||||
case strings.Contains(ua, "windows nt 10"):
|
||||
return "Windows 10/11"
|
||||
case strings.Contains(ua, "windows nt"):
|
||||
return "Windows"
|
||||
case strings.Contains(ua, "iphone"), strings.Contains(ua, "ipad"):
|
||||
return "iOS"
|
||||
case strings.Contains(ua, "android"):
|
||||
return "Android"
|
||||
case strings.Contains(ua, "mac os x"), strings.Contains(ua, "macintosh"):
|
||||
return "macOS"
|
||||
case strings.Contains(ua, "linux"):
|
||||
return "Linux"
|
||||
}
|
||||
return "Unknown"
|
||||
}
|
||||
|
||||
// ParseBrowser 从 User-Agent 解析浏览器
|
||||
//
|
||||
// 供操作日志与登录日志记录使用,无法识别时返回 Unknown
|
||||
func ParseBrowser(userAgent string) string {
|
||||
ua := userAgent
|
||||
switch {
|
||||
case strings.Contains(ua, "Edg/"), strings.Contains(ua, "Edge/"):
|
||||
return "Edge"
|
||||
case strings.Contains(ua, "OPR/"), strings.Contains(ua, "Opera"):
|
||||
return "Opera"
|
||||
case strings.Contains(ua, "Firefox/"):
|
||||
return "Firefox"
|
||||
case strings.Contains(ua, "Chrome/"), strings.Contains(ua, "CriOS"):
|
||||
return "Chrome"
|
||||
case strings.Contains(ua, "Safari/"):
|
||||
return "Safari"
|
||||
case strings.Contains(ua, "curl/"):
|
||||
return "curl"
|
||||
}
|
||||
return "Unknown"
|
||||
}
|
||||
Reference in New Issue
Block a user