Local IP Checker
Simple ruby gem that provides checking if given URL resolves to local IP address.
Abstract
If your system makes HTTP requests to 3rd-party provided URL it's required to check if this URL maps to some kind of local IP address. This gem performs checks against following types of local IP addresses:
- IPv4 and IPv6 localhost addresses.
- IPv4
0.0.0.0
and IPv6::
addresses. - IPv4 private address ranges (e. g.
10.0.0.0/8
). - IPv6 unique local addresses (
fc00::/7
). - IPv6 site-local address (
fec0::/10
) - IPv4 and IPv6 link-local addresses.
Usage
Example:
require "local_ip_checker"
LocalIPChecker.local?("google.com") # => false
LocalIPChecker.nonlocal?("google.com") => true
LocalIPChecker.local?("localhost") => true
LocalIPChecker.local?("::") # => true