Skip to content

Commit 29557f3

Browse files
fix: updated json metadata fields for API results to show latest fields (#13)
* Update README.md * Update manual_readme_content.md * Update unreleased.md * chore: refresh connector metadata and tooling * resolve conflicts --------- Co-authored-by: Virgil <251250338+Vlam9988@users.noreply.github.com>
1 parent 289c1c0 commit 29557f3

10 files changed

Lines changed: 272 additions & 230 deletions

.pre-commit-config.yaml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,13 @@ default_stages: [pre-commit]
88
# This is a template for connector pre-commit hooks
99
repos:
1010
- repo: https://github.com/compilerla/conventional-pre-commit
11-
rev: v4.1.0
11+
rev: v4.4.0
1212
hooks:
1313
- id: conventional-pre-commit
1414
stages: [commit-msg]
1515
args: [--verbose]
1616
- repo: https://github.com/pre-commit/pre-commit-hooks
17-
rev: v5.0.0
17+
rev: v6.0.0
1818
hooks:
1919
- id: check-merge-conflict
2020
- id: end-of-file-fixer
@@ -27,7 +27,7 @@ repos:
2727
- id: check-json
2828
- id: check-yaml
2929
- repo: https://github.com/astral-sh/ruff-pre-commit
30-
rev: v0.11.7
30+
rev: v0.15.14
3131
hooks:
3232
- id: ruff
3333
args: [ "--fix", "--unsafe-fixes"] # Allow unsafe fixes (ruff pretty strict about what it can fix)
@@ -43,15 +43,14 @@ repos:
4343
- id: soar-app-linter
4444
args: ["--single-repo", "--message-level", "error"]
4545
- repo: https://github.com/hukkin/mdformat
46-
rev: 0.7.22
46+
rev: 1.0.0
4747
hooks:
4848
- id: mdformat
4949
exclude: "release_notes/.*"
5050
- repo: https://github.com/returntocorp/semgrep
51-
rev: v1.136.0
51+
rev: v1.154.0
5252
hooks:
5353
- id: semgrep
54-
additional_dependencies: ["setuptools==81.0.0"]
5554
- repo: https://github.com/Yelp/detect-secrets
5655
rev: v1.5.0
5756
hooks:

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@
186186
same "printed page" as the copyright notice for easier
187187
identification within third-party archives.
188188

189-
Copyright (c) IP2Location.io, 2024-2025
189+
Copyright (c) IP2Location.io, 2024-2026
190190

191191
Licensed under the Apache License, Version 2.0 (the "License");
192192
you may not use this file except in compliance with the License.

NOTICE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
Splunk SOAR App: IP2Location IO
2-
Copyright (c) IP2Location.io, 2024-2025
2+
Copyright (c) IP2Location.io, 2024-2026

README.md

Lines changed: 130 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# IP2Location IO
22

3-
Publisher: IP2Location.io \
4-
Connector Version: 1.0.2 \
5-
Product Vendor: IP2Location.io \
6-
Product Name: IP2Location.io \
7-
Minimum Product Version: 6.1.1
3+
Publisher: IP2Location.io <br>
4+
Connector Version: 1.0.2 <br>
5+
Product Vendor: IP2Location.io <br>
6+
Product Name: IP2Location.io <br>
7+
Minimum Product Version: 6.3.0
88

99
Query IP geolocation data from IP2Location.io API
1010

@@ -31,109 +31,127 @@ Below is an example output if you're subscribed to the Security plan.
3131
JSON
3232

3333
<pre>{
34-
"ip":"8.8.8.8",
35-
"country_code":"US",
36-
"country_name":"United States of America",
37-
"region_name":"California",
38-
"city_name":"Mountain View",
39-
"latitude":37.405992,
40-
"longitude":-122.078515,
41-
"zip_code":"94043",
42-
"time_zone":"-07:00",
43-
"asn":"15169",
44-
"as":"Google LLC",
45-
"isp":"Google LLC",
46-
"domain":"google.com",
47-
"net_speed":"T1",
48-
"idd_code":"1",
49-
"area_code":"650",
50-
"weather_station_code":"USCA0746",
51-
"weather_station_name":"Mountain View",
52-
"mcc":"-",
53-
"mnc":"-",
54-
"mobile_brand":"-",
55-
"elevation":32,
56-
"usage_type":"DCH",
57-
"address_type":"Anycast",
58-
"continent":{
59-
"name":"North America",
60-
"code":"NA",
61-
"hemisphere":["north","west"],
62-
"translation":{
63-
"lang":"ko",
64-
"value":"북아메리카"
65-
}
66-
},
67-
"country":{
68-
"name":"United States of America",
69-
"alpha3_code":"USA",
70-
"numeric_code":840,
71-
"demonym":"Americans",
72-
"flag":"https://cdn.ip2location.io/assets/img/flags/us.png",
73-
"capital":"Washington, D.C.",
74-
"total_area":9826675,
75-
"population":331002651,
76-
"currency":{
77-
"code":"USD",
78-
"name":"United States Dollar",
79-
"symbol":"$"
80-
},
81-
"language":{
82-
"code":"EN",
83-
"name":"English"
84-
},
85-
"tld":"us",
86-
"translation":{
87-
"lang":"ko",
88-
"value":"미국"
89-
}
90-
},
91-
"region":{
92-
"name":"California",
93-
"code":"US-CA",
94-
"translation":{
95-
"lang":"ko",
96-
"value":"캘리포니아주"
97-
}
98-
},
99-
"city":{
100-
"name":"Mountain View",
101-
"translation":{
102-
"lang":null,
103-
"value":null
104-
}
105-
},
106-
"time_zone_info":{
107-
"olson":"America/Los_Angeles",
108-
"current_time":"2022-04-18T23:41:57-07:00",
109-
"gmt_offset":-25200,
110-
"is_dst":true,
111-
"sunrise":"06:27",
112-
"sunset":"19:47"
113-
},
114-
"geotargeting":{
115-
"metro":"807"
116-
},
117-
"ads_category":"IAB19",
118-
"ads_category_name":"Technology & Computing",
119-
"district":"San Diego County",
120-
"is_proxy":false,
121-
"proxy":{
122-
"last_seen":18,
123-
"proxy_type":"DCH",
124-
"threat":"-",
125-
"provider":"-",
126-
"is_vpn": false,
127-
"is_tor": false,
128-
"is_data_center": true,
129-
"is_public_proxy": false,
130-
"is_web_proxy": false,
131-
"is_web_crawler": false,
132-
"is_residential_proxy": false,
133-
"is_spammer": false,
134-
"is_scanner": false,
135-
"is_botnet": false
136-
}
34+
"ip": "8.8.8.8",
35+
"country_code": "US",
36+
"country_name": "United States of America",
37+
"region_name": "California",
38+
"district": "Santa Clara County",
39+
"city_name": "Mountain View",
40+
"latitude": 37.38605,
41+
"longitude": -122.08385,
42+
"zip_code": "94035",
43+
"time_zone": "-07:00",
44+
"asn": "15169",
45+
"as": "Google LLC",
46+
"as_info": {
47+
"as_number": "15169",
48+
"as_name": "Google LLC",
49+
"as_domain": "google.com",
50+
"as_usage_type": "DCH",
51+
"as_cidr": "8.8.8.0/24"
52+
},
53+
"isp": "Google LLC",
54+
"domain": "google.com",
55+
"net_speed": "T1",
56+
"idd_code": "1",
57+
"area_code": "650",
58+
"weather_station_code": "USCA0746",
59+
"weather_station_name": "Mountain View",
60+
"mcc": "-",
61+
"mnc": "-",
62+
"mobile_brand": "-",
63+
"elevation": 32,
64+
"usage_type": "DCH",
65+
"address_type": "Anycast",
66+
"ads_category": "IAB19-11",
67+
"ads_category_name": "Data Centers",
68+
"continent": {
69+
"name": "North America",
70+
"code": "NA",
71+
"hemisphere": [
72+
"north",
73+
"west"
74+
],
75+
"translation": {
76+
"lang": "ko",
77+
"value": "북아메리카"
78+
}
79+
},
80+
"country": {
81+
"name": "United States of America",
82+
"alpha3_code": "USA",
83+
"numeric_code": 840,
84+
"demonym": "Americans",
85+
"flag": "https://cdn.ip2location.io/assets/img/flags/us.png",
86+
"capital": "Washington, D.C.",
87+
"total_area": 9826675,
88+
"population": 339665118,
89+
"currency": {
90+
"code": "USD",
91+
"name": "United States Dollar",
92+
"symbol": "$"
93+
},
94+
"language": {
95+
"code": "EN",
96+
"name": "English"
97+
},
98+
"tld": "us",
99+
"translation": {
100+
"lang": "ko",
101+
"value": "미국"
102+
}
103+
},
104+
"region": {
105+
"name": "California",
106+
"code": "US-CA",
107+
"translation": {
108+
"lang": "ko",
109+
"value": "캘리포니아주"
110+
}
111+
},
112+
"city": {
113+
"name": "Mountain View",
114+
"translation": {
115+
"lang": null,
116+
"value": null
117+
}
118+
},
119+
"time_zone_info": {
120+
"olson": "America/Los_Angeles",
121+
"current_time": "2026-04-29T23:36:52-07:00",
122+
"gmt_offset": -25200,
123+
"is_dst": true,
124+
"abbreviation": "PDT",
125+
"dst_start_date": "2026-03-08",
126+
"dst_end_date": "2026-11-01",
127+
"sunrise": "06:12",
128+
"sunset": "19:58"
129+
},
130+
"geotargeting": {
131+
"metro": "807"
132+
},
133+
"is_proxy": false,
134+
"fraud_score": 0,
135+
"proxy": {
136+
"last_seen": 1,
137+
"proxy_type": "DCH",
138+
"threat": "-",
139+
"provider": "-",
140+
"is_vpn": false,
141+
"is_tor": false,
142+
"is_data_center": true,
143+
"is_public_proxy": false,
144+
"is_web_proxy": false,
145+
"is_web_crawler": false,
146+
"is_ai_crawler": false,
147+
"is_residential_proxy": false,
148+
"is_consumer_privacy_network": false,
149+
"is_enterprise_private_network": false,
150+
"is_spammer": false,
151+
"is_scanner": false,
152+
"is_botnet": false,
153+
"is_bogon": false
154+
}
137155
}
138156
</pre>
139157

@@ -147,14 +165,14 @@ VARIABLE | REQUIRED | TYPE | DESCRIPTION
147165

148166
### Supported Actions
149167

150-
[test connectivity](#action-test-connectivity) - Validate the asset configuration for connectivity using supplied configuration \
168+
[test connectivity](#action-test-connectivity) - Validate the asset configuration for connectivity using supplied configuration <br>
151169
[geolocate ip](#action-geolocate-ip) - Queries IP2Location.io API for geolocation info
152170

153171
## action: 'test connectivity'
154172

155173
Validate the asset configuration for connectivity using supplied configuration
156174

157-
Type: **test** \
175+
Type: **test** <br>
158176
Read only: **True**
159177

160178
#### Action Parameters
@@ -169,7 +187,7 @@ No Output
169187

170188
Queries IP2Location.io API for geolocation info
171189

172-
Type: **investigate** \
190+
Type: **investigate** <br>
173191
Read only: **True**
174192

175193
#### Action Parameters
@@ -194,7 +212,7 @@ ______________________________________________________________________
194212

195213
Auto-generated Splunk SOAR Connector documentation.
196214

197-
Copyright 2025 Splunk Inc.
215+
Copyright 2026 Splunk Inc.
198216

199217
Licensed under the Apache License, Version 2.0 (the "License");
200218
you may not use this file except in compliance with the License.

__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# File: __init__.py
22
#
3-
# Copyright (c) IP2Location.io, 2024-2025
3+
# Copyright (c) IP2Location.io, 2024-2026
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.

ip2locationio.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
"name": "IP2Location.io"
1717
}
1818
],
19-
"license": "Copyright (c) IP2Location.io, 2024-2025",
19+
"license": "Copyright (c) IP2Location.io, 2024-2026",
2020
"app_version": "1.0.2",
2121
"utctime_updated": "2025-04-14T18:54:51.681828Z",
2222
"package_name": "phantom_ip2locationio",
2323
"main_module": "ip2locationio_connector.py",
24-
"min_phantom_version": "6.1.1",
24+
"min_phantom_version": "6.3.0",
2525
"app_wizard_version": "1.0.0",
2626
"configuration": {
2727
"api_key": {
@@ -106,5 +106,11 @@
106106
},
107107
"versions": "EQ(*)"
108108
}
109-
]
109+
],
110+
"pip39_dependencies": {
111+
"wheel": []
112+
},
113+
"pip313_dependencies": {
114+
"wheel": []
115+
}
110116
}

ip2locationio_connector.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# File: ip2locationio_connector.py
22
#
3-
# Copyright (c) IP2Location.io, 2024-2025
3+
# Copyright (c) IP2Location.io, 2024-2026
44
#
55
# Licensed under the Apache License, Version 2.0 (the "License");
66
# you may not use this file except in compliance with the License.
@@ -123,7 +123,7 @@ def _handle_test_connectivity(self, param):
123123

124124
self.save_progress("Connecting to endpoint")
125125
# make rest call
126-
ret_val, response = self._make_rest_call("/", action_result, params=None, headers=None)
126+
ret_val, _response = self._make_rest_call("/", action_result, params=None, headers=None)
127127

128128
if phantom.is_fail(ret_val):
129129
self.save_progress("Test Connectivity Failed.")

0 commit comments

Comments
 (0)