{"id":13760950,"url":"https://github.com/stuicey/SSHy","last_synced_at":"2025-05-10T11:32:25.838Z","repository":{"id":50266032,"uuid":"94198271","full_name":"stuicey/SSHy","owner":"stuicey","description":"HTML5 SSH Web Client","archived":false,"fork":false,"pushed_at":"2022-11-29T19:31:43.000Z","size":14223,"stargazers_count":547,"open_issues_count":25,"forks_count":83,"subscribers_count":23,"default_branch":"master","last_synced_at":"2024-11-16T18:34:14.380Z","etag":null,"topics":["client","encryption","html","html5","javascript","jsbn","sjcl","ssh","websockets","xterm"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stuicey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-13T09:58:18.000Z","updated_at":"2024-11-02T11:43:12.000Z","dependencies_parsed_at":"2023-01-22T02:16:08.692Z","dependency_job_id":null,"html_url":"https://github.com/stuicey/SSHy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuicey%2FSSHy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuicey%2FSSHy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuicey%2FSSHy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuicey%2FSSHy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stuicey","download_url":"https://codeload.github.com/stuicey/SSHy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253410860,"owners_count":21904132,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client","encryption","html","html5","javascript","jsbn","sjcl","ssh","websockets","xterm"],"created_at":"2024-08-03T13:01:29.081Z","updated_at":"2025-05-10T11:32:25.150Z","avatar_url":"https://github.com/stuicey.png","language":"JavaScript","readme":"# SSH: HTML5 Based SSH Client\n\nSSHy is a HTML5 SSHv2 web client implementing E2E encryption that runs well on modern web browsers.\n\n## About\n\nSSHy is a fast and responsive SSHv2 web client with end-to-end encryption supplied by [SJCL](https://github.com/bitwiseshiftleft/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](https://github.com/sourcelair/xterm.js/). Currently in use at https://linuxzoo.net , a non-functional preview is available at https://stuicey.github.io/SSHy/.\n\n![](https://user-images.githubusercontent.com/6617743/28020759-5cb16a98-657d-11e7-8497-d493f90823f7.png)\n![](https://user-images.githubusercontent.com/6617743/28020557-c342c0f0-657c-11e7-8f54-8216e9485b24.png)\n## Features\n\n* 8 Preset color schemes \u0026 Xresources upload and import\n* UTF-8 Character support\n* Automatic local echo detection\n* Customisable terminal \u0026 font size\n* Copy and Paste support for Chrome \u0026 Firefox\n* Network Traffic Monitor\n\n## Installation\n\nEither copy or clone the repository into a directory being currently served by a web server and navigate to `index.html`.\n\nTwo versions of this project are supplied:\n* `index.html` - The main page featuring a modal login container and modifiable destination IP.\n* `wrapper.html` - A minimal wrapper intended for use with CGI builds. Features interactive terminal login and fixed destination IP. By default SSH-RSA is disabled on this version. To enable it comment out `\ttransport.settings.rsaCheckEnabled = false;` inside `wrapper.html`.\n\nThe required files are:\n```\ncss/*\nfonts/*\njs/*\nindex.html OR wrapper.html\n```\n\nFor best performance it is recommended to host a websocket proxy close to the traffic origin or destination. This can be done by modifying `wsproxyURL` near the top of `index.html` or `wrapper.html` to the IP or domain of a personal websocket proxy.\n\nThis project is intended to be used with [wsProxy](http://github.com/stuicey/wsproxy) provided as a submodule in `wsproxy/`. This application allows for IP multiplexing by appending the destination IP to the websocket proxy URI. More details on this application an be obtained from the related [README](https://github.com/stuicey/wsProxy/blob/master/README.md).\n\n```\ngit submodule update --init --recursive\nnpm i -g  wsproxy/\nwsproxy\n```\n\nOther websocket proxies such as [Websockify](https://github.com/novnc/Websockify) should be compatable with `wrapper.html`.\n\n## Building\n\nThis project utilises the [Google Closure Compiler](https://github.com/google/closure-compiler) to minify and compile the JavaScript. The two versions `index.html` and `wrapper.html` can be either compiled manually or through [Atom build](https://atom.io/packages/build).\n\nIndex.html\n```\njava -jar closure-compiler.jar --js_output_file=js/combinedLibs.comb.js js/defines.js js/src/*.js js/*.js '!**.comb.js' '!**Client.js'\n```\n\nWrapper.html\n```\njava -jar closure-compiler.jar --js_output_file=js/combinedJS.comb.js js/defines.js js/src/*.js js/*.js '!**.comb.js'\n```\n\n## Compatability\n\nSSHy was designed to be compatable with a majority of SSHv2 servers. SSHy should be able to connect to any standardly configured SSHv2 server that has the following algorithms enabled:\n\n```\ndiffie-hellman-group-exchange, diffie-hellman-group14, diffie-hellman-group1\nssh-rsa\naes128-ctr\nhmac\n```\n\nBoth SHA1 and SHA256 are supported for diffie-hellman and HMAC algorithms.\n","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuicey%2FSSHy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuicey%2FSSHy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuicey%2FSSHy/lists"}