-.TH RSPAMC 1 "" "Rspamd User Manual"
+.TH "RSPAMC" "1" "" "Rspamd User Manual" ""
.SH NAME
.PP
-rspamc - rspamd command line client
+rspamc \- rspamd command line client
.SH SYNOPSIS
.PP
-rspamc [\f[I]options\f[]] [\f[I]command\f[]] [\f[I]input-file\f[]]...
+rspamc [\f[I]options\f[]] [\f[I]command\f[]] [\f[I]input\-file\f[]]...
.PP
-rspamc --help
+rspamc \-\-help
.SH DESCRIPTION
.PP
Rspamc is a simple client for checking messages using rspamd or for
.IP \[bu] 2
\f[I]learn_ham\f[]: learn message as ham
.IP \[bu] 2
-\f[I]fuzzy_add\f[]: add message to fuzzy storage (check \f[C]-f\f[] and
-\f[C]-w\f[] options for this command)
+\f[I]fuzzy_add\f[]: add message to fuzzy storage (check \f[C]\-f\f[] and
+\f[C]\-w\f[] options for this command)
.IP \[bu] 2
-\f[I]fuzzy_del\f[]: delete message from fuzzy storage (check \f[C]-f\f[]
-option for this command)
+\f[I]fuzzy_del\f[]: delete message from fuzzy storage (check
+\f[C]\-f\f[] option for this command)
.IP \[bu] 2
\f[I]stat\f[]: show rspamd statistics
.IP \[bu] 2
.RE
.PP
Control commands that modifies rspamd state are considered as privileged
-and basically requires a password to be specified with \f[C]-P\f[]
+and basically requires a password to be specified with \f[C]\-P\f[]
option (see \f[B]OPTIONS\f[], below, for details).
This depends on a controller\[aq]s settings and is discussed in
-\f[C]rspamd-workers\f[] page.
+\f[C]rspamd\-workers\f[] page.
.PP
\f[C]Input\ files\f[] may be either regular file(s) or a directory to
scan.
Controller commands usually does not accept any input, however learn*
and fuzzy* commands requires input.
.SH OPTIONS
-.PP
--h \f[I]host[:port]\f[], --connect=\f[I]host[:port]\f[] Specify host and
-port
-.PP
--P \f[I]password\f[], --password=\f[I]password\f[] Specify control
-password
.TP
-.B -c \f[I]name\f[], --classifier=\f[I]name\f[]
+.B \-h \f[I]host[:port]\f[], \-\-connect=\f[I]host[:port]\f[]
+Specify host and port
+.RS
+.RE
+.TP
+.B \-P \f[I]password\f[], \-\-password=\f[I]password\f[]
+Specify control password
+.RS
+.RE
+.TP
+.B \-c \f[I]name\f[], \-\-classifier=\f[I]name\f[]
Classifier to learn spam or ham (bayes is used by default)
.RS
.RE
.TP
-.B -w \f[I]weight\f[], --weight=\f[I]weight\f[]
+.B \-w \f[I]weight\f[], \-\-weight=\f[I]weight\f[]
Weight for fuzzy operations
.RS
.RE
.TP
-.B -f \f[I]number\f[], --flag=\f[I]number\f[]
+.B \-f \f[I]number\f[], \-\-flag=\f[I]number\f[]
Flag for fuzzy operations
.RS
.RE
.TP
-.B -p, --pass
+.B \-p, \-\-pass
Pass all filters
.RS
.RE
.TP
-.B -v, --verbose
+.B \-v, \-\-verbose
More verbose output
.RS
.RE
.TP
-.B -i \f[I]ip address\f[], --ip=\f[I]ip address\f[]
+.B \-i \f[I]ip address\f[], \-\-ip=\f[I]ip address\f[]
Emulate that message was received from specified ip address
.RS
.RE
.TP
-.B -u \f[I]username\f[], --user=\f[I]username\f[]
+.B \-u \f[I]username\f[], \-\-user=\f[I]username\f[]
Emulate that message was from specified user
.RS
.RE
.TP
-.B -d \f[I]user\@domain\f[], --deliver=\f[I]user\@domain\f[]
+.B \-d \f[I]user\@domain\f[], \-\-deliver=\f[I]user\@domain\f[]
Emulate that message is delivered to specified user
.RS
.RE
.TP
-.B -F \f[I]user\@domain\f[], --from=\f[I]user\@domain\f[]
+.B \-F \f[I]user\@domain\f[], \-\-from=\f[I]user\@domain\f[]
Emulate that message is from specified user
.RS
.RE
.TP
-.B -r \f[I]user\@domain\f[], --rcpt=\f[I]user\@domain\f[]
+.B \-r \f[I]user\@domain\f[], \-\-rcpt=\f[I]user\@domain\f[]
Emulate that message is for specified user
.RS
.RE
.TP
-.B --helo=\f[I]helo_string\f[]
+.B \-\-helo=\f[I]helo_string\f[]
Imitate SMTP HELO passing from MTA
.RS
.RE
.TP
-.B --hostname=\f[I]hostname\f[]
+.B \-\-hostname=\f[I]hostname\f[]
Imitate hostname passing from MTA (rspamd assumes that it is verified by
MTA)
.RS
.RE
.TP
-.B -t \f[I]seconds\f[], --timeout=\f[I]seconds\f[]
-Timeout for waiting for a reply
+.B \-t \f[I]seconds\f[], \-\-timeout=\f[I]seconds\f[]
+Timeout for waiting for a reply (can be floating point number, e.g.
+0.1)
.RS
.RE
.TP
-.B -b \f[I]host:port\f[], --bind=\f[I]host:port\f[]
+.B \-b \f[I]host:port\f[], \-\-bind=\f[I]host:port\f[]
Bind to specified ip address
.RS
.RE
.TP
-.B --commands
+.B \-j, \-\-json
+Output formatted JSON
+.RS
+.RE
+.TP
+.B \-\-ucl
+Output UCL
+.RS
+.RE
+.TP
+.B \-\-raw
+Output raw data received from rspamd (compacted JSON)
+.RS
+.RE
+.TP
+.B \-\-headers
+Output HTTP headers from a reply
+.RS
+.RE
+.TP
+.B \-n \f[I]parallel_count\f[],
+\-\-max\-requests=\f[I]parallel_count\f[]
+Maximum number of requests to rspamd executed in parallel (1 by default)
+.RS
+.RE
+.TP
+.B \-\-commands
List available commands
.RS
.RE
.IP
.nf
\f[C]
-rspamc\ -P\ pass\ learn_spam\ file1\ file2\ file3
+rspamc\ \-P\ pass\ learn_spam\ file1\ file2\ file3
\f[]
.fi
.PP
.IP
.nf
\f[C]
-rspamc\ -P\ pass\ -f\ 2\ -w\ 10\ fuzzy_add\ file1\ file2
+rspamc\ \-P\ pass\ \-f\ 2\ \-w\ 10\ fuzzy_add\ file1\ file2
\f[]
.fi
.PP
.IP
.nf
\f[C]
-rspamc\ -P\ pass\ -h\ hostname:11334\ -f\ 2\ fuzzy_del\ file1\ file2
+rspamc\ \-P\ pass\ \-h\ hostname:11334\ \-f\ 2\ fuzzy_del\ file1\ file2
\f[]
.fi
.PP
# OPTIONS
-h *host[:port]*, \--connect=*host[:port]*
- Specify host and port
+: Specify host and port
-P *password*, \--password=*password*
- Specify control password
+: Specify control password
-c *name*, \--classifier=*name*
: Classifier to learn spam or ham (bayes is used by default)
: Imitate hostname passing from MTA (rspamd assumes that it is verified by MTA)
-t *seconds*, \--timeout=*seconds*
-: Timeout for waiting for a reply
+: Timeout for waiting for a reply (can be floating point number, e.g. 0.1)
-b *host:port*, \--bind=*host:port*
: Bind to specified ip address
+-j, \--json
+: Output formatted JSON
+
+\--ucl
+: Output UCL
+
+\--raw
+: Output raw data received from rspamd (compacted JSON)
+
+\--headers
+: Output HTTP headers from a reply
+
+-n *parallel_count*, \--max-requests=*parallel_count*
+: Maximum number of requests to rspamd executed in parallel (1 by default)
+
\--commands
: List available commands
-.TH RSPAMD 8 "" "Rspamd User Manual"
+.TH "RSPAMD" "8" "" "Rspamd User Manual" ""
.SH NAME
.PP
-rspamd - main daemon for rapid spam filtering system
+rspamd \- main daemon for rapid spam filtering system
.SH SYNOPSIS
.PP
rspamd [\f[I]options\f[]]...
.PP
-rspamd --help
+rspamd \-\-help
.SH DESCRIPTION
.PP
Rspamd filtering system is designed to be fast, modular and easily
not block anywhere in code.
.SH OPTIONS
.TP
-.B -t, --config-test
+.B \-t, \-\-config\-test
Perform config test and exit
.RS
.RE
.TP
-.B -f, --no-fork
+.B \-f, \-\-no\-fork
Do not daemonize main process
.RS
.RE
.TP
-.B -c \f[I]path\f[], --config=\f[I]path\f[]
+.B \-c \f[I]path\f[], \-\-config=\f[I]path\f[]
Specify config file(s)
.RS
.RE
.TP
-.B -u \f[I]username\f[], --user=\f[I]username\f[]
+.B \-u \f[I]username\f[], \-\-user=\f[I]username\f[]
User to run rspamd as
.RS
.RE
.TP
-.B -g \f[I]groupname\f[], --group=\f[I]groupname\f[]
+.B \-g \f[I]groupname\f[], \-\-group=\f[I]groupname\f[]
Group to run rspamd as
.RS
.RE
.TP
-.B -p \f[I]path\f[], --pid=\f[I]path\f[]
+.B \-p \f[I]path\f[], \-\-pid=\f[I]path\f[]
Path to pidfile
.RS
.RE
.TP
-.B -C, --dump-cache
+.B \-C, \-\-dump\-cache
Dump symbols cache stats and exit
.RS
.RE
.TP
-.B -d, --debug
+.B \-d, \-\-debug
Force debug output
.RS
.RE
.TP
-.B -i, --insecure
+.B \-i, \-\-insecure
Ignore running workers as privileged users (insecure)
.RS
.RE
.TP
-.B --test-lua=\f[I]path\f[]
+.B \-\-test\-lua=\f[I]path\f[]
Specify lua file(s) to test
.RS
.RE
.TP
-.B --sign-config=\f[I]path\f[]
+.B \-\-sign\-config=\f[I]path\f[]
Specify config file(s) to sign
.RS
.RE
.TP
-.B --private-key=\f[I]path\f[]
+.B \-\-private\-key=\f[I]path\f[]
Specify private key to sign
.RS
.RE
-.TP
-.B --convert-config=\f[I]path\f[]
-Convert configuration to UCL
-.RS
-.RE
.SH EXAMPLES
.PP
Run rspamd daemon with default configuration:
.IP
.nf
\f[C]
-rspamd\ -f\ -c\ ~/rspamd.conf
+rspamd\ \-f\ \-c\ ~/rspamd.conf
\f[]
.fi
.PP
.IP
.nf
\f[C]
-rspamd\ -u\ rspamd\ -g\ rspamd\ -c\ /etc/rspamd/rspamd.conf
+rspamd\ \-u\ rspamd\ \-g\ rspamd\ \-c\ /etc/rspamd/rspamd.conf
\f[]
.fi
.PP
.IP
.nf
\f[C]
-rspamd\ --test-lua=~/test1.lua\ --test-lua=~/test2.lua
-\f[]
-.fi
-.PP
-Sign config files for \f[C].includes\f[] macro:
-.IP
-.nf
-\f[C]
-rspamd\ --private-key=sign.key\ --sign-config=rspamd.conf
+rspamd\ \-\-test\-lua=~/test1.lua\ \-\-test\-lua=~/test2.lua
\f[]
.fi
.PP
-Convert old \f[C]XML\f[] config to the \f[C]UCL\f[] format (since
-0.6.0):
+Sign config files for \f[C]\&.includes\f[] macro:
.IP
.nf
\f[C]
-rspamd\ -c\ /etc/rspamd.xml\ --convert-config=/etc/rspamd/rspamd.conf
+rspamd\ \-\-private\-key=sign.key\ \-\-sign\-config=rspamd.conf
\f[]
.fi
.SH SEE ALSO