SSH over HTTPS via Piping Server
https://piping-ssh.netlify.app
This project requires the latest Google Chrome with enable-experimental-web-platform-features flag for fetch() upload streaming feature (origin trial now).
chrome://flags/ > Experimental Web Platform features > Enabled
This project is highly based on SSHy. Thanks original author @stuicey and other contributors!
The idea of tunneling over Piping Server was proposed by @Cryolite in a Japanese post, https://qiita.com/Cryolite/items/ed8fa237dd8eab54ef2f. Thanks!
Original project - SSHy
The base project, SSHy, is a fast and responsive SSHv2 web client with end-to-end encryption supplied by SJCL. SSHy implements a minimal subset of the SSHv2 protocol that provides and controls a pseudo-terminal. The terminal front-end interface is provided by xterm.js. Currently in use at https://linuxzoo.net , a non-functional preview is available at https://stuicey.github.io/SSHy/.
Features powered by SSHy
- 8 Preset color schemes & Xresources upload and import
- UTF-8 Character support
- Automatic local echo detection
- Customisable terminal & font size
- Copy and Paste support for Chrome & Firefox
- Network Traffic Monitor
Compatibility powered by SSHy
The base project, SSHy, was designed to be compatible with a majority of SSHv2 servers. SSHy should be able to connect to any standardly configured SSHv2 server that has the following algorithms enabled:
diffie-hellman-group-exchange, diffie-hellman-group14, diffie-hellman-group1
ssh-rsa
aes128-ctr
hmac
Both SHA1 and SHA256 are supported for diffie-hellman and HMAC algorithms.
This project utilises the Google Closure Compiler to minify and compile the JavaScript.
java -jar closure-compiler.jar --js_output_file=js/combinedLibs.comb.js js/defines.js js/src/*.js js/*.js '!**.comb.js'
Serve as follows.
python3 -m http.server
Then, open http://localhost:8000 on your browser.