Dansguardian
view release on metacpan or search on metacpan
lib/dansguardian.pm view on Meta::CPAN
package Dansguardian;
use warnings;
use strict;
use Carp;
use Tie::File;
our $VERSION = '0.05';
=head1 NAME
Dansguardian - Simple module for administer dansguardian's control files.
=head1 SYNOPSIS
use Dansguardian;
# Make the objet $dg using the contructor new()
my $dg = Dansguardian->new(dir => '/etc/dansguardian', group_dir => '/etc/dansguardian/lists');
# Save IP's banned in array
my @banned_ips = $dg->get('bannediplist');
print "The IP address $_ is banned!!\n" foreach @banned_ips;
# Add exception web site
my $site = 'mogaal.com';
$dg->set(file => 'exceptionsitelist', add => $site, comment => "Is not porn site");
# Remove banned IP
my $ip_free = '192.168.0.2';
$dg->remove(file => 'bannediplist', line => $ip_free);
# list sites banned
my @sites_banned = $dg->get('bannedsitelist');
print "The site $_ is banned!!\n" foreach @sites_banned;
# list dansguardian's config directory and the current group directory
print "Dansguardian's config directory is " . $dg->group() . " and " . $dg->dir() . " is the current group directory\n";
# Change group directory;
$dg->group("/etc/dansguardian/chiefs");
print "Dansguardian's config directory is " . $dg->dir() . " and " . $dg->group() . " is the current group directory\n";
=head1 DESCRIPTION
"DansGuardian is an award winning Open Source web content filter which currently runs on Linux, FreeBSD, OpenBSD, NetBSD, Mac OS X, HP-UX, and Solaris. It filters the actual content of pages based on many methods including phrase matching, PICS filte...
Dansguardian Perl module is small module for administer dansguardian's content control files. It let you add, remove and get information from files control across methods.
=head1 METHODS
Dansguardian perl module provides some basic methods for administer control files, with it you can add, remove and get information about IP's blocked, sites denies, IP exception and other information.
=head2 new (constructor)
$dg = Dansguardian->new([%attributes])
The constructor will create an object. It accepts a list of key => value pairs:
=over 3
=item dir => 'dansguardian/config/directory'
If you don't set up a config directory for dansguardian the module will set up default value: /etc/dansguardian
=item group_dir => 'path/to/group_dir/directory'
Same that dir hash, and the default value is: /etc/dansguardian/lists
=back
=cut
sub new {
my ($self, %args) = @_;
my $object = bless {
dir => $args{dir},
group_dir => $args{group_dir}
}, $self;
return $object;
}
=pod
=head2 $dg->group([$group_dir]);
If group method don't have attribute: the function return array with dansguardian current group directory. Is possible change the group directory setting up $group_dir variable.
=cut
sub group {
my $self = shift;
$self->{group_dir} = shift if @_;
return $self->{group_dir};
}
=pod
=head2 $dg->dir([$config_dir]);
If dir method don't have attribute: the function return array with dansguardian current config directory. Is possible change the group directory setting up $group_dir variable.
=cut
sub dir {
my $self = shift;
$self->{dir} = shift if @_;
return $self->{dir};
}
( run in 2.272 seconds using v1.01-cache-2.11-cpan-5735350b133 )