Added extra IP Stack fields

- IsDaylightSavings
- IsProxy
- IsTOR
- IsCrawler
- CrawlerName
- CrawlerType
- ThreatLevel
- ThreatTypes
This commit is contained in:
Ethan Knowlton 2023-09-30 11:17:44 -04:00
parent 09a47bea6a
commit 81aa484762
3 changed files with 90 additions and 20 deletions

View File

@ -136,6 +136,11 @@
<th scope="row">Timezone</th>
<td>{{ .Timezone }}</td>
</tr>
{{ end }} {{ if .IsDayLightSavings }}
<tr>
<th scope="row">Is Daylight Savings?</th>
<td>{{ .IsDayLightSavings }}</td>
</tr>
{{ end }} {{ if .ASN }}
<tr>
<th scope="row">ASN</th>
@ -166,7 +171,52 @@
<th scope="row">User&nbsp;agent: Raw</th>
<td>{{ .UserAgent.RawValue }}</td>
</tr>
{{ end }} {{ end }}
{{ end }}
{{ if .IsProxy }}
<tr>
<th scope="row">Is Proxy?</th>
<td>{{ .IsProxy }}</td>
</tr>
{{ end }}
{{ if .IsCrawler }}
<tr>
<th scope="row">Is Crawler?</th>
<td>{{ .IsCrawler }}</td>
</tr>
<tr>
<th scope="row">Crawler Name</th>
<td>{{ .CrawlerName }}</td>
</tr>
<tr>
<th scope="row">Crawler Type</th>
<td>{{ .CrawlerType }}</td>
</tr>
{{ end }}
{{ if .IsTor }}
<tr>
<th scope="row">Is Tor?</th>
<td>{{ .IsTor }}</td>
</tr>
{{ end }}
{{ if .ThreatLevel }}
<tr>
<th scope="row">Threat Level</th>
<td>{{ .ThreatLevel }}</td>
</tr>
{{ end }}
{{ if .ThreatTypes }}
<tr>
<th scope="row">Threat Types</th>
<td>{{ .ThreatTypes }}</td>
</tr>
{{ end }}
{{ end }}
</table>
{{ if .Country }} {{ if .UsingGeoIP }}
<p>

View File

@ -41,6 +41,17 @@ func (ips *IPStack) Parse(ip net.IP, hostname string) (parser.Response, error) {
if res.Timezone != nil {
parserResponse.Timezone = res.Timezone.ID
parserResponse.IsDayLightSavings = res.Timezone.IsDaylightSaving
}
if res.Security != nil {
parserResponse.IsProxy = res.Security.IsProxy
parserResponse.IsCrawler = res.Security.IsCrawler
parserResponse.CrawlerName = res.Security.CrawlerName
parserResponse.CrawlerType = res.Security.CrawlerType
parserResponse.IsTor = res.Security.IsTOR
parserResponse.ThreatLevel = res.Security.ThreatLevel
parserResponse.ThreatTypes = &res.Security.ThreatTypes
}
if res.Location != nil {

View File

@ -28,8 +28,17 @@ type Response struct {
Latitude float64 `json:"latitude,omitempty"`
Longitude float64 `json:"longitude,omitempty"`
Timezone string `json:"time_zone,omitempty"`
IsDayLightSavings bool `json:"is_daylight_savings,omitempty"`
ASN string `json:"asn,omitempty"`
ASNOrg string `json:"asn_org,omitempty"`
Hostname string `json:"hostname,omitempty"`
UserAgent *useragent.UserAgent `json:"user_agent,omitempty"`
CurrencyCode string `json:"currency_code,omitempty"`
IsProxy bool `json:"is_proxy,omitempty"`
IsCrawler bool `json:"is_crawler,omitempty"`
CrawlerName string `json:"crawler_name,omitempty"`
CrawlerType string `json:"crawler_type,omitempty"`
IsTor bool `json:"is_tor,omitempty"`
ThreatLevel string `json:"threat_level,omitempty"`
ThreatTypes *interface{} `json:"threat_types,omitempty"`
}