OpenVPN_easyinstall

Python based OpenVPN 2.X installer & configurator

Stars
9

OpenVPN_easyinstall

Python3+ based OpenVPN 2.X configurator & installer. (Requires Linux/Unix due to the dependencies)

Intention with Easy-Install

  • Manage one or multiple OpenVPN configurations.
  • Generate CA certificates via vanilla python-OpenSSL (Not using easy-rsa or subprocess anymore)
  • Generate server and client certificates.
  • Configure and manage IP's and routes (optionally live while running).
  • Generate one-time-use config/certificate download links.

TODOs

Make the identity manager optional, for now it works for debugging/testing but not for the general public. A lot of things heh, reworking this from a simple pythons script into a more useable web-application.

Installation

$ git clone --recurse-submodules -j8 https://github.com/Torxed/OpenVPN_easyinstall.git

All dependencies are submodules of this library. All of which can be found in my repo's, they are:

  • slimHTTP - HTTP(S) webserver with modular method requests and upgraders
  • spiderWeb - Addon for slimHTTP which attaches an upgrader (handler) for websocket requests.
  • slimWebSocket - JavaScript framework to wrap websockets to act as a normal network socket.
  • python-olife - library to talk to the identity manager.

Running it

There are some pre-requisits before running this. The identity manager has some steps to claim a domain, once that's done logins can be done too.

Then it's quite simple:

$ cd OpenVPN_easyinstall
$ sudo python easyinstall.py