diff --git a/app/logical/ip_lookup.rb b/app/logical/ip_lookup.rb index 13085b009..2d5cbf9ef 100644 --- a/app/logical/ip_lookup.rb +++ b/app/logical/ip_lookup.rb @@ -49,6 +49,7 @@ class IpLookup def is_proxy? return true if ip_addr.is_tor? + return true if response.dig(:connection, :type) == "hosting" response[:security].present? && response[:security].values.any? end diff --git a/test/unit/ip_geolocation_test.rb b/test/unit/ip_geolocation_test.rb index b71470512..df2988b94 100644 --- a/test/unit/ip_geolocation_test.rb +++ b/test/unit/ip_geolocation_test.rb @@ -57,13 +57,13 @@ class IpGeolocationTest < ActiveSupport::TestCase should "work for a proxy IP" do @ip = IpGeolocation.create_or_update!("31.214.184.59") - assert_equal("Soluciones Corporativas IP SL", @ip.organization) + assert_equal("Soluciones Corporativas IP (SCIP)", @ip.organization) assert_equal(true, @ip.is_proxy?) end should "work for a cloud hosting IP" do @ip = IpGeolocation.create_or_update!("157.230.244.215") - assert_equal("DigitalOcean LLC", @ip.organization) + assert_equal("DigitalOcean, LLC", @ip.organization) assert_equal(true, @ip.is_proxy?) end