/openvpn-monitor

This is a web based OpenVPN monitor, that shows current connections and locations.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

OpenVPN-Monitor
---------------

OpenVPN-Monitor is a simple python program to generate html to display the
status of an OpenVPN server, including all current connections. It uses the
openvpn management console. It typically runs on the same host as the openvpn
server, though does not necessarily need to.

Adding the following line to your openvpn connection will run the management
console on 127.0.0.1 port 5555:

   management 127.0.0.1 5555

For remote managment, refer to the openvpn man pages about how to secure access
to the management interface.

The example configuration file should give some indication of how to set site
name, add a logo, etc. You can also set the default location (latitude and
longitude) for google maps. If not set, it will default to Melbourne, Australia.

It can be run from the command line to test if the html generates correctly.

To run under apache, mod_python will need to be enabled (a2enmod python), and
a cgi-script handler added for .py files for the virtualhost/directory you are
using, e.g.

        AddHandler cgi-script .py


Quick Install on Debian 8
-------------------------

apt-get install libapache2-mod-python python-geoip python-ipaddr \
python-humanize apache2 git
cd /var/www/html
git clone https://github.com/furlongm/openvpn-monitor.git
a2enmod python cgid

Add the following to /etc/apache2/sites-enabled/000-default.conf

        <Directory "/var/www/html/openvpn-monitor">
            Options +ExecCGI
            AddHandler cgi-script .py
            DirectoryIndex openvpn-monitor.py
        </Directory>

/etc/init.d/apache2 restart

cd /usr/share/GeoIP/
wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
mv GeoLiteCity.dat GeoIPCity.dat

Edit /var/www/openvpn.cfg to match your site and navigate to

   http://myipaddress/openvpn-monitor


LICENSE
-------

This software is licensed under the GPLv3, a copy of which can be found in
the COPYING file.

Flags are created by Matthias Slovig (flags@slovig.de) and are licensed under
Creative Commons License Deed Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0).
See http://flags.blogpotato.de/ for more details.