openvpn-web-ui/README.md

115 lines
2.9 KiB
Markdown
Raw Normal View History

2017-04-09 22:13:49 +03:00
# OpenVPN-web-ui
## Summary
OpenVPN server web administration interface.
Goal: create quick to deploy and easy to use solution that makes work with small OpenVPN environments a breeze.
![Status page](docs/images/preview_status.png?raw=true)
Please note this project is in alpha stage. It still needs some work to make it secure and feature complete.
## Motivation
## Features
* status page that shows server statistics and list of connected clients
* easy creation of client certificates
* ability to download client certificates as a zip package with client configuration inside
* log preview
* modification of OpenVPN configuration file through web interface
## Screenshots
[Screenshots](docs/screenshots.md)
## Usage
After startup web service is visible on port 8080. To login use the following default credentials:
username: admin
password: b3secure (this will be soon replaced with random password)
Please change password to your own immediately!
### Prod
Requirements:
* docker and docker-compose
* on firewall open ports: 1194/udp and 8080/tcp
Execute commands
curl -O https://raw.githubusercontent.com/adamwalach/openvpn-web-ui/master/docs/docker-compose.yml
docker-compose up -d
It starts two docker containers. One with OpenVPN server and second with OpenVPNAdmin web application. Through a docker volume it creates following directory structure:
.
├── docker-compose.yml
└── openvpn-data
   ├── conf
  │   ├── dh2048.pem
   │   ├── ipp.txt
   │   ├── keys
   │   │   ├── 01.pem
   │   │   ├── ca.crt
   │   │   ├── ca.key
   │   │   ├── index.txt
   │   │   ├── index.txt.attr
   │   │   ├── index.txt.old
   │   │   ├── serial
  │   │   ├── serial.old
   │   │   ├── server.crt
   │   │   ├── server.csr
   │   │   ├── server.key
   │   │   └── vars
   │   ├── openvpn.log
   │   └── server.conf
   └── db
   └── data.db
### Dev
Requirements:
* golang environments
* [beego](https://beego.me/docs/install/)
Execute commands:
go get github.com/adamwalach/openvpn-web-ui
cd $GOPATH/src/github.com/adamwalach/openvpn-web-ui
bee run -gendoc=true
## Todo
* add option to modify certificate properties
* generate random admin password at initialization phase
* add versioning
## License
This project uses [MIT license](LICENSE)
## Remarks
### Vendoring
https://github.com/kardianos/govendor is used for vendoring.
To update dependencies from GOPATH:
`govendor update +v`
### Template
AdminLTE - dashboard & control panel theme. Built on top of Bootstrap 3.
Preview: https://almsaeedstudio.com/themes/AdminLTE/index2.html