No description
This repository has been archived on 2026-06-30. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • JavaScript 97.4%
  • Python 1.7%
  • HTML 0.5%
  • Shell 0.2%
  • CSS 0.1%
Find a file
2018-07-28 10:21:31 +00:00
app first commit 2017-03-11 15:12:49 +01:00
config added config for title, bootstrap message boxes 2017-08-01 17:49:17 +02:00
core first commit 2017-03-11 15:12:49 +01:00
css merge bootstrap 4 test 2018-07-21 12:38:12 +02:00
fonts first commit 2017-03-11 15:12:49 +01:00
images add screenshot 2018-07-27 16:18:00 +02:00
js merge bootstrap 4 test 2018-07-21 12:38:12 +02:00
utils first commit 2017-03-11 15:12:49 +01:00
.gitignore fix auto viewport resize / scaling 2018-07-19 18:29:34 +02:00
index.html merge bootstrap 4 test 2018-07-21 12:38:12 +02:00
README.md Update README.md 2018-07-28 10:21:31 +00:00

Web-Status

header

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

Credits

Maintainers