Recently on a cruise ship I found my SSH access blocked.

And HTTP proxies were blocked too.

So I used a WebSocket proxy and that worked great. I highly recommend wstunnel.

https://github.com/erebe/wstunnel

Nice find! Thanks. I have some other tools for being productive from "constrained" environments. I'm running ttyd [1] exposed trough nginx (to deal with auth and ssl) which gives me a terminal in the browser (using xtermjs). It's pretty good. Another option I used before was shellinabox [2] (also trough nginx). Terminal emulation is not the greatest. For GUI access i use NoVNC (exposed trough nginx) and have a systemd unit starting vncserver session.

[1] https://github.com/tsl0922/ttyd [2] https://github.com/shellinabox/shellinabox [3] https://github.com/novnc/noVNC