diff --git a/app.py b/app.py
new file mode 100644
index 0000000..cde80ca
--- /dev/null
+++ b/app.py
@@ -0,0 +1,14 @@
+#!/usr/bin/env python
+
+from flask import Flask, render_template
+import openvpnstatus
+
+app = Flask(__name__)
+
+@app.route('/')
+def status():
+ o = openvpnstatus.openvpnstatus()
+ return render_template('status.html', connections = o.connections, routes = o.routes)
+
+if __name__ == '__main__':
+ app.run(host='0.0.0.0')
diff --git a/openvpnstatus.py b/openvpnstatus.py
new file mode 100644
index 0000000..5d7690b
--- /dev/null
+++ b/openvpnstatus.py
@@ -0,0 +1,41 @@
+class openvpnstatus(object):
+ """read the openvpn-status.log file"""
+
+ def __init__(self):
+ self.update()
+
+ def update(self):
+ """read file"""
+
+ import os
+
+ self.connections = []
+ self.routes = []
+
+ f = open("openvpn-status.log", "r")
+
+ state = 0
+ for line in f:
+
+ if "Updated" in line:
+ state = 1
+ continue
+ elif "ROUTING" in line:
+ state = 2
+ continue
+ elif "GLOBAL" in line:
+ state = 0
+ break
+
+ if state == 1:
+ fields = line.split(",")
+ self.connections.append(fields)
+ elif state == 2:
+ fields = line.split(",")
+ self.routes.append(fields)
+
+ f.close()
+
+
+
+#end of file
diff --git a/templates/status.html b/templates/status.html
new file mode 100644
index 0000000..afcadaf
--- /dev/null
+++ b/templates/status.html
@@ -0,0 +1,25 @@
+
+
OpenVPN Status
+OpenVPN Status
+Connections:
+
+{% for connection in connections %}
+
+ {% for field in connection %}
+ {{ field }} |
+ {% endfor %}
+
+{% endfor %}
+
+
+Routing Table:
+
+{% for route in routes %}
+
+ {% for field in route %}
+ {{ field }} |
+ {% endfor %}
+
+{% endfor %}
+
+