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 the html is generating correctly. To run under apache, mod_python will probably need to be enabled using e.g. AddHandler cgi-script .py and added to the virtualhost/directory you are using. Quick Install on Debian/Ubuntu: ------------------------------- cd /var/www git clone https://github.com/furlongm/openvpn-monitor.git aptitude install libapache2-mod-python python-geoip python-ipaddr a2enmod python add the following to /etc/apache2/sites-enabled/000-default # AddHandler cgi-script .cgi <Directory "/var/www/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 LICENSE ------- This software is licensed under the GPL, v3, 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.
petrmifek/openvpn-monitor
This is a web based OpenVPN monitor, that shows current connections and locations.
PythonGPL-3.0