Where I work has a extremely restrictive network that blocks most outbound protocols besides HTTP and HTTPS. I have been struggling to gain remote access to my machines within my work’s LAN. For my Windows machines I use TeamViewer but I was struggling to access my Linux machines. For command line access I first turned to dataplicity which gives you a web interface for your command line. As far as I know dataplicity only works for Debian.
I also wanted VNC access to my machine but I was struggling to figure out how. I eventually found noVNC, a HTML5 VNC client that works in the web browser. I downloaded the git repository
git clone https://github.com/novnc/noVNC.git
and ran the following command from the downloaded repository
./utils/launch.sh --vnc localhost:5901
This started a web server and WebSockets proxy on port 6080. On my firewall I forwarded port 80 to port 6080 on the IP of my target. Now I have VNC access through the web and can access my machine via a web browser.
Lastly I added the command lines to the crontab
sudo crontab -e @reboot vncserver -geometry 1440x900 -depth 24 @reboot sh /home/noVNC/utils/launch.sh --vnc localhost:5901
Saved the changes and rebooted my machine to test. I can now access my machine anywhere from a web browser!