Permalink
Browse files

Initial commit

  • Loading branch information...
schadom
schadom committed Nov 10, 2017
0 parents commit 81f967ead0717b9c67a1daae5e19ce7204f67346
Showing 1,192 changed files with 85,089 additions and 0 deletions.
661 LICENSE

Large diffs are not rendered by default.

Oops, something went wrong.
@@ -0,0 +1,76 @@
[![Open AS Communication Gateway](https://openas.org/assets/img/logo.png)](https://openas.org)
## Open AS Communication Gateway
[![Travis CI](https://travis-ci.org/open-as-team/open-as-cgw.svg?branch=master)](https://travis-ci.org/open-as-team/open-as-cgw)
[![Docs](https://img.shields.io/badge/docs-in%20progress-red.svg)](https://open-as-cgw.readthedocs.io/en/latest/)
[![Launchpad PPA](https://img.shields.io/badge/launchpad-ppa-red.svg)](https://code.launchpad.net/~open-as-team/+recipe/open-as-cgw-daily)
An open, integrated, easy-to-use, GUI-managed SMTP gateway scanning your emails for spam and viruses.
The Open AS Communication Gateway (or short 'AS') aims to be a all-in-one solution of an SMTP gateway: It accepts incoming email, performs various antispam-related processes like blacklisting, virus- and spam-scanning, and relays the mails to pre-defined SMTP servers. It's built upon an Ubuntu Server system, and can be entirely managed via a user-friendly web-frontend.
While we focus on Ubuntu LTS as the base distribution for our appliance releases, technically it should also work on Debian or any of it's derivatives, as long as all dependencies are met. Please apologize that we cannot provide any support for such setups.
:warning: This branch is **UNSTABLE**! Support for Ubuntu 16.04 Xenial LTS in progress! :warning:
Main features
----------------------------------------
* Recipient maps (specified manualy or fetched via LDAP, e.g. from MS AD)
* White- and black-listing based on e-mail addresses, hostnames, domain-names, network ranges, CIDR ranges, reverse lookups and so on
* Remote blacklisting (DNSBLs, URI DNSBLs, etc.)
* Greylisting
* Spam-scanning and scoring
* Virus-scanning
* Attachment scanning
* Dynamic "Score Matrix", which lets you define what to do with mails from a certain origin, to what extent, at what score, etc.
* End-User-maintainable email quarantining
* A very pretty, user-friendly web GUI
Installation
----------------------------------------
You can build and install the package yourself or rely on pre-built packages for Ubuntu which are available via PPA on Launchpad. Be aware of the fact, that this methods may require advanced efforts and only limited support can be provided by us.
Developers
----------------------------------------
**Testing environment**
A local test environment can be set-up easily by using Vagrant.
Make sure you have the latest version of Vagrant and Virtualbox installed, clone the repository and type `vagrant up` within the projects main directory. This will automatically deploy a virtual machine running Ubuntu LTS, build our packages and installs them afterwards.
After the provisioning has been completed, the WebGUI should be reachable at https://localhost:8443 on your local machine.
You can ssh into your test box with the `vagrant ssh` command.
**GUI development**
The Open AS WebGUI is based on the Perl Catalyst framework, which requires a few perl modules to be installed. The easiest way for developers interested in contributing to the GUI is to use the test environment explained above, which has all dependencies already installed. Within this virtual machine you can manually start the GUI in development mode, which will make all changes to the code visible immediately and provides you with proper debug outputs.
Connect to the previously set-up vagrant box via `vagrant ssh` and perform the following steps:
# stop the gui within the vm
sudo service openas-backend stop && sudo service nginx stop
# set-up the development environment
sudo /bin/bash /vagrant/lib/bin/set_dev_environment.sh
# start the gui in development mode
sudo /usr/bin/perl /vagrant/gui/script/limesgui_server.pl
By default the repository on your local machine is synced with the Vagrant VM and is available under /vagrant within the virtual machine.
**Contributing**
Feel free to pick any open issue and provide a proper fix.
We greatly appreciate pull requests via Github.
@@ -0,0 +1,52 @@
# -*- mode: ruby -*-
# vi: set ft=ruby :
##
# Open AS Communication Gateway
# Vagrantfile 1.0 (14.08.2016)
##
Vagrant.configure(2) do |config|
config.vm.box = "ubuntu/xenial64"
config.vm.hostname = "antispam.local"
config.vm.network "forwarded_port", guest: 443, host: 825
config.vm.network "forwarded_port", guest: 443, host: 8587
config.vm.network "forwarded_port", guest: 443, host: 8443
config.vm.synced_folder ".", "/vagrant"
config.vm.provision "shell", inline: <<-SHELL
echo "***************************************"
echo "**** Installing Build dependencies ****"
echo "***************************************"
sudo apt-get -y -q update && sudo apt-get -y -q upgrade
sudo apt-get -y -q install dpkg-dev debhelper fakeroot
echo "**************************************"
echo "**** Building open-as-cgw package ****"
echo "**************************************"
sudo mkdir -p /tmp/build/open-as-cgw
sudo cp -Rf /vagrant/* /tmp/build/open-as-cgw/
cd /tmp/build/open-as-cgw
sudo dpkg-buildpackage -rfakeroot
echo "****************************************"
echo "**** Installing open-as-cgw package ****"
echo "****************************************"
echo "debconf debconf/frontend select noninteractive" | sudo debconf-set-selections
echo "mysql-server mysql-server/root_password password" | sudo debconf-set-selections
echo "mysql-server mysql-server/root_password_again password" | sudo debconf-set-selections
echo "postfix postfix/main_mailer_type select Internet Site" | sudo debconf-set-selections
echo "postfix postfix/mailname string antispam.localdomain" | sudo debconf-set-selections
sudo apt-get -y -q -f install /tmp/build/*.deb
sudo apt-get -y -q clean
sudo service openas-firewall stop
sudo rm -rf /tmp/build
echo "********************************************"
echo "**** Installation completed ****"
echo "**** Navigate to https://localhost:8443 ****"
echo "**** on your local machines webbrowser ****"
echo "**** For SSH use the 'vagrant ssh' cmd ****"
echo "********************************************"
SHELL
end
@@ -0,0 +1,12 @@
open-as-cgw (2.2.0) xenial; urgency=low
* Initial release for xenial.
-- Dominic Schallert <dominic@openas.org> Tue, 9 Aug 2016 18:50:00 +0100
open-as-cgw (2.1.0) trusty; urgency=low
* First version for trusty, new package name and structure
-- Stefan Wehinger <stefan@openas.org> Tue, 11 Nov 2014 03:14:00 +0100
@@ -0,0 +1 @@
7
@@ -0,0 +1,199 @@
Source: open-as-cgw
Section: admin
Priority: optional
Maintainer: Open AS Team <team@openas.org>
Build-Depends: debhelper (>= 5)
Standards-Version: 3.7.2
Package: open-as-cgw
Architecture: all
Depends: ${shlibs:Depends}, ${misc:Depends},
libfcgi-perl,
libfcgi0ldbl,
libgd-gd2-perl,
libtrycatch-perl
Pre-Depends: amavisd-new,
arj,
aview,
ca-certificates,
cabextract,
clamav,
clamav-daemon,
curl,
dnsmasq,
libalgorithm-c3-perl,
libapache-htpasswd-perl,
libappconfig-perl,
libauthen-htpasswd-perl,
libb-hooks-endofscope-perl,
libcairo-perl,
libcairo2,
libcarp-clan-perl,
libcatalyst-action-rest-perl,
libcatalyst-manual-perl,
libcatalyst-model-cdbi-perl,
libcatalyst-modules-extra-perl,
libcatalyst-modules-perl,
libcatalyst-perl,
libcatalyst-plugin-fillinform-perl,
libcatalyst-view-tt-perl,
libcgi-simple-perl,
libclamunrar7,
libclass-accessor-perl,
libclass-c3-adopt-next-perl,
libclass-c3-perl,
libclass-c3-xs-perl,
libclone-perl,
libcompress-raw-bzip2-perl,
libcompress-raw-zlib-perl,
libconfig-file-perl,
libcrypt-blowfish-perl,
libcrypt-cbc-perl,
libcrypt-openssl-rsa-perl,
libcrypt-passwdmd5-perl,
libcurses-perl,
libdaemon-control-perl,
libdata-formvalidator-perl,
libdata-optlist-perl,
libdatetime-format-strptime-perl,
libdatetime-set-perl,
libdbd-mysql-perl,
libdbi-perl,
libdevel-globaldestruction-perl,
libdigest-md5-perl,
libdigest-perl,
libemail-mime-createhtml-perl,
libemail-mime-perl,
libemail-sender-perl,
libextutils-cbuilder-perl,
libextutils-parsexs-perl,
libfcgi-perl,
libfcgi-procmanager-perl,
libfcgi0ldbl,
libfile-flock-perl,
libfile-homedir-perl,
libfile-path-perl,
libfile-policy-perl,
libfile-slurp-perl,
libfile-which-perl,
libgd-gd2-perl,
libhash-merge-perl,
libhtml-parser-perl,
libhtml-prototype-perl,
libhttp-body-perl,
libhttp-request-ascgi-perl,
libio-compress-perl,
libio-lockedfile-perl,
libio-socket-ssl-perl,
liblist-moreutils-perl,
liblocale-maketext-perl,
liblockfile-simple-perl,
libmail-dkim-perl,
libmath-bigint-perl,
libmime-base64-perl,
libmime-lite-perl,
libmime-tools-perl,
libmodule-corelist-perl,
libmodule-load-conditional-perl,
libmodule-load-perl,
libmodule-pluggable-perl,
libmoose-perl,
libmoosex-emulate-class-accessor-fast-perl,
libmoosex-methodattributes-perl,
libmoosex-types-perl,
libmro-compat-perl,
libnamespace-autoclean-perl,
libnamespace-clean-perl,
libnet-cidr-lite-perl,
libnet-cidr-perl,
libnet-dns-async-perl,
libnet-ldap-perl,
libnet-perl,
libnet-server-mail-perl,
libnet-telnet-perl,
libnetaddr-ip-perl,
libparams-check-perl,
libparams-util-perl,
libparams-validate-perl,
libpath-class-perl,
libpod-escapes-perl,
libpod-simple-perl,
libregexp-common-email-address-perl,
libscalar-list-utils-perl,
libschedule-cron-perl,
libscope-guard-perl,
libset-infinite-perl,
libstorable-perl,
libstring-rewriteprefix-perl,
libsub-exporter-perl,
libsub-install-perl,
libsub-name-perl,
libsub-uplevel-perl,
libswitch-perl,
libsys-statistics-linux-perl,
libtask-weaken-perl,
libtemplate-perl,
libtest-deep-perl,
libtest-exception-perl,
libtest-harness-perl,
libtest-mockobject-perl,
libtest-nowarnings-perl,
libtest-simple-perl,
libtest-warn-perl,
libtest-www-mechanize-catalyst-perl,
libtime-local-perl,
libtime-piece-perl,
libtimedate-perl,
libtree-simple-perl,
libtrycatch-perl,
libvariable-magic-perl,
libwww-perl,
libxml-dumper-perl,
libxml-simple-perl,
libxml-smart-perl,
libyaml-perl,
lzop,
monit,
munin,
mariadb-client,
mariadb-server,
nginx,
nomarch,
ntp,
openssl,
p7zip,
pax,
pdftk,
postfix,
postfix-pcre,
postfwd,
procmail,
python-html5lib,
python-pisa,
python-reportlab,
python-reportlab-accel,
python-setuptools,
sasl2-bin,
snmp,
snmpd,
spamassassin,
sqlgrey,
starman,
syslog-ng,
traceroute,
uudeview,
zip,
zoo
Conflicts: apache2,
courier-base,
courier-mta,
exim4,
exim4-base,
exim4-config,
lighttpd,
mysql-server,
mutt,
openntpd,
rsyslog,
ubuntu-minimal
Description: A powerful and feature-rich email security gateway
@@ -0,0 +1,16 @@
This file is part of the Open AS Communication Gateway.
The Open AS Communication Gateway is free software: you can redistribute it
and/or modify it under theterms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
The Open AS Communication Gateway is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero
General Public License for more details.
You should have received a copy of the GNU Affero General Public License along
with the Open AS Communication Gateway. If not, see http://www.gnu.org/licenses/.
@@ -0,0 +1,15 @@
#
# limesas-lib maintenance
#
# m h dom mon dow user command
2 * * * * limes /usr/bin/mail_logacc.pl >/dev/null 2>&1
0 0 * * * limes /usr/bin/daily_spam_report.pl >/dev/null 2>&1
10 0 * * * root /usr/bin/mysql_cron.sh >>/var/log/open-as-cgw/syslog 2>&1
5 */3 * * * root /usr/bin/sa-update --channelfile /etc/open-as-cgw/conf/sa-update/channelfile --gpgkeyfile /etc/open-as-cgw/conf/sa-update/keyfile --gpghomedir /etc/open-as-cgw/conf/sa-update --updatedir /var/lib/spamassassin && /etc/init.d/amavis restart >/dev/null 2>&1
10 * * * * root /usr/bin/clamav-u8-sig-rsync.sh >/dev/null 2>&1
*/5 * * * * limes /usr/bin/mqsize.pl 2>&1
20 * * * * root /etc/init.d/openas-ldapsync start > /dev/null 2>&1
37 3 * * * root /etc/init.d/openas-qcron restart > /dev/null 2>&1
*/10 * * * * root /usr/bin/check_amavis_phail.sh
*/10 * * * * root /usr/bin/virtual_swap_controller.sh >> /var/log/open-as-cgw/swap_control.log
* * * * * root /usr/bin/update_motd_issue.sh
@@ -0,0 +1,6 @@
versions etc/open-as-cgw
lib/etc/* etc/open-as-cgw
lib/lib/* usr/share/perl5
lib/bin/* usr/bin
gui/lib/* var/www/LimesGUI
gui/script/* var/www/LimesGUI/script
Oops, something went wrong.

0 comments on commit 81f967e

Please sign in to comment.