vpndetection 5.11.4 → 5.12.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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -0
  3. data/lib/vpndetection/api/account_wire_api.rb +1 -1
  4. data/lib/vpndetection/api/api_keys_wire_api.rb +1 -1
  5. data/lib/vpndetection/api/authorization_wire_api.rb +1 -1
  6. data/lib/vpndetection/api/database_wire_api.rb +9 -1
  7. data/lib/vpndetection/api/entitlement_wire_api.rb +1 -1
  8. data/lib/vpndetection/api/lookup_wire_api.rb +1 -1
  9. data/lib/vpndetection/api/organization_wire_api.rb +1 -1
  10. data/lib/vpndetection/api_client.rb +1 -1
  11. data/lib/vpndetection/api_error.rb +1 -1
  12. data/lib/vpndetection/api_model_base.rb +1 -1
  13. data/lib/vpndetection/configuration.rb +1 -1
  14. data/lib/vpndetection/database_api.rb +15 -10
  15. data/lib/vpndetection/models/account_create_apikey_request.rb +1 -1
  16. data/lib/vpndetection/models/account_created_apikey.rb +1 -1
  17. data/lib/vpndetection/models/account_org.rb +1 -1
  18. data/lib/vpndetection/models/account_org_ref.rb +1 -1
  19. data/lib/vpndetection/models/account_org_wrap.rb +1 -1
  20. data/lib/vpndetection/models/account_rc.rb +1 -1
  21. data/lib/vpndetection/models/account_revealed_apikey.rb +1 -1
  22. data/lib/vpndetection/models/account_user.rb +1 -1
  23. data/lib/vpndetection/models/apikey_detail.rb +1 -1
  24. data/lib/vpndetection/models/apikey_list.rb +1 -1
  25. data/lib/vpndetection/models/asn.rb +1 -1
  26. data/lib/vpndetection/models/batch_lookup_error.rb +1 -1
  27. data/lib/vpndetection/models/batch_lookup_request.rb +1 -1
  28. data/lib/vpndetection/models/batch_lookup_response.rb +1 -1
  29. data/lib/vpndetection/models/class_detail.rb +1 -1
  30. data/lib/vpndetection/models/client_registration.rb +1 -1
  31. data/lib/vpndetection/models/client_registration_request.rb +1 -1
  32. data/lib/vpndetection/models/database.rb +1 -1
  33. data/lib/vpndetection/models/database_checksums_response.rb +1 -1
  34. data/lib/vpndetection/models/database_format.rb +1 -1
  35. data/lib/vpndetection/models/database_format_size.rb +1 -1
  36. data/lib/vpndetection/models/database_list.rb +1 -1
  37. data/lib/vpndetection/models/database_metadata.rb +1 -1
  38. data/lib/vpndetection/models/database_metadata_column.rb +1 -1
  39. data/lib/vpndetection/models/database_version.rb +1 -1
  40. data/lib/vpndetection/models/db_checksums.rb +1 -1
  41. data/lib/vpndetection/models/device_authorization.rb +1 -1
  42. data/lib/vpndetection/models/download.rb +1 -1
  43. data/lib/vpndetection/models/download_list.rb +1 -1
  44. data/lib/vpndetection/models/entitlement.rb +1 -1
  45. data/lib/vpndetection/models/entitlement_apikey.rb +1 -1
  46. data/lib/vpndetection/models/entitlement_error.rb +1 -1
  47. data/lib/vpndetection/models/entitlement_plan.rb +1 -1
  48. data/lib/vpndetection/models/entitlement_usage.rb +1 -1
  49. data/lib/vpndetection/models/error_envelope.rb +1 -1
  50. data/lib/vpndetection/models/identity.rb +1 -1
  51. data/lib/vpndetection/models/location.rb +1 -1
  52. data/lib/vpndetection/models/lookup_error.rb +1 -1
  53. data/lib/vpndetection/models/lookup_response.rb +1 -1
  54. data/lib/vpndetection/models/oauth_error.rb +1 -1
  55. data/lib/vpndetection/models/oauth_metadata.rb +1 -1
  56. data/lib/vpndetection/models/proxy_detail.rb +6 -6
  57. data/lib/vpndetection/models/pubproxy_detail.rb +4 -4
  58. data/lib/vpndetection/models/standing.rb +1 -1
  59. data/lib/vpndetection/models/token_response.rb +1 -1
  60. data/lib/vpndetection/models/vpn_detail.rb +1 -1
  61. data/lib/vpndetection/version.rb +1 -1
  62. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a47a7c7b2838b48e5c03f88bcf23f32aa5ded757e0a0456a690f7062d76f5246
4
- data.tar.gz: 18d367fb37429592a2554219878de911142712c3a499b4b271c7830638eeed9e
3
+ metadata.gz: dc7966b57c12cebae2f064198cd2864cdee0c8ef3650bf7800697ee661e0137b
4
+ data.tar.gz: d747ad89b39de9d6b71f633dff7f1f66642676a22e8183761fb48ba001099b31
5
5
  SHA512:
6
- metadata.gz: c20ec207aef30b6204342f3fced3fc7d1a8c9cdafb79b071194a13c1fb6ce91ac3b43806ec258a1eb9028e7235ce8bfeeca3119ca498bbb07acc007bd27f642b
7
- data.tar.gz: 9b15d2d5c30082b861b2e50c070d07a0b343662af736115b1fdfbcffd5359f67fa809c61e3956a7f5a80bef76a8b4cb7373e311806a88bb413a1a36f72418518
6
+ metadata.gz: 5b0e62f8199cef49cb582bd417f7d6b5645f2f270002b590ded58dcafbf4382f6365454b89c22b06bbb14d6c03e90e453fa3a82ba657e2d9cf22598bee3d12bd
7
+ data.tar.gz: a7ce50c6510a9065dc23ce7c347905527ac3655b5425b89b83db537884d7784bc299aac2f57b7ff839d669a6fa8c766885735677221680348ff5e74e491efb9d
data/README.md CHANGED
@@ -178,6 +178,13 @@ bytes = client.database.download_bytes('cdn_ip_v1', 'csvgz')
178
178
 
179
179
  `download` streams straight to disk, so nothing bigger than a chunk is ever held in memory whatever the database weighs, and it writes through a neighboring `.part` file so a transfer that dies half way leaves no truncated copy behind. `download_url` hands back the time-limited link and follows nothing, for when you want to run the transfer yourself. `download_bytes` holds the whole file in memory, and the catalog runs from `cdn_ip_v1` at 10 KB to `resproxy_ip_90d_v1` at 1.79 GB, so reach for `download` for anything you have not measured.
180
180
 
181
+ From 5.12.0, each of the three takes `build:`, the build a `database.updated` webhook names, so the file is the one whose `sha256` the webhook carries rather than whatever is live by the time you ask. Without it you get the live build. A build is kept 7 days, and one pruned since is a `:bad_request` with status 410; a value that is no build's name raises `ArgumentError` before any request:
182
+
183
+ ```ruby
184
+ data = event.fetch('data') # a database.updated webhook's
185
+ client.database.download(data['dataset'], 'mmdb', "./#{data['dataset']}.mmdb", build: data['build'])
186
+ ```
187
+
181
188
  From 5.3.0, `list`, `metadata`, `checksums`, `downloads` and `download_url` each take `timeout:` in seconds for that call alone, overriding the client's for one attempt of it:
182
189
 
183
190
  ```ruby
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.05
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -159,6 +159,7 @@ module VPNDetection
159
159
  # @param id [String] Dataset ID, e.g. vpn_ip_extended_v1
160
160
  # @param format [DatabaseFormat] Not every database is built in every format. The `_provider` catalogs are keyed by provider ID rather than by IP range, so no MMDB exists for them.
161
161
  # @param [Hash] opts the optional parameters
162
+ # @option opts [String] :build One build of the database, by the name a `database.updated` webhook gives it, so the file is the one whose `sha256` the webhook carries. Without it, the build that is live.
162
163
  # @return [nil]
163
164
  def download_database(id, format, opts = {})
164
165
  download_database_with_http_info(id, format, opts)
@@ -170,6 +171,7 @@ module VPNDetection
170
171
  # @param id [String] Dataset ID, e.g. vpn_ip_extended_v1
171
172
  # @param format [DatabaseFormat] Not every database is built in every format. The `_provider` catalogs are keyed by provider ID rather than by IP range, so no MMDB exists for them.
172
173
  # @param [Hash] opts the optional parameters
174
+ # @option opts [String] :build One build of the database, by the name a `database.updated` webhook gives it, so the file is the one whose `sha256` the webhook carries. Without it, the build that is live.
173
175
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
174
176
  def download_database_with_http_info(id, format, opts = {})
175
177
  if @api_client.config.debugging
@@ -183,6 +185,11 @@ module VPNDetection
183
185
  if @api_client.config.client_side_validation && format.nil?
184
186
  fail ArgumentError, "Missing the required parameter 'format' when calling DatabaseWireApi.download_database"
185
187
  end
188
+ pattern = Regexp.new(/^[0-9]{8}\.[a-z0-9]{6}$/)
189
+ if @api_client.config.client_side_validation && !opts[:'build'].nil? && opts[:'build'] !~ pattern
190
+ fail ArgumentError, "invalid value for 'opts[:\"build\"]' when calling DatabaseWireApi.download_database, must conform to the pattern #{pattern}."
191
+ end
192
+
186
193
  # resource path
187
194
  local_var_path = '/api/v1/database/download'
188
195
 
@@ -190,6 +197,7 @@ module VPNDetection
190
197
  query_params = opts[:query_params] || {}
191
198
  query_params[:'id'] = id
192
199
  query_params[:'format'] = format
200
+ query_params[:'build'] = opts[:'build'] if !opts[:'build'].nil?
193
201
 
194
202
  # header parameters
195
203
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.05
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -63,12 +63,16 @@ module VPNDetection
63
63
  # START of a transfer, so one already running is not interrupted when it
64
64
  # lapses.
65
65
  #
66
+ # @param build [String, nil] one build of the dataset, by the name a
67
+ # `database.updated` webhook gives it, so the file is the one whose
68
+ # `sha256` the webhook carries; nil, the build that is live. A build is
69
+ # kept 7 days, and one pruned since is a `bad_request` with status 410.
66
70
  # @param timeout [Numeric, nil] seconds this attempt may take, for THIS call
67
71
  # only. It bounds the request that MINTS the link, which is an ordinary
68
72
  # JSON call, and says nothing about the transfer you then run with it.
69
- def download_url(id, format, timeout: nil)
73
+ def download_url(id, format, build: nil, timeout: nil)
70
74
  check_format!(format)
71
- call { redirect_location(id, format, timeout) }
75
+ call { redirect_location(id, format, build, timeout) }
72
76
  end
73
77
 
74
78
  # Download one dataset file to `path`, and return the bytes written.
@@ -77,11 +81,11 @@ module VPNDetection
77
81
  # so a transfer that dies half way leaves no truncated file that reads as a
78
82
  # whole dataset, and a refresh that fails does not destroy the copy already
79
83
  # there. Nothing beyond one chunk is ever held in memory, whatever the
80
- # dataset weighs.
81
- def download(id, format, path)
84
+ # dataset weighs. `build` asks for one build, as in {#download_url}.
85
+ def download(id, format, path, build: nil)
82
86
  partial = "#{path}.part"
83
87
  begin
84
- url = download_url(id, format)
88
+ url = download_url(id, format, build: build)
85
89
  written = File.open(partial, 'wb') { |file| transfer(url) { |chunk| file.write(chunk) } }
86
90
  File.rename(partial, path)
87
91
  rescue StandardError
@@ -96,9 +100,10 @@ module VPNDetection
96
100
  # **This holds the entire file in memory**, and the catalog spans five orders
97
101
  # of magnitude: `cdn_ip_v1` is 10 KB while `resproxy_ip_90d_v1` is 1.79 GB.
98
102
  # Reach for it at the small end, where the bytes go straight into a parser,
99
- # and use {#download} for anything you have not measured.
100
- def download_bytes(id, format)
101
- url = download_url(id, format)
103
+ # and use {#download} for anything you have not measured. `build` asks for
104
+ # one build, as in {#download_url}.
105
+ def download_bytes(id, format, build: nil)
106
+ url = download_url(id, format, build: build)
102
107
  bytes = String.new(encoding: Encoding::BINARY)
103
108
  transfer(url) { |chunk| bytes << chunk }
104
109
  bytes
@@ -180,8 +185,8 @@ module VPNDetection
180
185
  # The 302 is this operation's SUCCESS case, but the generated client treats
181
186
  # every non-2xx as a failure, so it arrives as an ApiError carrying the
182
187
  # Location header.
183
- def redirect_location(id, format, timeout)
184
- _, status, = @api.download_database_with_http_info(id, format, timeout: timeout)
188
+ def redirect_location(id, format, build, timeout)
189
+ _, status, = @api.download_database_with_http_info(id, format, build: build, timeout: timeout)
185
190
  raise Error.new(:server_error, 'expected a redirect to object storage', status: status)
186
191
  rescue ApiError => e
187
192
  raise unless e.code == 302
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.05
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,21 +14,21 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- # The shared detail shape for the residential, datacenter and mobile proxy families, measured over a rolling 90 day window. Every key is present when the object is populated; the object is `{}` when its flag is false.
17
+ # The shared detail shape for the residential, datacenter and mobile proxy families, measured over a rolling 90 day window. An address that leaves the window keeps its flag and the values of its last day in it, so `last_seen` is what says how recent they are. Every key is present when the object is populated; the object is `{}` when its flag is false.
18
18
  class ProxyDetail < ApiModelBase
19
19
  # The proxy network, or an empty string where unattributed.
20
20
  attr_accessor :provider
21
21
 
22
- # The earliest date within the window this address was seen in the pool.
22
+ # The earliest date within the window this address was seen in the pool, as of its last day in the window once it has left.
23
23
  attr_accessor :first_seen
24
24
 
25
- # The most recent date within the window this address was seen in the pool.
25
+ # The most recent date this address was seen in the pool. An address that leaves the window keeps its flag, so this date is what says how recent the sighting is.
26
26
  attr_accessor :last_seen
27
27
 
28
- # How many times the address was observed in the pool during the window.
28
+ # How many times the address was observed in the pool during the window, as of its last day in it once it has left.
29
29
  attr_accessor :hits
30
30
 
31
- # The share of days in the window on which the address was seen, as a percentage. A high value means a stable pool member rather than a one-off sighting.
31
+ # The percentage of days in the window on which the address was seen, as of its last day in it once it has left. A high value means a stable pool member rather than a one-off sighting.
32
32
  attr_accessor :hits_days_pct
33
33
 
34
34
  # How many distinct proxy networks this address was seen in.
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.05
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -14,7 +14,7 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module VPNDetection
17
- # The address in Public Proxy IP, open proxies anyone can connect through, measured over a rolling 90 day window. An address is either end of a proxy, or both: where it listens, and where its traffic leaves from. Every key is present when the object is populated; the object is `{}` when `is_pubproxy` is false.
17
+ # The address in Public Proxy IP, open proxies anyone can connect through, measured over a rolling 90 day window. An address that leaves the window keeps its flag and the values of its last day in it, so `last_seen` is what says how recent they are. An address is either end of a proxy, or both: where it listens, and where its traffic leaves from. Every key is present when the object is populated; the object is `{}` when `is_pubproxy` is false.
18
18
  class PubproxyDetail < ApiModelBase
19
19
  # Whether a public proxy listens on this address.
20
20
  attr_accessor :entry
@@ -31,10 +31,10 @@ module VPNDetection
31
31
  # How many distinct public proxies' traffic left from this address; 0 when it is only an entry.
32
32
  attr_accessor :num_proxies
33
33
 
34
- # The most recent date within the window a proxy on this address was seen.
34
+ # The most recent date a proxy on this address was seen. An address that leaves the window keeps its flag, so this date is what says how recent the sighting is.
35
35
  attr_accessor :last_seen
36
36
 
37
- # The most recent date within the window a request through a proxy on this address was answered, as YYYY-MM-DD, or an empty string when none was.
37
+ # The most recent date within the window a request through a proxy on this address was answered, as YYYY-MM-DD, or an empty string when none was, as of its last day in the window once it has left.
38
38
  attr_accessor :last_usable
39
39
 
40
40
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -3,7 +3,7 @@
3
3
 
4
4
  #The VPNDetection API: classify any IP address, and download the databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.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 databases 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.11.02
6
+ The version of the OpenAPI document: 2026.11.05
7
7
  Contact: support@vpndetection.io
8
8
  Generated by: https://openapi-generator.tech
9
9
  Generator version: 7.25.0
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module VPNDetection
4
- VERSION = '5.11.4'
4
+ VERSION = '5.12.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: vpndetection
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.11.4
4
+ version: 5.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mslm Dev