랭킹으로 돌아가기

butlerx/wetty

TypeScriptbutlerx.github.io/wetty

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

hacktoberfestwettyajaxtermanytermterminalxterm-jsxtermjsxtermhacktoberfest-accepted
스타 성장
스타
5.4k
포크
761
주간 성장
이슈
6
2k4k
2014년 4월2018년 5월2022년 6월2026년 7월
아티팩트npmnpm install wetty
README

WeTTY = Web + TTY.

All Contributors

Documentation License: MIT

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 than Ajax and hence better response time.

Prerequisites

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

Install

npm -g i 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]
  --socket                Make wetty listen on unix socket               [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]
  --allow-remote-hosts    Allow wetty to use the host and port params
                          in a url as ssh destination                   [boolean]
  --allow-remote-command  Allow wetty to use the command and path
                          params in a url as command and working
                          directory on ssh host                         [boolean]
  --log-level             set log level of wetty server                  [string]

Open your browser on http://yourserver:3000 and you will prompted to login. Or go to http://yourserver:3000/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.

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 butlerx@notthe.cloud

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
Cian Butler

💻 📖
Krishna Srinivas
Krishna Srinivas

💻
acalatrava
acalatrava

💻
Strubbl
Strubbl

💻
Oleg Kurapov
Oleg Kurapov

💻
Boyan Rabchev
Boyan Rabchev

💻
Jimmy
Jimmy

💻
Luca Milanesio
Luca Milanesio

💻
Anthony Jund
Anthony Jund

💻
mirtouf
mirtouf

💻
Bertrand Roussel
Bertrand Roussel

💻
Ben Letchford
Ben Letchford

💻
SouraDutta
SouraDutta

💻
Koushik M.L.N
Koushik M.L.N

💻
Imuli
Imuli

💻
perpen
perpen

💻
Nathan LeClaire
Nathan LeClaire

💻
Mihir Kumar
Mihir Kumar

💻
Chris Suszynski
Chris Suszynski

💻
Felix Bartels
Felix Bartels

💻
Jarrett Gilliam
Jarrett Gilliam

💻
Harry Lee
Harry Lee

💻
Andreas Klöckner
Andreas Klöckner

💻
DenisKramer
DenisKramer

💻
Vamshi K Ponnapalli
Vamshi K Ponnapalli

💻
Tri Nguyen
Tri Nguyen

📖
Felix Pojtinger
Felix Pojtinger

📖
Neale Pickett
Neale Pickett

💻
Matthew Piercey
Matthew Piercey

📖
Kasper Holbek Jensen
Kasper Holbek Jensen

📖
Farhan Khan
Farhan Khan

💻
Jurre Vriesen
Jurre Vriesen

💻
James Turnbull
James Turnbull

💻
Dean Shub
Dean Shub

💻
lozbrown
lozbrown

💻 💡
sergeir82
sergeir82

💻
Kyle Lucy
Kyle Lucy

💻
userdocs
userdocs

📖
Janos Kasza
Janos Kasza

💻
Grant Handy
Grant Handy

📖
Leszek Błażewski
Leszek Błażewski

💻 📦

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 butlerx@notthe.cloud.
This project is MIT licensed.


관련 저장소
EbookFoundation/free-programming-books

:books: Freely available programming books

PythonPyPICreative Commons Attribution 4.0 Internationaleducationbooks
ebookfoundation.github.io/free-programming-books/
392.6k66.5k
TheAlgorithms/Python

All Algorithms implemented in Python

PythonPyPIMIT Licensepythonalgorithm
thealgorithms.github.io/Python/
223k50.9k
avelino/awesome-go

A curated list of awesome Go frameworks, libraries and software

GoGo ModulesMIT Licensegolanggolang-library
awesome-go.com
178.7k13.4k
huggingface/transformers

🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.

PythonPyPIApache License 2.0nlpnatural-language-processing
huggingface.co/transformers
162.8k34k
excalidraw/excalidraw

Virtual whiteboard for sketching hand-drawn like diagrams

TypeScriptnpmMIT Licenseproductivitycollaboration
excalidraw.com
128k14.5k
axios/axios

Promise based HTTP client for the browser and node.js

JavaScriptnpmMIT Licensehttp-clientjavascript
axios-http.com
109.1k11.8k
microsoft/terminal

The new Windows Terminal and the original Windows console host, all in the same place!

C++MIT Licenseconsoleterminal
104.3k9.4k
florinpop17/app-ideas

A Collection of application ideas which can be used to improve your coding skills.

MIT Licenseapplicationsideas
coderabbit.ai
96k10.5k
iluwatar/java-design-patterns

Design patterns implemented in Java

JavaMavenOtherjavaprinciples
java-design-patterns.com
94.2k27.4k
home-assistant/core

:house_with_garden: Open source home automation that puts local control and privacy first.

PythonPyPIApache License 2.0pythonhome-automation
home-assistant.io
89.4k38.1k
Stirling-Tools/Stirling-PDF

#1 PDF Application on GitHub that lets you edit PDFs on any device anywhere

JavaMavenOtherdockerjava
stirling.com
87.5k7.7k
sherlock-project/sherlock

Hunt down social media accounts by username across social networks

PythonPyPIMIT Licenseosintreconnaissance
sherlockproject.xyz
86.9k10.2k