1
0
mirror of https://github.com/cmur2/openvpn-status-web.git synced 2024-12-22 12:54:24 +01:00
Small Rack (Ruby) application serving OpenVPN status file
Go to file
2013-05-03 16:12:11 +02:00
bin Convert into gem 2013-05-03 15:32:08 +02:00
examples Convert into gem 2013-05-03 15:32:08 +02:00
init.d Use config file 2013-05-03 16:06:30 +02:00
lib Use config file 2013-05-03 16:06:30 +02:00
.gitignore Convert into gem 2013-05-03 15:32:08 +02:00
.travis.yml Convert into gem 2013-05-03 15:32:08 +02:00
Gemfile Convert into gem 2013-05-03 15:32:08 +02:00
LICENSE Add license 2013-02-25 22:56:33 +01:00
openvpn-status-web.gemspec Update desc 2013-05-03 15:39:50 +02:00
Rakefile Convert into gem 2013-05-03 15:32:08 +02:00
README.md Update README 2013-05-03 16:12:11 +02:00

openvpn-status-web

Small (another word for naive in this case, it's simple and serves my needs) Rack application providing the information the OpenVPN server collects in it's status file especially including a list of currently connected clients (common name, remote address, traffic, ...).

It lacks:

  • tracking multiple status at the same time
  • newer status file versions than v1
  • caching (parses file on each request, page does auto-refresh every minute as OpenVPN updates the status file these often by default)
  • management interface support
  • possibly more...

Usage

Install the gem:

gem install openvpn-status-web

Create a configuration file in YAML format somewhere:

# listen address and port
host: "0.0.0.0"
port: "8080"
# 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"

Your OpenVPN configuration should contain something like this:

# ...snip...
status /var/log/openvpn-status.log
status-version 1
# ...snip...

Advanced topics

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.

Init scripts

The Debian 6 init.d script 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.

License

openvpn-statsu-web is licensed under the Apache License, Version 2.0. See LICENSE for more information.