- Added LAN detection in geoip resolver
- Updated UI for LAN/loopback request origin rendering
This commit is contained in:
Toby Chui 2024-04-28 11:27:00 +08:00
parent e0f5431215
commit fc9240fbac
3 changed files with 13 additions and 1 deletions

View File

@ -83,6 +83,11 @@ func (s *Store) GetRequesterCountryISOCode(r *http.Request) string {
if ipAddr == "" {
return ""
}
if netutils.IsPrivateIP(ipAddr) {
return "LAN"
}
countryCode, err := s.ResolveCountryCodeFromIP(ipAddr)
if err != nil {
return ""

View File

@ -93,6 +93,10 @@ func MatchIpCIDR(ip string, cidr string) bool {
// Check if a ip is private IP range
func IsPrivateIP(ipStr string) bool {
if ipStr == "127.0.0.1" || ipStr == "::1" {
//local loopback
return true
}
ip := net.ParseIP(ipStr)
if ip == nil {
return false

View File

@ -765,8 +765,11 @@
let data = Object.values(visitorData);
Object.keys(visitorData).forEach(function(cc){
console.log(cc);
if (cc == ""){
labels.push("Local / Unknown")
labels.push("Unknown")
}else if (cc == "lan"){
labels.push(`LAN / Loopback`);
}else{
labels.push(`${getCountryName(cc)} [${cc.toUpperCase()}]` );
}