https://github.com/wkozaczuk/osv-html5-terminal
HTML5 command line terminal for OSv
https://github.com/wkozaczuk/osv-html5-terminal
html5-command osv osv-html5-terminal typescript
Last synced: 11 months ago
JSON representation
HTML5 command line terminal for OSv
- Host: GitHub
- URL: https://github.com/wkozaczuk/osv-html5-terminal
- Owner: wkozaczuk
- License: mit
- Created: 2017-01-08T15:50:19.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-19T20:37:10.000Z (about 6 years ago)
- Last Synced: 2025-05-14T12:35:07.274Z (about 1 year ago)
- Topics: html5-command, osv, osv-html5-terminal, typescript
- Language: TypeScript
- Size: 1.05 MB
- Stars: 7
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# osv-html5-terminal
HTML5 command line terminal for OSv.
The command line handling logic converted to Typescript from JS project https://github.com/mrchimp/cmd
### Quick start
##### Configure
* npm install
##### Build
* npm run build
* The dist directory will contain all app artifacts.
##### Run locally and open the app in the default browser
* npm run server
* Expects OSv httpserver running and exposed on port 8000
### Motivation
OSv comes with an httpserver module that serves REST API. It also comes with lua-based cli
module that provides shell-like (or ssh-like) command line interface to running OSv instance.
So instead of command line program this HTML5 app provides similar functionality but instead
in a browser so it can be executed anywhere without having to build cli executable for target OS.
Verified to work in Firefox, Safari and with some limitations in Chrome.
### Functionality
##### Commands
* cat
* cls
* cd
* cmdline
* connect
* date
* df
* dmesg
* free
* help
* ls
* mkdir
* poweroff
* pwd
* reboot
* rm
* top
* uptime
All commands support --help option.
### Screenshot

### Improvements
- Functionality
- Add commands
- tree
- mv
- cp
- find
- ZFS
- mount
- unmount
- etc
- ability to edit file (cat and then put)
- path completion when ls, cd, etc
- HTTPS with client certificate
- Refactoring
- extract OSv API abstraction
- use promises (JQuery)
- error handling
- HTML escaping
- typescript
- introduce interfaces for some of the responses from Osv