# VyControl
VyControl is a single frontend interface to manage a single or multiple VyoS servers. Only download [VyOS](https://www.vyos.io/) Rolling Release, since VyControl needs the latest VyOS API.
Still in 2020, the most important functionalities that until then were only possible through CLI (command line interface), will be possible through a friendly web interface developed in Django / Python.
Standalone VyoS installations can now have a control panel.
Datacenter installations with multiple VyoS will be able to offer their customers (with users, groups and granular control) firewall as a service.
# Main links
* [VyControl](https://www.vycontrol.com/) website
* [VyOS](https://www.vyos.io/) linux firewall website (only compatible with rolling release / 1.3 VyOS)
* [Reddit](https://www.reddit.com/r/vycontrol/)
# Plan to use VyControl?
- [ ] **Subscribe to our announce list** at https://vycontrol.com/
- [ ] Join Slack Channel https://vycontrol.slack.com/archives/C012ZRMB8VB
- [ ] Add new enhancement requests at https://github.com/vycontrol/vycontrol/issues
# Install instructions
* for your security edit SECRET_KEY in inside Django settings.py and change to something random, maybe using
```
openssl rand -hex 32
```
## by dockerhub
latest VyControl is being autobuilt at dockerhub https://hub.docker.com/r/robertoberto/vycontrol
```
docker pull robertoberto/vycontrol
docker run -p 8000:8000 -t robertoberto/vycontrol
access http://127.0.0.1:8000
```
## by docker composer
Right now we are using db.sqlite3, but I used composer so we can change to mySQL if needed.
```
docker-compose build
docker-compose up
```
## manual install instructions
### setup virtual env and pip requirements
```
virtualenv env
source env/bin/activate
pip3 install -r requirements.txt
```
### setup initial database
```
cd vycontrol
python3 manage.py migrate
```
### run webserver
```
python3 manage.py runserver
```
## access webpage
http://127.0.0.1:8000/
## setup vyos new instance
* click on *Add new instance*
* configure vyos services like explained here https://docs.vyos.io/en/latest/appendix/http-api.html
* click on *List Instances*
* click on *Test Connection*
# Plan to help develop VyControl?
- [ ] Solve Issues at https://github.com/vycontrol/vycontrol/issues
- [ ] Forks and pull requests are welcome!
- [ ] Discussion VyControl at VyOS forum https://forum.vyos.io/t/vycenter-alpha-stage-announcement-vyos-web-interface/5221/4
# changelog
- [x] NTP servers add/list/delete
- [x] zone based firewall
- [x] improve firewall UI and error returns to end users
- [x] working firewall without zones
- [x] version created to start project framework, organize permission systems and concept test with some firewall and interface functions and statics routes
# roadmap
## firewall and vycontrol base
- [ ] improve users/group/profile crud
- [ ] lost password recovery using external SMTP server
- [ ] layout improvements and user input validation
- [ ] use python logging
## IPSEC / OpenVPN focus
- [ ] openvpn features
- [ ] ipsec features
- [ ] Finish some firewall options
## vlans, interfaces and system users
- [ ] system ssh / logins config
- [ ] basic interfaces configuration and vlans
- [ ] host information and default gateway
- [ ] timezone
## basic dynamic routing features
- [ ] OSPF features
## addons features
- [ ] FastNetMon one-click integration
- [ ] save/commit/load features
- [ ] s3 backup scheduler and commit confirm
- [ ] granular permissions and improvements
## advanced dynamic routing features
- [ ] BGP features
## IPV6 features
- [ ] ipv6 milestone
# references
* https://docs.vyos.io/en/latest/appendix/http-api.html
* https://forum.vyos.io/t/http-api-for-show/3922
* https://blog.vyos.io/vyos-rolling-release-has-got-an-http-api
* https://www.facebook.com/vycontrol
# screenshoots
## Install VyControl

## List Users

## List VyOS Instances

## Add VyOS Instances

## List Interfaces

## List Firewall

## Add Firewall Rule

## List Static Routes

# Sponsoring
* VyControl is being tested at [Under](https://under.com.br) a Brazilian provider of Cloud Computing and Datacenters.