You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 4.0KB

11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. DESCRIPTION
  2. ===========
  3. Rspamd is a complex spam filter that allows to estimate messages by a number of
  4. rules including regular expression, statistical analysis and custom services,
  5. such as URL black lists. Each message is analysed by rspamd and got a *spam
  6. score*.
  7. According to this spam score and user's settings rspamd recommends to apply an
  8. action for this message to MTA, for example to pass, to reject or to add spam
  9. header. Rspamd has own unique features among spam filters:
  10. * event driven architecture allowing to process many messages at a time;
  11. * flexible syntax of rules allowing to write rules in lua language;
  12. * a lot of plugins and rules shipped with rspamd distribution;
  13. * highly optimized mail processing;
  14. * advanced statistic;
  15. All these features allow rspamd to process messages fast and demonstrate a
  16. suitable spam filtering.
  17. INSTALLATION
  18. ============
  19. Rspamd runs on a Unix like operational systems. FreeBSD users can use ports
  20. collection (mail/rspamd) for rspamd installation. Ubuntu users can use launchpad PPA:
  21. https://launchpad.net/~vsevolod-n/+archive/rspamd
  22. Users of other OSes should use sources to build and install rspamd. You can
  23. obtain rspamd sources at the bitbucket download page:
  24. https//:bitbucket.org/vstakhov/rspamd/downloads.
  25. There are packages for debian and CentOS/RHEL distribution. Debian users could
  26. use *debuild* utility to create the binary packages of rspamd. CentOS/RHEL
  27. users could use spec file and other RedHat specific stuff from **centos**
  28. folder. The users of other systems could try to adopt some package or just to
  29. build from sources.
  30. Build requirements
  31. ------------------
  32. Rspamd requires several 3-rd party software to build and run:
  33. * libevent - asynchronous event library
  34. * glib - common purposes library
  35. * gmime - mime parser
  36. * lua - extendable scripting language
  37. * cmake - advanced software build system
  38. You can either install them from sources or (recommended) install using package manager of your system.
  39. Build process
  40. -------------
  41. Building of rspamd is simple:
  42. $ cmake .
  43. $ make
  44. # make install
  45. After installation binaries, rules, plugins and a sample configuration will be
  46. installed in the target directories (prefixed by */usr/local* by default). To
  47. start working with rspamd you should do several steps (please note that this is
  48. not applicable to an installation based on packages, as such an installation
  49. have everything ready for using):
  50. 1. Copy a sample configuration *$PREFIX/etc/rspamd.xml.sample* to
  51. *$PREFIX/etc/rspamd.xml*
  52. 2. Edit *rspamd.xml* according to your system (described
  53. later).
  54. 3. Make a directory for rspamd pid file and data (*/var/run/rspamd* by
  55. default) and make rspamd user (*nobody* by default) as the owner of rspamd data
  56. directory.
  57. 4. Make a directory for rspamd logs (or setup syslog to accept
  58. rspamd log messages).
  59. 5. Install start script to a proper place.
  60. 6. Start rspamd using start script.
  61. If start script is not suitable for your system (now rspamd shipped with start
  62. script for FreeBSD, Debian and RedHat like operational systems) you should
  63. write a start script suitable for your system.
  64. FURTHER ACTIONS
  65. ===============
  66. You can improve quality of rspamd by learning its statistic module. The easiest
  67. way to do it is to use rspamc client (you can setup a custom email alias to
  68. pipe messages to rspamc)
  69. $ rspamc -P 'q1' -c bayes learn_spam [ file1 [file2 [...]]]
  70. $ rspamc -P 'q1' -c bayes learn_ham [ file1 [file2 [...]]]
  71. Note: you should consider to change default controller's password 'q1' to yours
  72. one specified in the controller section of configuration.
  73. Also a system administrator may want to customize rule's weights or actions
  74. thresholds. This can be easily done by editing metric section in the
  75. configuration file.
  76. For writing new rules you can examine the main rspamd documentation and lua api
  77. guide and reference.
  78. REFERENCES
  79. ==========
  80. * *Home site*: https://rspamd.com
  81. * *Downloads*: https://bitbucket.org/vstakhov/rspamd/downloads
  82. * *Wiki*: https://bitbucket.org/vstakhov/rspamd/wiki/