The Anti-Spam SMTP Proxy (ASSP) Server project aims to create an open source platform-independent SMTP Proxy server which implements auto-whitelists, self learning Bayesian, Greylisting, DNSBL, DNSWL, URIBL, SPF, SRS, Backscatter, Virus scanning, attachment blocking, Senderbase and multiple other filter methods. This page shows how to install ASSP on a [TrimSlice](http://trimslice.com/web/)

## Contents

*   [1 Features](#Features)
*   [2 Installation](#Installation)
    *   [2.1 Basic](#Basic)
    *   [2.2 Download ASSP](#Download_ASSP)
    *   [2.3 Create necessary directories](#Create_necessary_directories)
    *   [2.4 Install files in place](#Install_files_in_place)
    *   [2.5 CPAN](#CPAN)
*   [3 Configuration](#Configuration)
    *   [3.1 Start script](#Start_script)
*   [4 Start ASSP](#Start_ASSP)
    *   [4.1 Manually](#Manually)
    *   [4.2 Daemon](#Daemon)

## Features

*   Multiple Weighted DNSBLs
*   Multiple Weighted URIBLs
*   Greylisting
*   Weighted Regular Expression Filtering
*   Bayesian
*   Penalty Box
*   SenderBase
*   SSL/TLS
*   SPF/SRS
*   Attachment Blocking
*   ClamAV and FileScan
*   Blocking Reporting
*   LDAP support
*   Backscatter Detection
*   V2 - recipient replacement / GUI user access rights management
*   V2 - MIME charset conversion / DKIM check and signing
*   V2 - DB support for all hashes / level based open plugin support
*   V2 - transparent proxy support / BATV check and signing
*   V2 - Plugins: archive, full attachment check and replacement, OCR
*   V2 - damping (steal spammers time)
*   V2 - AUTH to relay host / POP3 collector
*   V2 - configuration value and file synchronization
*   V2 - Block Reports design could be customized
*   V2 - Razor2 and DCC support via Plugin
*   V2 - SNMP support (monitoring, configuring, controll-API)
*   V2 - user group import (file or LDAP or command based)
*   V2 - automatic crash analyzer Hidden Markov Model
*   V2 - IPv6 socket support
*   V2 - word stemming (several languages) for Bayesian analyzer
*   V2 - Perl module autoupdate via PPM or CPAN
*   V2 - Hidden Markov Model spam detection engine
*   V2 - full unicode support

## Installation

### Basic

Install Perl Modules and there dependencies [perl-mail-spf-query](https://www.archlinux.org/packages/?name=perl-mail-spf-query), [perl-email-mime](https://www.archlinux.org/packages/?name=perl-email-mime), [perl-net-dns](https://www.archlinux.org/packages/?name=perl-net-dns), [perl-email-send](https://www.archlinux.org/packages/?name=perl-email-send), [perl-io-socket-ssl](https://www.archlinux.org/packages/?name=perl-io-socket-ssl), [perl-io-socket-inet6](https://www.archlinux.org/packages/?name=perl-io-socket-inet6), [perl-authen-sasl](https://www.archlinux.org/packages/?name=perl-authen-sasl), [perl-berkeleydb](https://www.archlinux.org/packages/?name=perl-berkeleydb), [perl-net-cidr-lite](https://www.archlinux.org/packages/?name=perl-net-cidr-lite) available in the [Official repositories](/index.php/Official_repositories "Official repositories").

Install [unzip](https://www.archlinux.org/packages/?name=unzip), [net-snmp](https://www.archlinux.org/packages/?name=net-snmp) and [clamav](https://www.archlinux.org/packages/?name=clamav) available in the [Official repositories](/index.php/Official_repositories "Official repositories").

### Download ASSP

[here](http://sourceforge.net/project/showfiles.php?group_id=69172)

### Create necessary directories

```
# mkdir -p /usr/share/assp/{spam,notspam,errors/{spam,notspam}}

```

### Install files in place

```
# cd /usr/share/
# unzip /path/to/ASSP_<version>_<build>_install.zip
# rm *.txt

```

### CPAN

Install Perl Modules via CPAN

```
# perl -MCPAN -e shell
cpan> test File::Scan::ClamAV
cpan> look File::Scan::ClamAV

```

edit `clamav.conf`

```
Foreground **true**
ScanArchive **true**

```
 `[root@trim File-Scan-ClamAV-1.91-VHJd1I]# make install` 
```
Installing /usr/share/perl5/site_perl/File/Scan/ClamAV.pm
Installing /usr/share/man/man3/File::Scan::ClamAV.3pm
Appending installation info to /usr/lib/perl5/core_perl/perllocal.pod

```
 `[root@trim File-Scan-ClamAV-1.91-VHJd1I]# exit` 
```
exit

```
 `cpan> exit` 
```
Terminal does not support GetHistory.
Lockfile removed.

```

```
# perl -MCPAN -e 'install HTML::Entities'
# perl -MCPAN -e 'install Email::Valid'
# perl -MCPAN -e 'install Lingua::Stem::Snowball'
# perl -MCPAN -e 'install Sys::MemInfo'
# perl -MCPAN -e 'install Net::SMTP::TLS'
# perl -MCPAN -e 'install Convert::TNEF'
# perl -MCPAN -e 'install Compress::Zlib'
# perl -MCPAN -e 'install Net::IP::Match::Regexp'
# perl -MCPAN -e 'install Net::SenderBase'
# perl -MCPAN -e 'install Tie::RDBM'
# perl -MCPAN -e 'install Net::Syslog'
# perl -MCPAN -e 'install Time::HiRes'
# perl -MCPAN -e 'install File::ReadBackwards'
# perl -MCPAN -e 'install Email::MIME::Modifier'
# perl -MCPAN -e 'install Mail::SRS'
# perl -MCPAN -e 'install Sys::Syslog'
# perl -MCPAN -e 'install Net::LDAP'
# perl -MCPAN -e 'install Unicode::GCString'
# perl -MCPAN -e 'install Thread::State'
# perl -MCPAN -e 'install Schedule::Cron'

```

## Configuration

### Start script

 `/etc/rc.d/assp` 
```

#!/bin/bash

. /etc/rc.conf
. /etc/rc.d/functions

PATH=/bin:/usr/bin:/sbin:/usr/sbin

case "$1" in

        start)
                stat_busy 'Starting the Anti-Spam SMTP Proxy'
                cd /usr/share/assp
                perl assp.pl 2>&1 > /dev/null &
                if [[ $? -gt 0 ]]; then
                        stat_fail
                else
                        add_daemon assp
                        stat_done
                fi
        ;;

        stop)
                stat_busy 'Stopping the Anti-Spam SMTP Proxy'
                kill -9 `pidof perl assp.pl`
                if [[ $? -gt 0 ]]; then
                        stat_fail
                else
                        rm_daemon assp
                        stat_done
                fi
        ;;

        restart)
                $0 stop || true
                $0 start
        ;;

        *)
                echo "Usage: $0 {start|stop|restart}"
                exit 1
        ;;

esac
exit 0

```

## Start ASSP

### Manually

```
# cd /usr/share/assp/
# perl assp.pl

```

You can access the ASSP web interface via [http://localhost:55555](http://localhost:55555) with username "root" and password "nospam4me".

After successful login at web interface stop the ASSP with `Ctrl+c`. Please check `/usr/share/assp/moduleLoadErrors.txt` for

### Daemon

To start/stop/restart the Daemon manually, please read [Performing daemons actions manually](/index.php/Daemon#Performing_daemon_actions_manually "Daemon"), to start at Boot please read [Starting on Boot](/index.php/Daemon#Starting_on_Boot "Daemon").