File Coverage

blib/lib/Net/IP/Identifier/Plugin/1and1.pm
Criterion Covered Total %
statement 18 18 100.0
branch n/a
condition 1 3 33.3
subroutine 6 6 100.0
pod 1 2 50.0
total 26 29 89.6


line stmt bran cond sub pod time code
1             #===============================================================================
2             # PODNAME: Net::IP::Identifier::Plugin::1and1
3             # ABSTRACT: identify 1and1 / FastHosts (AS8560, AS15418) owned IP addresses
4             #
5             # AUTHOR: Reid Augustin (REID)
6             # EMAIL: reid@hellosix.com
7             # CREATED: Sun Oct 12 19:32:46 PDT 2014
8             #===============================================================================
9              
10 1     1   41 use 5.008;
  1         4  
  1         60  
11 1     1   8 use strict;
  1         3  
  1         58  
12 1     1   8 use warnings;
  1         3  
  1         65  
13              
14             # _ENTITY_REGEX_ 1and1|1\&1|fasthosts
15              
16             package Net::IP::Identifier::Plugin::1and1;
17              
18 1     1   8 use Role::Tiny::With;
  1         2  
  1         292  
19             with qw( Net::IP::Identifier_Role );
20              
21             our $VERSION = '0.111'; # VERSION
22              
23             sub new {
24 1     1 1 2 my ($class, %opts) = @_;
25              
26 1         2 my $self = {};
27 1   33     8 bless $self, (ref $class || $class);
28              
29             # List of known 1and1 (AS8560, AS15418) IP blocks as of May 2015
30 1         8 $self->ips(
31             # 30 Network Blocks
32             '50.21.176.0/20',
33             '66.175.232.0/21',
34             '70.35.192.0/20',
35             '74.208.0.0/16',
36             '77.68.0.0/17',
37             '79.99.40.0/21',
38             '82.165.0.0/16',
39             '87.106.0.0/16',
40             '88.208.192.0/18',
41             '93.90.192.0/20',
42             '104.192.4.0/22',
43             '104.219.40.0/22',
44             '104.254.244.0/22',
45             '108.175.0.0/20',
46             '109.228.0.0/18',
47             '162.222.200.0/21',
48             '162.252.156.0/22',
49             '162.255.84.0/22',
50             '195.20.224.0/19',
51             '198.71.48.0/20',
52             '198.251.64.0/20',
53             '212.227.0.0/16',
54             '213.165.64.0/19',
55             '213.171.192.0/19',
56             '216.250.112.0/20',
57             '217.72.192.0/20',
58             '217.160.0.0/16',
59             '217.174.240.0/20',
60             '2001:8d8::/32',
61             '2607:f1c0::/32',
62             );
63 1         7 return $self;
64             }
65              
66             sub name {
67 3     3 0 12 return '1and1';
68             }
69              
70             1;
71              
72             __END__