File Coverage

blib/lib/Net/IP/Identifier/Plugin/ColoCrossing.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::ColoCrossing
3             # ABSTRACT: identify ColoCrossing (AS36352) owned IP addresses
4             #
5             # AUTHOR: Reid Augustin (REID)
6             # EMAIL: reid@hellosix.com
7             # CREATED: Sun Oct 12 19:33:06 PDT 2014
8             #===============================================================================
9              
10 1     1   28 use 5.008;
  1         2  
  1         33  
11 1     1   5 use strict;
  1         1  
  1         35  
12 1     1   3 use warnings;
  1         2  
  1         38  
13              
14             package Net::IP::Identifier::Plugin::ColoCrossing;
15              
16 1     1   5 use Role::Tiny::With;
  1         2  
  1         175  
17             with qw( Net::IP::Identifier_Role );
18              
19             our $VERSION = '0.111'; # VERSION
20              
21             sub new {
22 1     1 1 2 my ($class, %opts) = @_;
23              
24 1         2 my $self = {};
25 1   33     7 bless $self, (ref $class || $class);
26              
27             # List of known ColoCrossing (AS36352) IP blocks as of May 2015
28 1         5 $self->ips(
29             # 37 Network Blocks
30             '23.94.0.0/15',
31             '65.99.193.0/24',
32             '65.99.246.0/24',
33             '66.225.194.0/23',
34             '66.225.198.0/24',
35             # extending 66.225.231.0/24 to include 66.225.232.0/24
36             '66.225.231.0-66.225.232.255',
37             '69.31.134.0/24',
38             '72.249.94.0/24',
39             '72.249.124.0/24',
40             '75.102.10.0/24',
41             '75.102.27.0/24',
42             '75.102.34.0/24',
43             '75.102.38.0/23',
44             '75.127.0.0/20',
45             '96.8.112.0/20',
46             '104.168.0.0/17',
47             '107.172.0.0/14',
48             '108.174.48.0/20',
49             '172.245.0.0/16',
50             '192.3.0.0/16',
51             '192.210.128.0/17',
52             '192.227.128.0/17',
53             '198.12.64.0/18',
54             '198.23.128.0/17',
55             '198.46.128.0/17',
56             '198.144.176.0/20',
57             '199.21.112.0/22',
58             '199.188.100.0/22',
59             # extending 205.234.152.0/24 to include 205.234.153.0/24
60             '205.234.152.0/23',
61             '205.234.159.0/24',
62             '205.234.203.0/24',
63             '206.123.95.0/24',
64             '206.217.128.0/20',
65             '207.210.239.0/24',
66             '216.246.49.0/24',
67             # extending 216.246.108.0/24 to include 216.246.109.0/24
68             '216.246.108.0/23',
69             '2607:9d00::/32',
70             );
71 1         7 return $self;
72             }
73              
74             sub name {
75 3     3 0 11 return 'ColoCrossing';
76             }
77              
78             1;
79              
80             __END__