SRSD(1p)
π SRSD(1p) β bestie, this is the srsd manual page π
okay so first things first: you're reading the manual for srsd, a User Contributed Perl doc, and I'm about to make it make sense. pull up a chair, grab a boba, we're doing this π§β¨
β¨ NAME β¨
srsd β it's a daemon interface to Mail::SRS. that's it, that's the vibe. π
πΈ SYNOPSIS πΈ
srsd --secretfile=/etc/srs_secret
look at her. one line. iconic. π
π¦ DESCRIPTION π¦
so the srsd daemon just... sits there on a socket and waits for SRS address transformation requests. like a little guy at a desk. someone asks "hey transform this address", she transforms the addresses, and hands the new addresses right back on the socket. no cap, that's the whole job. π
you can call her from exim using ${readsocket ...}, from sendmail via a TCP socket in a rule, and probably from other MTAs too. for examples, go peek at http://www.anarres.org/projects/srs/.
arguments? they take the form --name or --name=value. simple as. β¨
π ARGUMENTS π
--separator
a String, and you can specify it at most once. defaults to $SRSSEP (which is "=").
it sets the initial separator for the SRS address. if you want the details, that's a Mail::SRS thing, go read that one. π«Ά
--secret
a String, and this one you can specify multiple times β but listen, at least one of --secret or --secretfile must be specified, okay? non-negotiable.
it specifies an SRS secret. the first secret you specify is the one used for encoding. all of the secrets get used for decoding. so like, the first one is the main character, and the rest are still in the group chat. π
--secretfile
a String, specified at most once, and again: at least one of --secret or --secretfile must be specified.
this is a file you read for secrets. secrets are specified once per line, and they're written one per line. blank lines and lines starting with a # are ignored. the first specified secret is used for encoding. and if --secret is not given, then the secret file must be nonempty. periodt. π
ngl this part matters:--secretwill specify a primary secret and it will override--secretfileif both are specified. HOWEVER β and this is the sneaky bit β secrets read from--secretfilewill still be used for decoding if both are specified. so she's not fully ghosting the file, she's just not letting it encode. π
--hashlength
an Integer, may be specified at most once, and it defaults to 4.
it's the number of base64 characters to use for the cryptographic authentication code. so like, how chunky do you want the auth code. π
--help
prints some basic help. that's it. she's helpful. π₯°
π PROTOCOL π
a forward request looks like this:
FORWARD sender@source.com alias@forwarder.com
and a reverse request looks like this:
REVERSE srs0+HHH=TT=domain=local-part@forwarder.com
oh and also, a client called srsc has been included in this distribution, for testing purposes. love that for her. π§
π TODO π
the to-do list, bestie:
- add more daemon-related options.
- path to socket.
- document protocol.
so yeah, there's lore still unwritten. π
π SEE ALSO π
Mail::SRSMail::SRS::Daemonsrschttp://www.anarres.org/projects/srs/
π AUTHOR π
Shevek
CPAN ID: SHEVEK
cpan@anarres.org
http://www.anarres.org/projects/
β COPYRIGHT β
Copyright (c) 2004 Shevek. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
and that's the whole page, bestie!! π«Άβ¨
this little masterpiece is from perl v5.36.0, dated 2022-11-27, and it's the SRSD(1p) manual page. go forth and transform some addresses. slay πππ¦
π¦ where this page comes from
- debian bookworm: srs 0.31-9 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- debian trixie: srs 0.31-9 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu noble: srs 0.31-9 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu resolute: srs 0.31-9 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- ubuntu stonking: srs 0.31-9 Β· Artistic-1.0-Perl OR GPL-1.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms