Net-Google-SafeBrowsing3
view release on metacpan or search on metacpan
lib/Net/Google/SafeBrowsing3.pm view on Meta::CPAN
package Net::Google::SafeBrowsing3;
use strict;
use warnings;
use Carp;
use LWP::UserAgent;
use URI;
use Digest::SHA qw(sha256);
use List::Util qw(first);
use Text::Trim;
use MIME::Base64::URLSafe;
use MIME::Base64;
use String::HexConvert;
use IO::Socket::SSL 'inet4';
use Google::ProtocolBuffers;
use Data::Dumper;
use Exporter 'import';
our @EXPORT = qw(DATABASE_RESET INTERNAL_ERROR SERVER_ERROR NO_UPDATE NO_DATA SUCCESSFUL MALWARE PHISHING UNWANTED LANDING DISTRIBUTION);
BEGIN {
IO::Socket::SSL::set_ctx_defaults(
# verify_mode => Net::SSLeay->VERIFY_PEER(),
SSL_verify_mode => 0,
);
}
our $VERSION = '0.8';
Google::ProtocolBuffers->parse("
message ChunkData {
required int32 chunk_number = 1;
// The chunk type is either an add or sub chunk.
enum ChunkType {
ADD = 0;
SUB = 1;
}
optional ChunkType chunk_type = 2 [default = ADD];
// Prefix type which currently is either 4B or 32B. The default is set
// to the prefix length, so it doesn't have to be set at all for most
// chunks.
enum PrefixType {
PREFIX_4B = 0;
FULL_32B = 1;
}
optional PrefixType prefix_type = 3 [default = PREFIX_4B];
// Stores all SHA256 add or sub prefixes or full-length hashes. The number
// of hashes can be inferred from the length of the hashes string and the
// prefix type above.
optional bytes hashes = 4;
// Sub chunks also encode one add chunk number for every hash stored above.
repeated int32 add_numbers = 5 [packed = true];
}
",
{create_accessors => 0 }
);
Google::ProtocolBuffers->parse("
message MalwarePatternType {
enum PATTERN_TYPE {
LANDING = 1;
DISTRIBUTION = 2;
}
required PATTERN_TYPE pattern_type = 1;
}
",
{create_accessors => 0 }
);
# TODO ###################################################
#Todo: request full hashes: seperate 32bytes for 4bytes
# Todo: optimize lookup_suffix, 1 search for all lists
=head1 NAME
This library is obsolete, please use Net::Google::SafeBrowsing4 instead.
( run in 0.688 second using v1.01-cache-2.11-cpan-39bf76dae61 )