RAZOR-REPORT(1)

πŸ¦‹ RAZOR-REPORT(1) β€” omg bestie, it's the report spam tool

okay so welcome to razor-report(1), also known as the Razor Reporting Agent πŸ’… this is the perl-documented one, and yes we're gonna read the whole thing together, no skimming, periodt.


✨ NAME ✨

razor-report β€” the Razor Reporting Agent πŸŽ€ (that's literally the name, she's an agent, she reports, iconic)


🌸 SYNOPSIS 🌸

razor-report [options]  file_with_mail_in_rfc822_format

$ cat mail | razor-report
$ razor-report ./mail
$ razor-report -d ./mail

like, four whole ways to feed her, pick your fighter 🫢


πŸ’– DESCRIPTION πŸ’–

okay so razor-report is the Razor Reporting Agent, and her whole job is reporting spam messages to a Razor Nomination Server πŸ”₯ she should generally get called from a MUA, but ngl there are no restrictions on invoking her straight from the command-line β€” do what you want, main character energy.

razor-report is a filter, which means spam messages should be piped through her 🌈 and by default she backgrounds and detaches herself from the control terminal at start-up (she's mysterious like that, she leaves the chat).

if razor-report is passed more than one mail, she will report each against the database. ⚠️ but bestie, please use this with caution β€” we don't want the database filled up with mails incorrectly identified as spam, that's a whole mess 😭

razor-report supports mbox-formatted files with 1 or more mails in them, as well as files containing a single RFC 822 (non-mbox) mail. more than one file may be present on the command line, and each can be either a non-mbox or mbox in any order πŸ’«

but!! more than one non-mbox mail cannot be read from stdin. that's the rule, she said so.

both razor-report and razor-revoke(1) require user authentication to work β€” see razor-admin(1) πŸ‘‘ this allows the Razor Nomination Server to keep track of how many messages a user reports and revokes. the more messages a user correctly reports and/or correctly revokes, the more trust the user earns ⭐ likewise, when messages are incorrectly reported or revoked, the trust goes down for that user πŸ“‰ highly trusted users will have the most affect on the Razor Catalogue. yes, lowercase "affect", that's how the original said it, I don't make the rules πŸ’€


πŸ’… USAGE πŸ’…

razor-report takes the following arguments:

  • -h β€” print a usage message and exit. that's it, that's the whole vibe πŸ™ˆ
  • -v β€” print the version number and exit. she's telling you her age πŸŽ€
  • -d | --verbose β€” print debugging information to stdout. loud and proud, we love a transparent queen ✨
  • -debuglevel=n | -dl=n β€” set debug level to n. default is 3 without -d, and 9 with. yeah she dials it up to nine when she's in debug mode πŸ”₯
  • -whitelist=file β€” specify file to use for whitelisting. overrides the 'whitelist' option in razor-agent.conf 🫢
  • -s β€” simulate a check. do everything except talk to the server. she's practicing her speech in the mirror, no cap πŸͺž
  • -conf=filename β€” specifies an alternate configuration file. if not specified, it is computed, see razor-agents(1) manpage for details. see razor-agent.conf(5) manpage for various configuration options. the default is <razorhome>/razor-agent.conf 🌸
  • -home=dir β€” specify razorhome directory. this is where the configuration file, logfiles, identities, and server files live 🏠 if not specified, it is computed, see razor-agents(1) manpage for details.
  • -logfile=file β€” specify file to log to instead of whats in configuration file. the default is <razorhome>/razor-agent.log πŸ“ (and yes, "whats" with no apostrophe, we keep it real here)
  • -ident=filename β€” specify an identify file to use for authenticating with Razor Servers. if not specified, <razorhome>/identity-<user> is used πŸͺͺ
  • -rs=razor.server.com β€” use this Razor Nomination Server instead of reading servers.nomination.lst πŸ‘‘ pick your own server, queen
  • -H β€” compute and print the signature of the mail contents and exit. if -e=integer is not specified, all supported engines will be used 🧚
  • -S=string β€” accept a list of pre-computed (with -H) signatures on the command line, instead of computing one from mail content. signatures can be submitted in hex or base64, but base64 is preferred πŸ’– requires -e=integer. usage:
razor-report -e 1 -S a8a3d545adb73f9733675571ffeaf10cba87745b
  • -e=integer β€” specify engine used to create signatures. must be 1, 2, 3, or 4 in this version βš™οΈ engine 1, or -e=1, is used for Razor 1.x signatures. used only with -S=string or -H.
  • -ep4=string β€” string used by engine 4 when computing signatures. published by the Razor Nomination Servers and updated very frequently πŸ”„ used only when -e=4.
  • -i=filename β€” use identity from filename instead of reading <razorhome>/identity. Razor Servers compute trust for each unique identity 🫢 Razor Agents figure out the identity by a 2 step process. first, check if identity is specified via cmd-line (-i=file). if not there, then look in <razorhome> for identity file. if <razorhome> has no identity file, authentication will fail β€” you cannot report or revoke πŸ’€ see razor-agents.conf(5) for more on <razorhome>. ---fixme---- (yep, that's in the source, I'm not hiding it, we don't gatekeep 😭)
  • -a β€” authenticate only. if authenticated, exit 0; if not, exit 1. binary mood, she either is or she isn't ✨
  • -f β€” stay in foreground, do not detach and run in background. clingy in the best way πŸ₯Ί

πŸ• INTEGRATION WITH MUTT πŸ•

add the following line to mutt.conf:

macro index S "|/usr/bin/razor-report"

then press S on the spam message in mutt to report it with razor-report πŸ”₯ since razor-report forks, the control will return immediately. slay, no waiting around πŸ’…


πŸ‘‘ AUTHORS πŸ‘‘

Vipul Ved Prakash <mail@vipul.net>, and Chad Norwood <chad@samo.org> β€” legends, both of them 🌟


🌈 SEE ALSO 🌈

razor-agents(1), razor-agent.conf(5), razor-check(1), razor-admin(1), razor-revoke(1), razor-whitelist(5) β€” go read the whole friend group, they're all connected πŸ¦‹


πŸŽ€ LICENSE πŸŽ€

this is free software, distributed under the Artistic License 2.0 πŸ’œ


okay that's the whole page, go report some spam responsibly bestie πŸ“βœ¨ mwah πŸ’‹ β€” this one's perl v5.44.0, dated 2026-10-17, and that's the tea β˜•πŸ«Ά

πŸ“¦ where this page comes from