vpndetection 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/vpndetection/api/database_api.rb +24 -16
- data/lib/vpndetection/api/lookup_api.rb +4 -4
- data/lib/vpndetection/api_client.rb +1 -1
- data/lib/vpndetection/api_error.rb +1 -1
- data/lib/vpndetection/api_model_base.rb +1 -1
- data/lib/vpndetection/configuration.rb +1 -1
- data/lib/vpndetection/models/class_detail.rb +1 -1
- data/lib/vpndetection/models/dataset_checksums.rb +1 -1
- data/lib/vpndetection/models/dataset_checksums_response.rb +1 -1
- data/lib/vpndetection/models/dataset_format_size.rb +1 -1
- data/lib/vpndetection/models/dataset_list.rb +1 -1
- data/lib/vpndetection/models/dataset_metadata.rb +27 -5
- data/lib/vpndetection/models/dataset_metadata_column.rb +1 -1
- data/lib/vpndetection/models/download.rb +82 -2
- data/lib/vpndetection/models/download_list.rb +1 -1
- data/lib/vpndetection/models/error_envelope.rb +1 -1
- data/lib/vpndetection/models/licensed_dataset.rb +20 -20
- data/lib/vpndetection/models/licensed_version.rb +1 -1
- data/lib/vpndetection/models/lookup_error.rb +1 -1
- data/lib/vpndetection/models/lookup_response.rb +1 -1
- data/lib/vpndetection/models/proxy_detail.rb +1 -1
- data/lib/vpndetection/models/vpn_detail.rb +1 -1
- data/lib/vpndetection/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6bcc9f0279dcdffc71722644b696b138aafad12ceaa164bb6660d7c86e2c5ea3
|
|
4
|
+
data.tar.gz: 494e8dfbc3962360745f6ff1a002cea176741c51e75690ecc01b82b4898a640b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1e82484fad69ecf06f61ce3eff84b5c8e0ba6f84c7cf2c461daec317feb7dd4d70383ffbfc299ce770e9c330c1b86505b99a1baf1e2313e9fb1462c3180a434a
|
|
7
|
+
data.tar.gz: a1a30da6a8c052b112f37d53555a6a27c9423e57212d6ba3d34b2d7a81e2d591f6b41e578910a4d2b6729ca40917d9a9e0bd4f6924d48715ee6e3cfdcc5e4c34
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -19,7 +19,8 @@ module VPNDetection
|
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
|
-
# Checksums
|
|
22
|
+
# Checksums
|
|
23
|
+
# Checksums for one published file, so a download can be verified after it lands.
|
|
23
24
|
# @param id [String]
|
|
24
25
|
# @param format [String]
|
|
25
26
|
# @param [Hash] opts the optional parameters
|
|
@@ -29,7 +30,8 @@ module VPNDetection
|
|
|
29
30
|
data
|
|
30
31
|
end
|
|
31
32
|
|
|
32
|
-
# Checksums
|
|
33
|
+
# Checksums
|
|
34
|
+
# Checksums for one published file, so a download can be verified after it lands.
|
|
33
35
|
# @param id [String]
|
|
34
36
|
# @param format [String]
|
|
35
37
|
# @param [Hash] opts the optional parameters
|
|
@@ -74,7 +76,7 @@ module VPNDetection
|
|
|
74
76
|
return_type = opts[:debug_return_type] || 'DatasetChecksumsResponse'
|
|
75
77
|
|
|
76
78
|
# auth_names
|
|
77
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
79
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyQuery', 'bearerAuth', 'apiKeyHeader']
|
|
78
80
|
|
|
79
81
|
new_options = opts.merge(
|
|
80
82
|
:operation => :"DatabaseApi.database_checksum",
|
|
@@ -93,7 +95,7 @@ module VPNDetection
|
|
|
93
95
|
return data, status_code, headers
|
|
94
96
|
end
|
|
95
97
|
|
|
96
|
-
#
|
|
98
|
+
# Metadata
|
|
97
99
|
# Poll this to decide whether today's build is worth fetching: it carries `updated` and `entries` without downloading anything. No `format` parameter - one document describes every format the dataset is built in.
|
|
98
100
|
# @param id [String]
|
|
99
101
|
# @param [Hash] opts the optional parameters
|
|
@@ -103,7 +105,7 @@ module VPNDetection
|
|
|
103
105
|
data
|
|
104
106
|
end
|
|
105
107
|
|
|
106
|
-
#
|
|
108
|
+
# Metadata
|
|
107
109
|
# Poll this to decide whether today's build is worth fetching: it carries `updated` and `entries` without downloading anything. No `format` parameter - one document describes every format the dataset is built in.
|
|
108
110
|
# @param id [String]
|
|
109
111
|
# @param [Hash] opts the optional parameters
|
|
@@ -138,7 +140,7 @@ module VPNDetection
|
|
|
138
140
|
return_type = opts[:debug_return_type] || 'DatasetMetadata'
|
|
139
141
|
|
|
140
142
|
# auth_names
|
|
141
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
143
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyQuery', 'bearerAuth', 'apiKeyHeader']
|
|
142
144
|
|
|
143
145
|
new_options = opts.merge(
|
|
144
146
|
:operation => :"DatabaseApi.database_metadata",
|
|
@@ -157,7 +159,8 @@ module VPNDetection
|
|
|
157
159
|
return data, status_code, headers
|
|
158
160
|
end
|
|
159
161
|
|
|
160
|
-
#
|
|
162
|
+
# Download
|
|
163
|
+
# Answers `302` with a time-limited URL pointing straight at object storage. Follow the redirect; the link authorizes the START of a transfer, so one already running is not interrupted when it lapses.
|
|
161
164
|
# @param id [String] Dataset id, e.g. vpn_ip_extended_v1
|
|
162
165
|
# @param format [String] Not every dataset is built in every format. The `_provider` catalogues are keyed by provider id rather than by IP range, so no MMDB exists for them.
|
|
163
166
|
# @param [Hash] opts the optional parameters
|
|
@@ -167,7 +170,8 @@ module VPNDetection
|
|
|
167
170
|
nil
|
|
168
171
|
end
|
|
169
172
|
|
|
170
|
-
#
|
|
173
|
+
# Download
|
|
174
|
+
# Answers `302` with a time-limited URL pointing straight at object storage. Follow the redirect; the link authorizes the START of a transfer, so one already running is not interrupted when it lapses.
|
|
171
175
|
# @param id [String] Dataset id, e.g. vpn_ip_extended_v1
|
|
172
176
|
# @param format [String] Not every dataset is built in every format. The `_provider` catalogues are keyed by provider id rather than by IP range, so no MMDB exists for them.
|
|
173
177
|
# @param [Hash] opts the optional parameters
|
|
@@ -212,7 +216,7 @@ module VPNDetection
|
|
|
212
216
|
return_type = opts[:debug_return_type]
|
|
213
217
|
|
|
214
218
|
# auth_names
|
|
215
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
219
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyQuery', 'bearerAuth', 'apiKeyHeader']
|
|
216
220
|
|
|
217
221
|
new_options = opts.merge(
|
|
218
222
|
:operation => :"DatabaseApi.download_database",
|
|
@@ -231,7 +235,8 @@ module VPNDetection
|
|
|
231
235
|
return data, status_code, headers
|
|
232
236
|
end
|
|
233
237
|
|
|
234
|
-
#
|
|
238
|
+
# List
|
|
239
|
+
# Every dataset this organization holds a licence for, with the term and the license_type right beside each one.
|
|
235
240
|
# @param [Hash] opts the optional parameters
|
|
236
241
|
# @return [DatasetList]
|
|
237
242
|
def list_databases(opts = {})
|
|
@@ -239,7 +244,8 @@ module VPNDetection
|
|
|
239
244
|
data
|
|
240
245
|
end
|
|
241
246
|
|
|
242
|
-
#
|
|
247
|
+
# List
|
|
248
|
+
# Every dataset this organization holds a licence for, with the term and the license_type right beside each one.
|
|
243
249
|
# @param [Hash] opts the optional parameters
|
|
244
250
|
# @return [Array<(DatasetList, Integer, Hash)>] DatasetList data, response status code and response headers
|
|
245
251
|
def list_databases_with_http_info(opts = {})
|
|
@@ -267,7 +273,7 @@ module VPNDetection
|
|
|
267
273
|
return_type = opts[:debug_return_type] || 'DatasetList'
|
|
268
274
|
|
|
269
275
|
# auth_names
|
|
270
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
276
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyQuery', 'bearerAuth', 'apiKeyHeader']
|
|
271
277
|
|
|
272
278
|
new_options = opts.merge(
|
|
273
279
|
:operation => :"DatabaseApi.list_databases",
|
|
@@ -286,7 +292,8 @@ module VPNDetection
|
|
|
286
292
|
return data, status_code, headers
|
|
287
293
|
end
|
|
288
294
|
|
|
289
|
-
#
|
|
295
|
+
# History
|
|
296
|
+
# Recent download attempts for this organization, newest first. Refusals are listed too, so a failed transfer can be accounted for.
|
|
290
297
|
# @param [Hash] opts the optional parameters
|
|
291
298
|
# @option opts [Integer] :limit (default to 50)
|
|
292
299
|
# @return [DownloadList]
|
|
@@ -295,7 +302,8 @@ module VPNDetection
|
|
|
295
302
|
data
|
|
296
303
|
end
|
|
297
304
|
|
|
298
|
-
#
|
|
305
|
+
# History
|
|
306
|
+
# Recent download attempts for this organization, newest first. Refusals are listed too, so a failed transfer can be accounted for.
|
|
299
307
|
# @param [Hash] opts the optional parameters
|
|
300
308
|
# @option opts [Integer] :limit (default to 50)
|
|
301
309
|
# @return [Array<(DownloadList, Integer, Hash)>] DownloadList data, response status code and response headers
|
|
@@ -329,7 +337,7 @@ module VPNDetection
|
|
|
329
337
|
return_type = opts[:debug_return_type] || 'DownloadList'
|
|
330
338
|
|
|
331
339
|
# auth_names
|
|
332
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
340
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyQuery', 'bearerAuth', 'apiKeyHeader']
|
|
333
341
|
|
|
334
342
|
new_options = opts.merge(
|
|
335
343
|
:operation => :"DatabaseApi.list_downloads",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -19,7 +19,7 @@ module VPNDetection
|
|
|
19
19
|
def initialize(api_client = ApiClient.default)
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
|
-
#
|
|
22
|
+
# Lookup
|
|
23
23
|
# Answers what is known about a single IPv4 or IPv6 address. Which fields come back is decided by the plan behind the presented key; with no key the answer is `ip` and `is_vpn`.
|
|
24
24
|
# @param ip [String] The IPv4 or IPv6 address to classify.
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
@@ -29,7 +29,7 @@ module VPNDetection
|
|
|
29
29
|
data
|
|
30
30
|
end
|
|
31
31
|
|
|
32
|
-
#
|
|
32
|
+
# Lookup
|
|
33
33
|
# Answers what is known about a single IPv4 or IPv6 address. Which fields come back is decided by the plan behind the presented key; with no key the answer is `ip` and `is_vpn`.
|
|
34
34
|
# @param ip [String] The IPv4 or IPv6 address to classify.
|
|
35
35
|
# @param [Hash] opts the optional parameters
|
|
@@ -63,7 +63,7 @@ module VPNDetection
|
|
|
63
63
|
return_type = opts[:debug_return_type] || 'LookupResponse'
|
|
64
64
|
|
|
65
65
|
# auth_names
|
|
66
|
-
auth_names = opts[:debug_auth_names] || ['
|
|
66
|
+
auth_names = opts[:debug_auth_names] || ['apiKeyQuery', 'bearerAuth', 'apiKeyHeader']
|
|
67
67
|
|
|
68
68
|
new_options = opts.merge(
|
|
69
69
|
:operation => :"LookupApi.lookup_ip",
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -34,6 +34,12 @@ module VPNDetection
|
|
|
34
34
|
# Bytes per format
|
|
35
35
|
attr_accessor :size
|
|
36
36
|
|
|
37
|
+
# Bytes per format of the evaluation sample, where one is published
|
|
38
|
+
attr_accessor :sample_size
|
|
39
|
+
|
|
40
|
+
# Row count in the evaluation sample
|
|
41
|
+
attr_accessor :sample_entries
|
|
42
|
+
|
|
37
43
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
38
44
|
def self.attribute_map
|
|
39
45
|
{
|
|
@@ -43,7 +49,9 @@ module VPNDetection
|
|
|
43
49
|
:'entries' => :'entries',
|
|
44
50
|
:'schema' => :'schema',
|
|
45
51
|
:'sample' => :'sample',
|
|
46
|
-
:'size' => :'size'
|
|
52
|
+
:'size' => :'size',
|
|
53
|
+
:'sample_size' => :'sample_size',
|
|
54
|
+
:'sample_entries' => :'sample_entries'
|
|
47
55
|
}
|
|
48
56
|
end
|
|
49
57
|
|
|
@@ -66,7 +74,9 @@ module VPNDetection
|
|
|
66
74
|
:'entries' => :'Integer',
|
|
67
75
|
:'schema' => :'Hash<String, Array<DatasetMetadataColumn>>',
|
|
68
76
|
:'sample' => :'Hash<String, Array<Object>>',
|
|
69
|
-
:'size' => :'Hash<String, Integer>'
|
|
77
|
+
:'size' => :'Hash<String, Integer>',
|
|
78
|
+
:'sample_size' => :'Hash<String, Integer>',
|
|
79
|
+
:'sample_entries' => :'Integer'
|
|
70
80
|
}
|
|
71
81
|
end
|
|
72
82
|
|
|
@@ -133,6 +143,16 @@ module VPNDetection
|
|
|
133
143
|
self.size = value
|
|
134
144
|
end
|
|
135
145
|
end
|
|
146
|
+
|
|
147
|
+
if attributes.key?(:'sample_size')
|
|
148
|
+
if (value = attributes[:'sample_size']).is_a?(Hash)
|
|
149
|
+
self.sample_size = value
|
|
150
|
+
end
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
if attributes.key?(:'sample_entries')
|
|
154
|
+
self.sample_entries = attributes[:'sample_entries']
|
|
155
|
+
end
|
|
136
156
|
end
|
|
137
157
|
|
|
138
158
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -221,7 +241,9 @@ module VPNDetection
|
|
|
221
241
|
entries == o.entries &&
|
|
222
242
|
schema == o.schema &&
|
|
223
243
|
sample == o.sample &&
|
|
224
|
-
size == o.size
|
|
244
|
+
size == o.size &&
|
|
245
|
+
sample_size == o.sample_size &&
|
|
246
|
+
sample_entries == o.sample_entries
|
|
225
247
|
end
|
|
226
248
|
|
|
227
249
|
# @see the `==` method
|
|
@@ -233,7 +255,7 @@ module VPNDetection
|
|
|
233
255
|
# Calculates hash code according to all attributes.
|
|
234
256
|
# @return [Integer] Hash code
|
|
235
257
|
def hash
|
|
236
|
-
[id, update_freq, updated, entries, schema, sample, size].hash
|
|
258
|
+
[id, update_freq, updated, entries, schema, sample, size, sample_size, sample_entries].hash
|
|
237
259
|
end
|
|
238
260
|
|
|
239
261
|
# Builds the object from hash
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -14,6 +14,7 @@ require 'date'
|
|
|
14
14
|
require 'time'
|
|
15
15
|
|
|
16
16
|
module VPNDetection
|
|
17
|
+
# One download ATTEMPT, refusals included - a denial is what answers \"it stopped working\", so they are listed rather than dropped.
|
|
17
18
|
class Download < ApiModelBase
|
|
18
19
|
attr_accessor :dataset_id
|
|
19
20
|
|
|
@@ -21,8 +22,21 @@ module VPNDetection
|
|
|
21
22
|
|
|
22
23
|
attr_accessor :outcome
|
|
23
24
|
|
|
25
|
+
# The evaluation sample rather than the database itself.
|
|
26
|
+
attr_accessor :sample
|
|
27
|
+
|
|
28
|
+
# Object size at redirect time, NOT bytes delivered: the transfer is a presigned redirect straight to object storage, so we never observe it.
|
|
24
29
|
attr_accessor :bytes
|
|
25
30
|
|
|
31
|
+
attr_accessor :http_status
|
|
32
|
+
|
|
33
|
+
# The key that made the request. Null when the org acted through the console rather than through a key.
|
|
34
|
+
attr_accessor :apikey_id
|
|
35
|
+
|
|
36
|
+
attr_accessor :client_ip
|
|
37
|
+
|
|
38
|
+
attr_accessor :user_agent
|
|
39
|
+
|
|
26
40
|
attr_accessor :created
|
|
27
41
|
|
|
28
42
|
class EnumAttributeValidator
|
|
@@ -53,7 +67,12 @@ module VPNDetection
|
|
|
53
67
|
:'dataset_id' => :'dataset_id',
|
|
54
68
|
:'format' => :'format',
|
|
55
69
|
:'outcome' => :'outcome',
|
|
70
|
+
:'sample' => :'sample',
|
|
56
71
|
:'bytes' => :'bytes',
|
|
72
|
+
:'http_status' => :'http_status',
|
|
73
|
+
:'apikey_id' => :'apikey_id',
|
|
74
|
+
:'client_ip' => :'client_ip',
|
|
75
|
+
:'user_agent' => :'user_agent',
|
|
57
76
|
:'created' => :'created'
|
|
58
77
|
}
|
|
59
78
|
end
|
|
@@ -74,7 +93,12 @@ module VPNDetection
|
|
|
74
93
|
:'dataset_id' => :'String',
|
|
75
94
|
:'format' => :'String',
|
|
76
95
|
:'outcome' => :'String',
|
|
96
|
+
:'sample' => :'Boolean',
|
|
77
97
|
:'bytes' => :'Integer',
|
|
98
|
+
:'http_status' => :'Integer',
|
|
99
|
+
:'apikey_id' => :'String',
|
|
100
|
+
:'client_ip' => :'String',
|
|
101
|
+
:'user_agent' => :'String',
|
|
78
102
|
:'created' => :'Time'
|
|
79
103
|
}
|
|
80
104
|
end
|
|
@@ -83,6 +107,10 @@ module VPNDetection
|
|
|
83
107
|
def self.openapi_nullable
|
|
84
108
|
Set.new([
|
|
85
109
|
:'bytes',
|
|
110
|
+
:'http_status',
|
|
111
|
+
:'apikey_id',
|
|
112
|
+
:'client_ip',
|
|
113
|
+
:'user_agent',
|
|
86
114
|
])
|
|
87
115
|
end
|
|
88
116
|
|
|
@@ -120,8 +148,40 @@ module VPNDetection
|
|
|
120
148
|
self.outcome = nil
|
|
121
149
|
end
|
|
122
150
|
|
|
151
|
+
if attributes.key?(:'sample')
|
|
152
|
+
self.sample = attributes[:'sample']
|
|
153
|
+
else
|
|
154
|
+
self.sample = nil
|
|
155
|
+
end
|
|
156
|
+
|
|
123
157
|
if attributes.key?(:'bytes')
|
|
124
158
|
self.bytes = attributes[:'bytes']
|
|
159
|
+
else
|
|
160
|
+
self.bytes = nil
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
if attributes.key?(:'http_status')
|
|
164
|
+
self.http_status = attributes[:'http_status']
|
|
165
|
+
else
|
|
166
|
+
self.http_status = nil
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
if attributes.key?(:'apikey_id')
|
|
170
|
+
self.apikey_id = attributes[:'apikey_id']
|
|
171
|
+
else
|
|
172
|
+
self.apikey_id = nil
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
if attributes.key?(:'client_ip')
|
|
176
|
+
self.client_ip = attributes[:'client_ip']
|
|
177
|
+
else
|
|
178
|
+
self.client_ip = nil
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
if attributes.key?(:'user_agent')
|
|
182
|
+
self.user_agent = attributes[:'user_agent']
|
|
183
|
+
else
|
|
184
|
+
self.user_agent = nil
|
|
125
185
|
end
|
|
126
186
|
|
|
127
187
|
if attributes.key?(:'created')
|
|
@@ -148,6 +208,10 @@ module VPNDetection
|
|
|
148
208
|
invalid_properties.push('invalid value for "outcome", outcome cannot be nil.')
|
|
149
209
|
end
|
|
150
210
|
|
|
211
|
+
if @sample.nil?
|
|
212
|
+
invalid_properties.push('invalid value for "sample", sample cannot be nil.')
|
|
213
|
+
end
|
|
214
|
+
|
|
151
215
|
if @created.nil?
|
|
152
216
|
invalid_properties.push('invalid value for "created", created cannot be nil.')
|
|
153
217
|
end
|
|
@@ -164,6 +228,7 @@ module VPNDetection
|
|
|
164
228
|
return false if @outcome.nil?
|
|
165
229
|
outcome_validator = EnumAttributeValidator.new('String', ["ok", "unauthorized", "denied", "expired", "unknown", "unavailable"])
|
|
166
230
|
return false unless outcome_validator.valid?(@outcome)
|
|
231
|
+
return false if @sample.nil?
|
|
167
232
|
return false if @created.nil?
|
|
168
233
|
true
|
|
169
234
|
end
|
|
@@ -198,6 +263,16 @@ module VPNDetection
|
|
|
198
263
|
@outcome = outcome
|
|
199
264
|
end
|
|
200
265
|
|
|
266
|
+
# Custom attribute writer method with validation
|
|
267
|
+
# @param [Object] sample Value to be assigned
|
|
268
|
+
def sample=(sample)
|
|
269
|
+
if sample.nil?
|
|
270
|
+
fail ArgumentError, 'sample cannot be nil'
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
@sample = sample
|
|
274
|
+
end
|
|
275
|
+
|
|
201
276
|
# Custom attribute writer method with validation
|
|
202
277
|
# @param [Object] created Value to be assigned
|
|
203
278
|
def created=(created)
|
|
@@ -216,7 +291,12 @@ module VPNDetection
|
|
|
216
291
|
dataset_id == o.dataset_id &&
|
|
217
292
|
format == o.format &&
|
|
218
293
|
outcome == o.outcome &&
|
|
294
|
+
sample == o.sample &&
|
|
219
295
|
bytes == o.bytes &&
|
|
296
|
+
http_status == o.http_status &&
|
|
297
|
+
apikey_id == o.apikey_id &&
|
|
298
|
+
client_ip == o.client_ip &&
|
|
299
|
+
user_agent == o.user_agent &&
|
|
220
300
|
created == o.created
|
|
221
301
|
end
|
|
222
302
|
|
|
@@ -229,7 +309,7 @@ module VPNDetection
|
|
|
229
309
|
# Calculates hash code according to all attributes.
|
|
230
310
|
# @return [Integer] Hash code
|
|
231
311
|
def hash
|
|
232
|
-
[dataset_id, format, outcome, bytes, created].hash
|
|
312
|
+
[dataset_id, format, outcome, sample, bytes, http_status, apikey_id, client_ip, user_agent, created].hash
|
|
233
313
|
end
|
|
234
314
|
|
|
235
315
|
# Builds the object from hash
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -24,7 +24,7 @@ module VPNDetection
|
|
|
24
24
|
attr_accessor :summary
|
|
25
25
|
|
|
26
26
|
# What your license permits you to do with the data.
|
|
27
|
-
attr_accessor :
|
|
27
|
+
attr_accessor :license_type
|
|
28
28
|
|
|
29
29
|
attr_accessor :starts
|
|
30
30
|
|
|
@@ -68,7 +68,7 @@ module VPNDetection
|
|
|
68
68
|
:'base' => :'base',
|
|
69
69
|
:'name' => :'name',
|
|
70
70
|
:'summary' => :'summary',
|
|
71
|
-
:'
|
|
71
|
+
:'license_type' => :'license_type',
|
|
72
72
|
:'starts' => :'starts',
|
|
73
73
|
:'expires' => :'expires',
|
|
74
74
|
:'in_term' => :'in_term',
|
|
@@ -93,7 +93,7 @@ module VPNDetection
|
|
|
93
93
|
:'base' => :'String',
|
|
94
94
|
:'name' => :'String',
|
|
95
95
|
:'summary' => :'String',
|
|
96
|
-
:'
|
|
96
|
+
:'license_type' => :'String',
|
|
97
97
|
:'starts' => :'Time',
|
|
98
98
|
:'expires' => :'Time',
|
|
99
99
|
:'in_term' => :'Boolean',
|
|
@@ -142,10 +142,10 @@ module VPNDetection
|
|
|
142
142
|
self.summary = attributes[:'summary']
|
|
143
143
|
end
|
|
144
144
|
|
|
145
|
-
if attributes.key?(:'
|
|
146
|
-
self.
|
|
145
|
+
if attributes.key?(:'license_type')
|
|
146
|
+
self.license_type = attributes[:'license_type']
|
|
147
147
|
else
|
|
148
|
-
self.
|
|
148
|
+
self.license_type = nil
|
|
149
149
|
end
|
|
150
150
|
|
|
151
151
|
if attributes.key?(:'starts')
|
|
@@ -190,8 +190,8 @@ module VPNDetection
|
|
|
190
190
|
invalid_properties.push('invalid value for "name", name cannot be nil.')
|
|
191
191
|
end
|
|
192
192
|
|
|
193
|
-
if @
|
|
194
|
-
invalid_properties.push('invalid value for "
|
|
193
|
+
if @license_type.nil?
|
|
194
|
+
invalid_properties.push('invalid value for "license_type", license_type cannot be nil.')
|
|
195
195
|
end
|
|
196
196
|
|
|
197
197
|
if @in_term.nil?
|
|
@@ -215,9 +215,9 @@ module VPNDetection
|
|
|
215
215
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
216
216
|
return false if @base.nil?
|
|
217
217
|
return false if @name.nil?
|
|
218
|
-
return false if @
|
|
219
|
-
|
|
220
|
-
return false unless
|
|
218
|
+
return false if @license_type.nil?
|
|
219
|
+
license_type_validator = EnumAttributeValidator.new('String', ["evaluation", "standard", "redistribute"])
|
|
220
|
+
return false unless license_type_validator.valid?(@license_type)
|
|
221
221
|
return false if @in_term.nil?
|
|
222
222
|
return false if @standing.nil?
|
|
223
223
|
standing_validator = EnumAttributeValidator.new('String', ["expired", "licensed", "unlicensed"])
|
|
@@ -247,13 +247,13 @@ module VPNDetection
|
|
|
247
247
|
end
|
|
248
248
|
|
|
249
249
|
# Custom attribute writer method checking allowed values (enum).
|
|
250
|
-
# @param [Object]
|
|
251
|
-
def
|
|
252
|
-
validator = EnumAttributeValidator.new('String', ["evaluation", "
|
|
253
|
-
unless validator.valid?(
|
|
254
|
-
fail ArgumentError, "invalid value for \"
|
|
250
|
+
# @param [Object] license_type Object to be assigned
|
|
251
|
+
def license_type=(license_type)
|
|
252
|
+
validator = EnumAttributeValidator.new('String', ["evaluation", "standard", "redistribute"])
|
|
253
|
+
unless validator.valid?(license_type)
|
|
254
|
+
fail ArgumentError, "invalid value for \"license_type\", must be one of #{validator.allowable_values}."
|
|
255
255
|
end
|
|
256
|
-
@
|
|
256
|
+
@license_type = license_type
|
|
257
257
|
end
|
|
258
258
|
|
|
259
259
|
# Custom attribute writer method with validation
|
|
@@ -294,7 +294,7 @@ module VPNDetection
|
|
|
294
294
|
base == o.base &&
|
|
295
295
|
name == o.name &&
|
|
296
296
|
summary == o.summary &&
|
|
297
|
-
|
|
297
|
+
license_type == o.license_type &&
|
|
298
298
|
starts == o.starts &&
|
|
299
299
|
expires == o.expires &&
|
|
300
300
|
in_term == o.in_term &&
|
|
@@ -311,7 +311,7 @@ module VPNDetection
|
|
|
311
311
|
# Calculates hash code according to all attributes.
|
|
312
312
|
# @return [Integer] Hash code
|
|
313
313
|
def hash
|
|
314
|
-
[base, name, summary,
|
|
314
|
+
[base, name, summary, license_type, starts, expires, in_term, standing, versions].hash
|
|
315
315
|
end
|
|
316
316
|
|
|
317
317
|
# Builds the object from hash
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
#The VPNDetection API: classify any IP address, and download the datasets behind the answers. See https://docs.vpndetection.io for guides and https://github.com/vpndetection-io for the official client libraries.
|
|
5
5
|
|
|
6
|
-
The version of the OpenAPI document: 2026.09.
|
|
6
|
+
The version of the OpenAPI document: 2026.09.05
|
|
7
7
|
Contact: support@vpndetection.io
|
|
8
8
|
Generated by: https://openapi-generator.tech
|
|
9
9
|
Generator version: 7.25.0
|
data/lib/vpndetection/version.rb
CHANGED