https://github.com/adamwalach/openvpn-web-ui
Web interface (with golang backend) for monitoring and administration of OpenVPN server
https://github.com/adamwalach/openvpn-web-ui
admin openvpn webapp
Last synced: 4 months ago
JSON representation
Web interface (with golang backend) for monitoring and administration of OpenVPN server
- Host: GitHub
- URL: https://github.com/adamwalach/openvpn-web-ui
- Owner: adamwalach
- License: mit
- Created: 2017-03-20T19:59:34.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-10-07T08:58:08.000Z (over 2 years ago)
- Last Synced: 2025-05-02T05:47:16.542Z (about 1 year ago)
- Topics: admin, openvpn, webapp
- Language: JavaScript
- Homepage:
- Size: 4.72 MB
- Stars: 687
- Watchers: 41
- Forks: 280
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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.
If you have docker and docker-compose installed, you can jump directly to [installation](#Prod).

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 unit tests
* add option to modify certificate properties
* generate random admin password at initialization phase
* add versioning
* add automatic ssl/tls (check how [ponzu](https://github.com/ponzu-cms/ponzu) did it)
## 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