Razor2:...t::Agent(3)
okay so bestie, welcome to Razor2:...t::Agent(3) ๐
from the User Contributed Perl Documentation โ yes, that's the manual name, folded in right here at the top so nobody gets confused. This page is all about Razor2::Client::Agent, and it's giving command-line-interface-for-a-spam-detection-network energy. Periodt. โจ
โจ NAME โจ
Razor2::Client::Agent โ Command-line interface for Vipul's Razor spam detection. ๐ก๏ธ
๐ธ SYNOPSIS ๐ธ
okay so you load it like this, bestie:
use Razor2::Client::Agent;
my $agent = Razor2::Client::Agent->new('razor-check');
$agent->read_options() or $agent->raise_error;
$agent->do_conf() or $agent->raise_error;
my $rc = $agent->doit({});
exit $rc;
๐ฆ DESCRIPTION ๐ฆ
Razor2::Client::Agent gives you the user interface layer for Vipul's Razor, a distributed, collaborative spam detection and filtering network. No cap, that's the whole vibe. ๐
It implements the command-line tools razor-check, razor-report, razor-revoke, and razor-admin. ๐
This module inherits from Razor2::Client::Core (network protocol), Razor2::Client::Config (configuration management), Razor2::Logger (logging), and Razor2::String (utility functions). It's giving "stacked inheritance" and we love that for it. ๐ง
Typical usage is through the command-line programs rather than calling this module directly. See razor-check(1), razor-report(1), razor-revoke(1), and razor-admin(1). ๐ซถ
๐ง METHODS ๐ง
okay these are the methods, and every single one is here โ no skips, no cap. ๐ซก
new($breed)โ Constructor energy.$breedis the full program name, which must end with one of"razor-check","razor-report","razor-revoke", or"razor-admin". The breed determines which operations are available. Also deletes$ENV{PATH}and$ENV{BASH_ENV}for taint safety. ๐ก๏ธread_options($agent)โ Parses command-line options viaGetopt::Long. Returns true on success, false on error (error message available viaerrstr()). ๐do_conf()โ Processes configuration: resolves razorhome, reads the config file, sets up logging, and creates the home directory if-createwas specified. Must be called afterread_options(). That's not a suggestion, bestie. ๐ธdoit($args)โ Main dispatcher. Calls the appropriate handler based on the breed:checkit()for check,adminit()for admin,reportit()for report and revoke. Returns0for match (spam),1for no match (not spam), or2for error. ๐ฏcheckit($args)โ Checks mail against the Razor catalogue servers. Accepts input as filenames, mbox files, signatures on the command line, or a filehandle in$args. Return values:0= spam detected,1= not spam,2= error. ๐reportit($args)โ Reports mail as spam (or revokes a previous report). Requires a valid Razor identity; attempts automatic registration if none is found. Backgrounds itself unless-f(foreground) is specified. Return values:0= success,2= error. ๐ฎadminit($args)โ Handles administrative tasks: creating razorhome (-create), server discovery (-discover), and identity registration (-register). Return values:0= success,2= error. ๐parse_mbox($args)โ Parses input into individual mail messages. Supports mbox format (splitting on^Fromlines), single RFC 822 messages, filehandle input (via$args->{fh}), and array reference input (via$args->{aref}). Returns an array reference of scalar references to mail content. ๐ฌlocal_check($obj)โ Performs local whitelist and mailing-list checks. Returns true if the mail should be skipped (not checked against the server). ๐ โโ๏ธread_whitelist()โ Loads the whitelist file specified in the configuration. The whitelist maps header names to patterns; matching mail is skipped. ๐๏ธget_server_info()โ Reads server lists, loads cached server configurations, and resolves the next server to connect to. Called before network operations. ๐raise_error($errstr)โ Prints a fatal error message and exits with the Razor error code extracted from the message, or255if no code is found. ๐log($level, $msg)โ Logs a message at the given debug level. Uses theRazor2::Loggerinstance if available, otherwise prints toSTDOUTin debug mode. ๐ชตlogll($loglevel)โ Returns true if the current debug level is at or above$loglevel. Use this to guard expensive log message construction. ๐ฅ
๐ CONFIGURATION ๐
See razor-agent.conf(5) for configuration file format and options. ๐
The razorhome directory (default ~/.razor/, system-wide /etc/razor/) stores configuration files, server lists, identity files, and logs. That's the whole storage situation, bestie. ๐
๐ SEE ALSO ๐
razor-check(1)razor-report(1)razor-revoke(1)razor-admin(1)razor-agent.conf(5)razor-whitelist(5)Razor2::Client::CoreRazor2::Client::Config
๐ AUTHORS ๐
Vipul Ved Prakash, <mail@vipul.net> ๐
๐ LICENSE ๐
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
mwah ๐ this page was served by perl v5.44.0, dated 2026-10-17, and it's the Razor2:...t::Agent(3) page โ bye bestie, go check some spam! ๐ซถโจ
๐ฆ where this page comes from
- arch rolling: razor 2.88-2 ยท Artistic-2.0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms