- JavaScript 97.4%
- Python 1.7%
- HTML 0.5%
- Shell 0.2%
- CSS 0.1%
| app | ||
| config | ||
| core | ||
| css | ||
| fonts | ||
| images | ||
| js | ||
| utils | ||
| .gitignore | ||
| index.html | ||
| README.md | ||
Web-Status
Web-status is a web application for managing several remote desktops in one interface using the VNC protocol. Warning: There's no authentication method yet for the websocket connections which are usually available to the outside world. This is considered a security risk and thereforce you shouldn't use this app in a public production environement!
Features
- Responsive design, accessabile on all platforms
- Native browser support, no plugins needed
- Mobile friendly control interfaces
- Configure list of remote desktops in json format
Limitations
- No authentication method yet for the websocket connections
Installation
Requirements
You'll need a working web server and the websockify package installed.
Installing from source
Clone the source code into your web directory
git clone https://git.project-insanity.org/onny/web-status.git /var/www/status
Configure your web server to serve the page of the directory /var/www/status.
Add the remote desktop connections by modifying /var/www/status/config/config.json:
{
"connections": {
"Motor 1": {
"Host" : "status.example.com",
"Port" : "6080",
"Password" : "",
"Encryption" : true
}
}
}
You cannot directly provide the host and port of the VNC server. The VNC server has to be made available as a websocket connection on a different port. Configure your backend server to relay and provide the corresponding VNC connection to the outside world. For example by creating a confiugration file at /etc/websockify/motor1.conf:
Host="192.168.1.23"
Port="5900"
ListeningPort="6080"
CertPath="/etc/letsencrypt/live/status.example.com/cert.pem"
KeyPath="/etc/letsencrypt/live/status.example.com/privkey.pem"
In this example, a VNC server in the internal network at the IP 192.168.1.23 and the port 5900 will be made available as a outgoing websocket connection at port 6080.
Further it's recommended to use SSL certificates to secure your connection. A good way to start for free certificates is the Let's Encrypt project.
Starting and enabling the websocket relay daemon:
systemctl start websockify@motor1
systemctl enable websockify@motor1
Ensure that the websocket relay daemon is running at port 6080 and is forwarded by your firewall so your browser can reach it. Visit the status page and test the configured connection.
Reporting bugs
Bugs can be reported in the public Gitlab repository.
Changelog
- version 0.5, 08.2017:
- Set site title in config
- Remember last connection (WIP)
- Upgrade to noVNC 0.6.2 (WIP)
- Upgrade to jQuery 3.2.1
- Bootstrap themed status messages
- Sanitize config loading
- version 0.4, 03.2017:
- Support for main config.json
- Auto menu generation
- Encryption support
- Websockify unit file
- version 0.3, 12.2016:
- Updated Bootstrap
- Updated Jquery
- Code cleanup
- version 0.2
- Upgrade to bootstrap 3
- Added autorefresh toggle button
- Added version information and credits
- Initial noVNC support
