filtering
Safesquid Content Filtering Proxy 4.2.2.RC7
Antivirus and content filtering proxy server more>> Safesquid is an antivirus and content filtering proxy server. It has many advanced features like URL blacklists, bandwidth management, regular expression substitution on Website content and requested URLs, ICP and CARP support to interoperate with other proxy servers, configuration synchronization to ease management of proxy servers in a cluster, ICAP support to use third-party content adaptation software, image and link prefetching, HTTP and FTP content caching, NTLM and Basic authentication, and an intutive Web interface to configure the proxy server.<<less
Content Filtering Proxy SafeSquid 4.2.2.RC8.2
CONTENT FILTERING PROXY SERVER, WEB FILTER, INTERNET FILTER, REAL-TIME FILTER more>> SafeSquid is a Content Filtering Proxy Server - BROWSER BASED INTERFACE, VERY FAST THROUGHPUT, DNS CACHING, CONTENT CACHING, PREFETCHING, BANDWIDTH CONTROL, VIRUS SCAN, Source, Target & Time based GRANULAR FireWall style rules to allow / deny content like music, videos, flash & java applets, messengers, chats, cookies, activex, scripts, etc. REMOTE AUTHENTICATION, REAL-TIME TEXT & IMAGE ANALYSIS for blocking PORNOGRAPHY. LIVE REMOTE SUPPORT.<<less
SEO Filter Lite 1.0.0
SEO Filter is a Search Engine Optimization Software for forums. It catches the content from a forum or cms software and makes it more seo friendly by converting dynamic links into static and removing more>> SEO Filter is a Search Engine Optimization Software for forums.
It catches the content from a forum or cms software and makes it more seo friendly by converting dynamic links into static and removing session ids from links and much more.
<<less
Content Filtering Proxy SafeSquid 4.2.2.RC8.9
Content filtering proxy server - BROWSER BASED INTERFACE, VERY FAST THROUGHPUT, DNS CACHING, CONTENT CACHING, PREFETCHING, BANDWIDTH CONTROL, VIRUS SCAN, WEB FILTERING, REAL-TIME TEXT & IMAGE ANALYSIS more>>
SafeSquid is a Content Filtering Proxy Server. SafeSquid has a BROWSER BASED INTERFACE. SafeSquid offers arguably, worlds biggest set of Content Filtering features.
SafeSquids multi-threaded architecture, delivers industrys FASTEST THROUGHPUT, even while providing extreme content analysis and security. SafeSquid has an intelligent DNS cache, an extremely manageable content CACHING system, and configurable content pre-fetching that allows fast browsing of often viewed web-sites.
SafeSquid lets you create unlimited and extremely granular Internet Policies to define and deal with unlimited number of unique factors depending upon user / network / web-site / mime-type / size / time etc. SafeSquid allows you to create unlimited number of policies for allowing or BLOCKING SPECIFIC CONTENT, like music, ActiveX, JavaScripts, advertisement banners, etc., and even any part of the protocol header to ensure graded exchange of private information, from each web-site. Real-time text analysis and Image analysis besides categorized web-site databases ensure complete blocking of PORNOGRAPHY or replacing specific parts.
Users can be authenticated from a remote WINDOWS ADS / OpenLDAP servers. SafeSquid lets you, to THROTTLE SPEED for low priority users or applications. You can use a variety of ANTIVIRUS Software like ClamAV and any other ICAP based antivirus to stop viruses before they reach the client systems. SafeSquid allows you to customize the various templates, that are displayed when access or content is denied to the user. SafeSquids logs can be analyse to create a exhaustive USER ACTIVITY REPORTS.
It takes less than 3 minutes to install SafeSquid on a Linux based server. SafeSquid is backed by a very responsive and committed customer support. SUPPORT INCLUDES REMOTE LIVE-HAND-HOLDING. Various SafeSquid editions are available to serve small 20 user networks or thousands of concurrent users. SafeSquid has special features for use in CLUSTERS.
Requirements: Linux, kernel 2.6 or higher
Whats new in this version: http://www.safesquid.com/html/viewforum.php?f=293
<<lessXML::Filter::Tee 0.41
XML::Filter::Tee can send SAX events to multiple processor, with switching. more>>
SYNOPSIS
my $t = XML::Filter::Tee->new(
{ Handler => $h0 },
{ Handler => $h1 },
{ Handler => $h2 },
...
);
## Altering the handlers list:
$t->set_handlers( $h0, $h1, $h2, $h3 );
## Controlling flow to a handler by number and by reference:
$t->disable_handler( 0 );
$t->enable_handler( 0 );
$t->disable_handler( $h0 );
$t->enable_handler( $h0 );
## Use in a SAX machine (though see L and
## L for a more convenient way to build a machine
## like this):
my $m = Machine(
[ Intake => "XML::Filter::Tee" => qw( A B ) ],
[ A => ">>log.xml" ],
[ B => *OUTPUT ],
);
XML::Filter::Tee is a SAX filter that passes each event it receives on to a list of downstream handlers.
Its like XML::Filter::SAXT in that the events are not buffered; each event is sent first to the tap, and then to the branch (this is different from XML::SAX::Dispatcher, which buffers the events). Unlike XML::Filter::SAXT, it allows its list of handlers to be reconfigured (via "set_handlers") and it allows control over which handlers are allowed to receive events. These features are designed to make XML::Filter::Tee instances more useful with SAX machines, but they to add some overhead relative to XML::Filter::SAXT.
The events are not copied, since they may be data structures that are difficult or impossibly to copy properly, like parts of a C-based DOM implementation. This means that the handlers must not alter the events or later handlers will see the alterations.
XML::Filter::DocSplitter 0.41
XML::Filter::DocSplitter does multipass processing of documents. more>>
SYNOPSIS
## See XML::SAX::???? for an easier way to use this filter.
use XML::SAX::Machines qw( Machine ) ;
my $m = Machine(
[ Intake => "XML::Filter::DocSplitter" => qw( Filter ) ],
[ Filter => "My::Filter" => qw( Merger ) ],
[ Merger => "XML::Filter::Merger" => qw( Output ) ],
[ Output => *STDOUT ],
);
## Let the distributor coordinate with the merger
## XML::SAX::Manifold does this for you.
$m->Intake->set_aggregator( $m->Merger );
$m->parse_file( "foo" );
XML::Filter::DocSplitter is a SAX filter that allows you to apply a filter to repeated sections of a document. It splits a document up at a predefined elements in to multiple documents and the filter is run on each document. The result can be left as a stream of separate documents or combined back in to a single document using a filter like XML::SAX::Merger.
By default, the input document is split in all children of the root element. By that reckoning, this document has three sub-documents in it:
< doc >
< subdoc > .... < /subdoc >
< subdoc > .... < /subdoc >
< subdoc > .... < /subdoc >
< /doc >
When using without an aggregator, all events up to the first record are lost; with an aggregator, they are passed directly in to the aggregator as the "first" document. All elements between the records (the "n " text nodes, in this case) are also passed directly to the merger (these will arrive between the end_document and start_document calls for each of the records), as are all events from the last record until the end of the input document. This means that the first document, as seen by the merger, is incomplete; its missing its end_element, which is passed later.
The approach of passing events from the input document right on through to the merger differs from the way XML::Filter::Distributor works.
Version restrictions:
- Can only feed a single aggregator at the moment. I can fix this with a bit of effort.
XML::Filter::Dispatcher::Compiler 0.52
XML::Filter::Dispatcher::Compiler can compile rulesets in to code. more>>
SYNOPSIS
use XML::Filter::Dispatcher::Compiler qw( xinline );
my $c = XML::Filter::Dispatcher::Compiler->new( ... )
my $code = $c->compile(
Package => "My::Filter",
Rules => [
a/b/c => xinline q{warn "found a/b/c"},
],
Output => "lib/My/Filter.pm", ## optional
);
Most of the options from XML::Filter::Dispatcher are accepted.
NOTE: you cannot pass code references to compile() if you want to write the $code to disk, they will not survive. If you want to eval $code, this is ok.
METHODS
xinline
Hints to X::F::D that the string is inlinable code. This is a requirement when using the compiler and is so far (v.52) ignored elswhere. In xinlined code, $self refers to the current dispatcher and $e refers to the current events data. Or you can get that yourself in $_[0] and $_[1] as in a normal SAX event handling method.
compile
Accepts options that extend and override any previously set for the duration of the compile(), including the ruleset to compile.
libpcap 0.9.7
libpcap is a system-independent interface for user-level packet capture. more>>
Enhancements:
- Basic BPF filtering, Bluetooth, USB capturing on Linux, FreeBSD BIOCSDIRECTION ioctl, additional filter operations for 802.11 frame types, and support for filtering on MTP2 frame types were all added, and numerous other minor enhancements and bugfixes were made.
SyslogScan::Daemon::SpamDetector::Filter 0.55
SyslogScan::Daemon::SpamDetector::Filter contains filter reports. more>>
SYNOPSIS
plugin SyslogScan::Daemon::SpamDetector as sd_
sd_plugin SyslogScan::Daemon::SpamDetector::Filter status spam match SpamAssassin field relayname acceptfirst 1 accept (?:bdynamicb|badsld*b|bcableb|.dhcp.|.dyn.) deny . debug 0
SyslogScan::Daemon::SpamDetector::Filter looks at spam reported via SyslogScan::Daemon::SpamDetectors process_spam_match() function. It acts as a filter and can block reports.
This module can be used with the SyslogScan::Daemon::SpamDetector::SpamAssassin module and the SyslogScan::Daemon::SpamDetector::BlockList module to prevent too many sites from being blocked. The configuration in the "SYNOPSIS" is an example of how to do this.
CONFIGURATION PARAMETERS
The following configuration parameters are supported:
debug
Debugging on (1) or off (0).
logname
A string to prepend to debug and log output. (Default: FILTER)
status
What kind of report are we looking at? Choices are: ham, spam, or idmap. (Default: spam). When called from SyslogScan::Daemon::SpamDetector::BadAddr, the status will be badaddr.
match
What kind of match are we looking at? Each module that makes reports sets this parameter. Current choices are: SpamAssassin, Postfix, Sendmail, SpamSink, and various BadAddr::*. A regualar expression match is done on this field. No default.
field
Which field from %info will we examine with the accept and deny regular expressions? No default.
accept
What is the regular expression for passing this filter?
deny
What is the regular expression for being rejected by this filter?
acceptfirst
Check the accept expression first? (Default: 1).
IM-Filter 0.9 RC1
IM-Filter is a daemon for GNU/Linux firewall hosts written in C which is able to analyze and filter the ICQ protocol. more>>
IM-Filters main purpose is to run at a gateway, so all ICQ-related traffic of users in the LAN runs over IM-Filter. Nevertheless the daemon could also be used directly on end users computers. The following diagram shows, how the daemon is integrated in a GNU/Linux system.
One of the design goals of IM-Filter was modularity. So plugins for other protocols like MSN or IRC could be written easily. The source code already contains skeleton code for an IRC module.
Together with the source code, adequate iptables scripts are provided so that only packets which belong to ICQ traffic get in the netfilter queue of IM-Filter.
Main features:
Logging of messages sent via ICQ
IM-Filter is able to identify and log messages which have been sent via the ICQ protocol. These messages contain a timestamp, an IP-address, the appropriate UIN and - of course - the message itself. A logged message could look like this:
[2007-07-27 11:24:21] IP "10.0.0.1" sent following message to #123456789: "hello, this is a test"
Blacklists for messages and UINs
IM-Filter handles two different blacklists: for messages and for UINs. The message blacklist holds strings which must not occur in text messages. When such a string is detected in a message, it gets censored in the logfiles.
The UIN blacklist contains UINs of users which are not allowed to connect to the ICQ network. Those blacklists can be re-read by the daemon during runtime by sending signals.
Detection and blocking of file transfers
Since file transfers are not always welcome, they can be blocked by invoking the daemon with a specific command line argument. Then, users in the LAN can not send files to other users anymore. Beside blocking, the daemon logs file transfers. Such a log entry can look like this:
[2007-07-06 17:01:26] FILTRANSFER detected (outgoing): receiver uin: #123456789 || filename: test.txt || size: 143360B
List with currently logged in users
To be able to know which users are currently logged in, IM-Filter manages a text file which holds all necessary information. By default, the file is placed in /var/log/imfilter.users and contains IP-address and UIN of the users which are currently logged in. The file could look like this:
UIN=123456789, IP=10.0.0.1
UIN=234567890, IP=10.0.0.22
UIN=345678901, IP=10.0.0.4
Chess::PGN::Filter 0.13
Chess::PGN::Filter is a Perl extension for converting PGN files to other formats. more>>
SYNOPSIS
use Chess::PGN::Filter;
filter(source => $pgn,filtertype => XML);
OR
my %substitutions = (
hsmyers => Myers, Hugh S (ID),
);
my @exclude = qw(
WhiteElo
BlackElo
EventDate
);
filter(
source => $pgn,
filtertype => TEXT,
substitutions => %substitutions,
nags => yes,
exclude => @exclude,
);
OR
filter(
source => $pgn,
filtertype => DOM,
);
OR
$dom = filter(
source => $pgn,
filtertype => DOM,
verbose => 0,
);
This is a typical text in one side, different text out the otherside filter module. There are as of this writing, the following supported choices:
1. XML -- Converts from .pgn to .xml using the included pgn.dtd as the validation document. This is for the most part a one to one transliteration of the PGN standard into XMLese. It does have the additional virtue of allowing positions to be encoded within the XML output. These are generated by an embedded NAG of {0} and automatically (user controlled) at the end of each game. As a kind of adjunct to the position diagrams, pgn.dtd optionally allows each move to include its FEN string. This allows scripted animation for web pages generated this information.
2. TEXT -- Although the PGN standard is widely available, many program that generate .pgn do so in an ill-formed way. This mode is an attempt to normalize away the various flaws found in the wild! This includes things like game text all on a single line without a preceding blank line. Or castling indicated with zeros rather than the letter O. There is at least one application that carefully indents the first move! The list of oddities is probably as long as the list of applications.
3. DOM -- A Document Object Model (DOM) makes for a very convenient interim form, common to all other filter types. Useful in both the design and debugging phases of filter construction. By way of self-documentation, here is an example of a single game that shows all of the obvious features of the DOM:
$VAR1 = {
Tags => {
Site => Boise (ID),
Event => Cabin Fever Open,
Round => 1,
ECO => ?,
Date => 1997.??.??,
White => Barrett Curtis,
Black => Myers Hugh S,
Result => 1-0
},
Gametext => [
{
Movenumber => 1,
Epd => rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3,
Movetext => e4
},
{
Movenumber => 2,
Epd => rnbqkbnr/ppp1pppp/8/3p4/4P3/8/PPPP1PPP/RNBQKBNR w KQkq d6,
Movetext => d5
},
{
Movenumber => 3,
Epd => rnbqkbnr/ppp1pppp/8/3pP3/8/8/PPPP1PPP/RNBQKBNR b KQkq -,
Movetext => e5
},
{
Movenumber => 4,
Comment => Playing ...Bf5 before closing the c8-h3 diagonal has some positive features.,
Epd => rnbqkbnr/ppp2ppp/4p3/3pP3/8/8/PPPP1PPP/RNBQKBNR w KQkq -,
Movetext => e6
},
{
Movenumber => 5,
Epd => rnbqkbnr/ppp2ppp/4p3/3pP3/3P4/8/PPP2PPP/RNBQKBNR b KQkq d3,
Movetext => d4
},
{
Movenumber => 6,
Comment => Time to think like a Frenchie - c7-c5!,
Epd => r1bqkbnr/ppp2ppp/2n1p3/3pP3/3P4/8/PPP2PPP/RNBQKBNR w KQkq -,
Movetext => Nc6,
Rav => [
{
Movenumber => 6,
Epd => rnbqkbnr/pp3ppp/4p3/2ppP3/3P4/8/PPP2PPP/RNBQKBNR w KQkq c6,
Movetext => c5
}
]
},
.
.
.
{
Movenumber => 29,
Comment => (Bxe5) Black could still kick for a while if he had played ...Bxe5.,
Epd => r1bq1rk1/2p1npb1/2n1p2P/pp1pP1p1/3P2P1/2P4Q/PP2BP2/RNB1K2R b KQ -,
Movetext => h6
}
]
};
tcpdump 3.9.7
tcpdump is a packet filtering library that works with libcap. more>>
Most notably, tcpdump needs this to work, and there is also a perl module (still in beta) which can use this as well. In plain english, if you want to write your own network traffic analyzer, this is the place to start.
XML::Filter::Dispatcher::AsStructHandler 0.52
XML::Filter::Dispatcher::AsStructHandler Perl module can help you convert SAX stream in to simple, data-oriented structure. more>>
SYNOPSIS
## Ordinarily used via the XML::Filter::Dispatchers as_data_struct()
## built-in extension function for XPath
This SAX2 handler builds a simple hash from XML. Text from each element and attribute is stored in the hash with a key of a relative path from the root down to the current element.
The goal is to produce a usable structure as simply and quickly as possible; use XML::Simple for more sophisticated applications.
The resulting data structure has one hash per element, one scalar per attribute, and one scalar per text string in each leaf element.
Warnings are emitted if any content other than whitespace is discarded.
The root element name is discarded.
If you are using namespaces, you must pass in the Namespaces option, otherwise not. Using namespaces without a Namespaces option or vice versa will not work.
Only start_document(), start_element(), characters(), end_element(), and end_document() are provided; so all comments, processing instructions etc., are discarded.
XML::Filter::DataIndenter 0.1
XML::Filter::DataIndenter is a SAX2 Indenter for data oriented XML. more>>
SYNOPSIS
use XML::Filter::DataIndenter;
use XML::SAX::Machines qw( Pipeline );
Pipeline( XML::Filter::DataIndenter => *STDOUT );
ALPHA CODE ALERT: This is the first release. Feedback and patches welcome.
In data oriented XML, leaf elements (those which contain no elements) contain only character content, all other elements contain only child elements and ignorable whitespace. This filter consumes all whitespace not in leaf nodes and replaces it with whitespace that indents all elements. Character data in leaf elements is left unmolested.
This filter assumes youre emitting data oriented XML. It will die if it sees non-whitespace character data outside of a leaf element. It also dies if it sees start-tag / end-tag mismatch, just as a service to the programmer.
Processing instructions and comments are indented as though they were leaf elements except when they occur in leaf elements.
Example:
This document:
< a>< ?A?>
< !--A-->< b>< ?B?>< !--B-->B< /b>
< !--A-->
< /a>
gets reindented as:
< a>
< ?A?>
< !--A-->
< b>< ?B?>< !--B-->B< /b>
< !--A-->
< /a>
(plus or minus a space in each PI, depending on your XML writer).
Pod::POM::View::HTML::Filter 0.09
Pod::POM::View::HTML::Filter Perl module can use filters on sections of your pod documents. more>>
SYNOPSIS
In your POD:
Some coloured Perl code:
=begin filter perl
# now in full colour!
$A++;
=end filter
=for filter=perl $A++; # this works too
This should read C :
=begin filter foo
bar foo bar
=end filter
In your code:
my $view = Pod::POM::View::HTML::Filter->new;
$view->add(
foo => {
code => sub { my $s = shift; $s =~ s/foo/bar/gm; $s },
# other options are available
}
);
my $pom = Pod::POM->parse_file( /my/pod/file );
$pom->present($view);
/* Perl colouring styles */ .c { color: #228B22;} /* comment */ .cm { color: #000000;} /* comma */ .co { color: #000000;} /* colon */ .h { color: #CD5555; font-weight:bold;} /* here-doc-target */ .hh { color: #CD5555; font-style:italic;} /* here-doc-text */ .i { color: #00688B;} /* identifier */ .j { color: #CD5555; font-weight:bold;} /* label */ .k { color: #8B008B; font-weight:bold;} /* keyword */ .m { color: #FF0000; font-weight:bold;} /* subroutine */ .n { color: #B452CD;} /* numeric */ .p { color: #000000;} /* paren */ .pd { color: #228B22; font-style:italic;} /* pod-text */ .pu { color: #000000;} /* punctuation */ .q { color: #CD5555;} /* quote */ .s { color: #000000;} /* structure */ .sc { color: #000000;} /* semicolon */ .v { color: #B452CD;} /* v-string */ .w { color: #000000;} /* bareword */ -->
The resulting HTML will look like this (modulo the stylesheet):
# now in full colour!
$A++;
$A++; # this works too
This should read bar bar bar:
bar bar bar