2013-02-25 22:40:18 +01:00
# openvpn-status-web
2013-05-03 21:27:13 +02:00
[![Build Status ](https://travis-ci.org/cmur2/openvpn-status-web.png )](https://travis-ci.org/cmur2/openvpn-status-web)
## Description
2013-05-03 16:06:30 +02:00
Small (another word for naive in this case, it's simple and serves my needs) [Rack ](http://rack.github.com/ ) application providing the information the [OpenVPN ](http://openvpn.net/index.php/open-source.html ) server collects in it's status file especially including a list of currently connected clients (common name, remote address, traffic, ...).
2013-02-25 22:40:18 +01:00
It lacks:
2013-05-03 16:12:11 +02:00
* tracking multiple status at the same time
2013-05-03 16:06:30 +02:00
* newer status file versions than v1
2013-05-03 16:12:11 +02:00
* caching (parses file on each request, page does auto-refresh every minute as OpenVPN updates the status file these often by default)
2013-02-25 22:40:18 +01:00
* management interface support
* *possibly more...*
2013-02-25 22:56:33 +01:00
2013-05-03 16:06:30 +02:00
## Usage
Install the gem:
gem install openvpn-status-web
Create a configuration file in YAML format somewhere:
```yaml
# listen address and port
host: "0.0.0.0"
port: "8080"
2013-05-03 22:26:07 +02:00
# optional: drop priviliges in case you want to but you should give this user at least read access on the log files
user: "nobody"
group: "nogroup"
2013-05-03 16:06:30 +02:00
# logfile is optional, logs to STDOUT else
logfile: "openvpn-status-web.log"
# display name for humans and the status file path
name: "My Small VPN"
status_file: "/var/log/openvpn-status.log"
```
2013-05-03 16:12:11 +02:00
Your OpenVPN configuration should contain something like this:
```
# ...snip...
status /var/log/openvpn-status.log
status-version 1
# ...snip...
```
2013-05-03 16:06:30 +02:00
## Advanced topics
2013-05-03 16:12:11 +02:00
### Authentication
If the information exposed is important to you serve it via the VPN or use a webserver as a proxy to handle SSL and/or HTTP authentication.
2013-05-03 16:06:30 +02:00
### Init scripts
The [Debian 6 init.d script ](init.d/debian-6-openvpn-status-web ) assumes that openvpn-status-web is installed into the system ruby (no RVM support) and the config.yaml is at /opt/openvpn-status-web/config.yaml. Modify to your needs.
2013-02-25 22:56:33 +01:00
## License
openvpn-statsu-web is licensed under the Apache License, Version 2.0. See LICENSE for more information.