All Projects β†’ butlerx β†’ Wetty

butlerx / Wetty

Licence: mit
Terminal in browser over http/https. (Ajaxterm/Anyterm alternative, but much better)

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
SCSS
7915 projects
CSS
56736 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to Wetty

Xterm.js
A terminal for the web
Stars: ✭ 12,019 (+290.73%)
Mutual labels:  terminal, xterm
Mobile Toolkit
πŸ“± Shell scripts for Android and iOS device management
Stars: ✭ 161 (-94.77%)
Mutual labels:  terminal, hacktoberfest
Progressbar
A really basic thread-safe progress bar for Golang applications
Stars: ✭ 2,212 (-28.09%)
Mutual labels:  terminal, hacktoberfest
Tldr
πŸ“š Collaborative cheatsheets for console commands
Stars: ✭ 36,408 (+1083.62%)
Mutual labels:  terminal, hacktoberfest
Ohmyzsh
πŸ™ƒ A delightful community-driven (with 1900+ contributors) framework for managing your zsh configuration. Includes 300+ optional plugins (rails, git, macOS, hub, docker, homebrew, node, php, python, etc), 140+ themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community.
Stars: ✭ 138,057 (+4388.2%)
Mutual labels:  terminal, hacktoberfest
Blightmud
A terminal mud client written in Rust
Stars: ✭ 61 (-98.02%)
Mutual labels:  terminal, hacktoberfest
Comfy Table
πŸ”Ά Build beautiful terminal tables with automatic content wrapping
Stars: ✭ 156 (-94.93%)
Mutual labels:  terminal, hacktoberfest
Ruby jard
Just Another Ruby Debugger. Provide a rich Terminal UI that visualizes everything your need, navigates your program with pleasure, stops at matter places only, reduces manual and mental efforts. You can now focus on real debugging.
Stars: ✭ 669 (-78.25%)
Mutual labels:  terminal, hacktoberfest
Lsix
Like "ls", but for images. Shows thumbnails in terminal using sixel graphics.
Stars: ✭ 2,635 (-14.34%)
Mutual labels:  terminal, xterm
Htop
htop - an interactive process viewer
Stars: ✭ 3,076 (+0%)
Mutual labels:  terminal, hacktoberfest
Clifx
Declarative framework for building command line interfaces
Stars: ✭ 900 (-70.74%)
Mutual labels:  terminal, hacktoberfest
local-echo
A local-echo controller for xterm.js
Stars: ✭ 96 (-96.88%)
Mutual labels:  xterm, xterm-js
Bat
A cat(1) clone with wings.
Stars: ✭ 30,833 (+902.37%)
Mutual labels:  terminal, hacktoberfest
Navi
An interactive cheatsheet tool for the command-line
Stars: ✭ 10,055 (+226.89%)
Mutual labels:  terminal, hacktoberfest
Rich
Rich is a Python library for rich text and beautiful formatting in the terminal.
Stars: ✭ 31,664 (+929.39%)
Mutual labels:  terminal, hacktoberfest
Cast Sh
πŸ“Ÿ An instance of your terminal in your browser
Stars: ✭ 151 (-95.09%)
Mutual labels:  terminal, hacktoberfest
Bubbles
TUI components for Bubble Tea 🍑
Stars: ✭ 467 (-84.82%)
Mutual labels:  terminal, hacktoberfest
Imgcat
It's like cat, but for images.
Stars: ✭ 577 (-81.24%)
Mutual labels:  terminal, hacktoberfest
Aminal
🌘 Darktile is a GPU rendered terminal emulator designed for tiling window managers.
Stars: ✭ 2,663 (-13.43%)
Mutual labels:  terminal, xterm
webterm
web terminal based on xterm.js in rust
Stars: ✭ 20 (-99.35%)
Mutual labels:  xterm, xterm-js

WeTTY = Web + TTY.

All Contributors

Version Node Version Documentation License: MIT Twitter: cianbutlerx

Terminal access in browser over http/https

WeTTY

Terminal over HTTP and https. WeTTY is an alternative to ajaxterm and anyterm but much better than them because WeTTY uses xterm.js which is a full fledged implementation of terminal emulation written entirely in JavaScript. WeTTY uses websockets rather then Ajax and hence better response time.

Prerequisites

  • node >=14
  • make
  • python
  • build-essential

Install

yarn global add wetty

Usage

$ wetty --help
Options:
  --help, -h      Print help message                                   [boolean]
  --version       Show version number                                  [boolean]
  --conf          config file to load config from                       [string]
  --ssl-key       path to SSL key                                       [string]
  --ssl-cert      path to SSL certificate                               [string]
  --ssh-host      ssh server host                                       [string]
  --ssh-port      ssh server port                                       [number]
  --ssh-user      ssh user                                              [string]
  --title         window title                                          [string]
  --ssh-auth      defaults to "password", you can use "publickey,password"
                  instead                                               [string]
  --ssh-pass      ssh password                                          [string]
  --ssh-key       path to an optional client private key (connection will be
                  password-less and insecure!)                          [string]
  --ssh-config    Specifies an alternative ssh configuration file. For further
                  details see "-F" option in ssh(1)                     [string]
  --force-ssh     Connecting through ssh even if running as root       [boolean]
  --known-hosts   path to known hosts file                              [string]
  --base, -b      base path to wetty                                    [string]
  --port, -p      wetty listen port                                     [number]
  --host          wetty listen host                                     [string]
  --command, -c   command to run in shell                               [string]
  --allow-iframe  Allow wetty to be embedded in an iframe, defaults to allowing
                  same origin                                          [boolean]

Open your browser on http://yourserver:3000/wetty and you will prompted to login. Or go to http://yourserver:3000/wetty/ssh/<username> to specify the user beforehand.

If you run it as root it will launch /bin/login (where you can specify the user name), else it will launch ssh and connect by default to localhost. The SSH connection can be forced using the --force-ssh option.

If instead you wish to connect to a remote host you can specify the --ssh-host option, the SSH port using the --ssh-port option and the SSH user using the --ssh-user option.

Check out the Flags docs for a full list of flags

Docker container

To use WeTTY as a docker container, a docker image is available on docker hub. To run this image, use

docker run --rm -p 3000:3000 wettyoss/wetty --ssh-host=<YOUR-IP>

and you will be able to open a ssh session to the host given by YOUR-IP under the URL http://localhost:3000/wetty.

It is recommended to drive WeTTY behind a reverse proxy to have HTTPS security and possibly Let’s Encrypt support. Popular containers to achieve this are nginx-proxy and traefik. For traefik there is an example docker-compose file in the containers directory.

FAQ

Check out the docs

What browsers are supported?

WeTTY supports all browsers that xterm.js supports.

Author

πŸ‘€ Cian Butler [email protected]

Contributing ✨

Contributions, issues and feature requests are welcome!
Feel free to check issues page.

Please read the development docs for installing from source and running is dev node

Thanks goes to these wonderful people (emoji key):


Cian Butler

πŸ’» πŸ“–

Krishna Srinivas

πŸ’»

acalatrava

πŸ’»

Strubbl

πŸ’»

Oleg Kurapov

πŸ’»

Boyan Rabchev

πŸ’»

Jimmy

πŸ’»

Luca Milanesio

πŸ’»

Anthony Jund

πŸ’»

mirtouf

πŸ’»

Bertrand Roussel

πŸ’»

Ben Letchford

πŸ’»

SouraDutta

πŸ’»

Koushik M.L.N

πŸ’»

Imuli

πŸ’»

perpen

πŸ’»

Nathan LeClaire

πŸ’»

Mihir Kumar

πŸ’»

Chris Suszynski

πŸ’»

Felix Bartels

πŸ’»

Jarrett Gilliam

πŸ’»

Harry Lee

πŸ’»

Andreas KlΓΆckner

πŸ’»

DenisKramer

πŸ’»

Vamshi K Ponnapalli

πŸ’»

Tri Nguyen

πŸ“–

Felix Pojtinger

πŸ“–

Neale Pickett

πŸ’»

Matthew Piercey

πŸ“–

Kasper Holbek Jensen

πŸ“–

Farhan Khan

πŸ’»

Jurre Vriesen

πŸ’»

James Turnbull

πŸ’»

Dean Shub

πŸ’»

lozbrown

πŸ’» πŸ’‘

sergeir82

πŸ’»

Kyle Lucy

πŸ’»

userdocs

πŸ“–

Janos Kasza

πŸ’»

Grant Handy

πŸ“–

This project follows the all-contributors specification. Contributions of any kind welcome!

Show your support

Give a ⭐️ if this project helped you!

πŸ“ License

Copyright Β© 2019 Cian Butler [email protected].
This project is MIT licensed.


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].