Browse Source

Consistent WeTTY/wetty capitalization. (Upstream #360) (#364)

main
Arturo R 3 years ago
committed by GitHub
parent
commit
e9866fa2f4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 94
      README.md
  2. 2
      conf/config.json5
  3. 6
      docs/API.md
  4. 6
      docs/README.md
  5. 30
      docs/apache.md
  6. 12
      docs/atoz.md
  7. 2
      docs/auto-login.md
  8. 10
      docs/development.md
  9. 6
      docs/docker.md
  10. 6
      docs/downloading-files.md
  11. 10
      docs/flags.md
  12. 4
      docs/https.md
  13. 12
      docs/nginx.md
  14. 6
      docs/service.md
  15. 2
      src/main.ts
  16. 2
      src/shared/defaults.ts

94
README.md

@ -14,11 +14,11 @@
> Terminal access in browser over http/https
![WeTTy](./docs/terminal.png?raw=true)
![WeTTY](./docs/terminal.png?raw=true)
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
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
@ -82,7 +82,7 @@ list of flags
### Docker container
To use wetty as a docker container, a docker image is available on
To use WeTTY as a docker container, a docker image is available on
[docker hub](https://hub.docker.com/r/wettyoss/wetty). To run this image, use
```sh
@ -92,7 +92,7 @@ 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](http://localhost:3000/wetty).
It is recommended to drive wetty behind a reverse proxy to have HTTPS security
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](https://github.com/nginx-proxy/nginx-proxy) and
[traefik](https://traefik.io/traefik/). For traefik there is an example
@ -111,7 +111,7 @@ Check out the [docs](https://github.com/butlerx/wetty/tree/main/docs)
### What browsers are supported?
WeTTy supports all browsers that
WeTTY supports all browsers that
[xterm.js supports](https://github.com/xtermjs/xterm.js#browser-support).
## Author
@ -137,56 +137,56 @@ Thanks goes to these wonderful people
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center"><a href="http://cianbutler.ie"><img src="https://avatars1.githubusercontent.com/u/867930?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Cian Butler</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=butlerx" title="Code">💻</a> <a href="https://github.com/butlerx/WeTTy/commits?author=butlerx" title="Documentation">📖</a></td>
<td align="center"><a href="http://about.me/krishnasrinivas"><img src="https://avatars0.githubusercontent.com/u/634494?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Krishna Srinivas</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=krishnasrinivas" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/acalatrava"><img src="https://avatars1.githubusercontent.com/u/8502129?v=4?s=100" width="100px;" alt=""/><br /><sub><b>acalatrava</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=acalatrava" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Strubbl"><img src="https://avatars3.githubusercontent.com/u/97055?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Strubbl</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=Strubbl" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/2sheds"><img src="https://avatars3.githubusercontent.com/u/16163?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Oleg Kurapov</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=2sheds" title="Code">💻</a></td>
<td align="center"><a href="http://www.rabchev.com"><img src="https://avatars0.githubusercontent.com/u/1876061?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Boyan Rabchev</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=rabchev" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/nosemeocurrenada"><img src="https://avatars1.githubusercontent.com/u/3845708?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jimmy</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=nosemeocurrenada" title="Code">💻</a></td>
<td align="center"><a href="http://cianbutler.ie"><img src="https://avatars1.githubusercontent.com/u/867930?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Cian Butler</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=butlerx" title="Code">💻</a> <a href="https://github.com/butlerx/wetty/commits/commits?author=butlerx" title="Documentation">📖</a></td>
<td align="center"><a href="http://about.me/krishnasrinivas"><img src="https://avatars0.githubusercontent.com/u/634494?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Krishna Srinivas</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=krishnasrinivas" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/acalatrava"><img src="https://avatars1.githubusercontent.com/u/8502129?v=4?s=100" width="100px;" alt=""/><br /><sub><b>acalatrava</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=acalatrava" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/Strubbl"><img src="https://avatars3.githubusercontent.com/u/97055?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Strubbl</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=Strubbl" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/2sheds"><img src="https://avatars3.githubusercontent.com/u/16163?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Oleg Kurapov</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=2sheds" title="Code">💻</a></td>
<td align="center"><a href="http://www.rabchev.com"><img src="https://avatars0.githubusercontent.com/u/1876061?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Boyan Rabchev</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=rabchev" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/nosemeocurrenada"><img src="https://avatars1.githubusercontent.com/u/3845708?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jimmy</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=nosemeocurrenada" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="http://www.gerritforge.com"><img src="https://avatars3.githubusercontent.com/u/182893?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Luca Milanesio</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=lucamilanesio" title="Code">💻</a></td>
<td align="center"><a href="http://anthonyjund.com"><img src="https://avatars3.githubusercontent.com/u/39376331?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Anthony Jund</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=antonyjim" title="Code">💻</a></td>
<td align="center"><a href="https://www.mirtouf.fr"><img src="https://avatars3.githubusercontent.com/u/5165058?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mirtouf</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=mirtouf" title="Code">💻</a></td>
<td align="center"><a href="https://cor-net.org"><img src="https://avatars1.githubusercontent.com/u/556693?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bertrand Roussel</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=CoRfr" title="Code">💻</a></td>
<td align="center"><a href="https://www.benl.com.au/"><img src="https://avatars0.githubusercontent.com/u/6703966?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Letchford</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=benletchford" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/SouraDutta"><img src="https://avatars0.githubusercontent.com/u/33066261?v=4?s=100" width="100px;" alt=""/><br /><sub><b>SouraDutta</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=SouraDutta" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/koushikmln"><img src="https://avatars3.githubusercontent.com/u/8670988?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Koushik M.L.N</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=koushikmln" title="Code">💻</a></td>
<td align="center"><a href="http://www.gerritforge.com"><img src="https://avatars3.githubusercontent.com/u/182893?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Luca Milanesio</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=lucamilanesio" title="Code">💻</a></td>
<td align="center"><a href="http://anthonyjund.com"><img src="https://avatars3.githubusercontent.com/u/39376331?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Anthony Jund</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=antonyjim" title="Code">💻</a></td>
<td align="center"><a href="https://www.mirtouf.fr"><img src="https://avatars3.githubusercontent.com/u/5165058?v=4?s=100" width="100px;" alt=""/><br /><sub><b>mirtouf</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=mirtouf" title="Code">💻</a></td>
<td align="center"><a href="https://cor-net.org"><img src="https://avatars1.githubusercontent.com/u/556693?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Bertrand Roussel</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=CoRfr" title="Code">💻</a></td>
<td align="center"><a href="https://www.benl.com.au/"><img src="https://avatars0.githubusercontent.com/u/6703966?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Ben Letchford</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=benletchford" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/SouraDutta"><img src="https://avatars0.githubusercontent.com/u/33066261?v=4?s=100" width="100px;" alt=""/><br /><sub><b>SouraDutta</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=SouraDutta" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/koushikmln"><img src="https://avatars3.githubusercontent.com/u/8670988?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Koushik M.L.N</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=koushikmln" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="https://imu.li/"><img src="https://avatars3.githubusercontent.com/u/4085046?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Imuli</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=imuli" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/perpen"><img src="https://avatars2.githubusercontent.com/u/9963805?v=4?s=100" width="100px;" alt=""/><br /><sub><b>perpen</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=perpen" title="Code">💻</a></td>
<td align="center"><a href="https://nathanleclaire.com"><img src="https://avatars3.githubusercontent.com/u/1476820?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nathan LeClaire</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=nathanleclaire" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/MiKr13"><img src="https://avatars2.githubusercontent.com/u/34394719?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mihir Kumar</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=MiKr13" title="Code">💻</a></td>
<td align="center"><a href="http://redhat.com"><img src="https://avatars0.githubusercontent.com/u/540893?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Suszynski</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=cardil" title="Code">💻</a></td>
<td align="center"><a href="http://9wd.de"><img src="https://avatars1.githubusercontent.com/u/1257835?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Felix Bartels</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=fbartels" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/jarrettgilliam"><img src="https://avatars3.githubusercontent.com/u/5099690?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jarrett Gilliam</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=jarrettgilliam" title="Code">💻</a></td>
<td align="center"><a href="https://imu.li/"><img src="https://avatars3.githubusercontent.com/u/4085046?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Imuli</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=imuli" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/perpen"><img src="https://avatars2.githubusercontent.com/u/9963805?v=4?s=100" width="100px;" alt=""/><br /><sub><b>perpen</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=perpen" title="Code">💻</a></td>
<td align="center"><a href="https://nathanleclaire.com"><img src="https://avatars3.githubusercontent.com/u/1476820?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Nathan LeClaire</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=nathanleclaire" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/MiKr13"><img src="https://avatars2.githubusercontent.com/u/34394719?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mihir Kumar</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=MiKr13" title="Code">💻</a></td>
<td align="center"><a href="http://redhat.com"><img src="https://avatars0.githubusercontent.com/u/540893?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Chris Suszynski</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=cardil" title="Code">💻</a></td>
<td align="center"><a href="http://9wd.de"><img src="https://avatars1.githubusercontent.com/u/1257835?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Felix Bartels</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=fbartels" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/jarrettgilliam"><img src="https://avatars3.githubusercontent.com/u/5099690?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jarrett Gilliam</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=jarrettgilliam" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="https://harrylee.me"><img src="https://avatars0.githubusercontent.com/u/7056279?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Harry Lee</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=harryleesan" title="Code">💻</a></td>
<td align="center"><a href="http://andreask.cs.illinois.edu"><img src="https://avatars3.githubusercontent.com/u/352067?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Andreas Klöckner</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=inducer" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/DenisKramer"><img src="https://avatars1.githubusercontent.com/u/23534092?v=4?s=100" width="100px;" alt=""/><br /><sub><b>DenisKramer</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=DenisKramer" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/vamship"><img src="https://avatars0.githubusercontent.com/u/7143376?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vamshi K Ponnapalli</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=vamship" title="Code">💻</a></td>
<td align="center"><a href="https://tridnguyen.com"><img src="https://avatars1.githubusercontent.com/u/1652595?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tri Nguyen</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=tnguyen14" title="Documentation">📖</a></td>
<td align="center"><a href="https://felix.pojtinger.com/"><img src="https://avatars1.githubusercontent.com/u/28832235?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Felix Pojtinger</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=pojntfx" title="Documentation">📖</a></td>
<td align="center"><a href="https://nealey.github.io/"><img src="https://avatars3.githubusercontent.com/u/423780?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Neale Pickett</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=nealey" title="Code">💻</a></td>
<td align="center"><a href="https://harrylee.me"><img src="https://avatars0.githubusercontent.com/u/7056279?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Harry Lee</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=harryleesan" title="Code">💻</a></td>
<td align="center"><a href="http://andreask.cs.illinois.edu"><img src="https://avatars3.githubusercontent.com/u/352067?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Andreas Klöckner</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=inducer" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/DenisKramer"><img src="https://avatars1.githubusercontent.com/u/23534092?v=4?s=100" width="100px;" alt=""/><br /><sub><b>DenisKramer</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=DenisKramer" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/vamship"><img src="https://avatars0.githubusercontent.com/u/7143376?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vamshi K Ponnapalli</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=vamship" title="Code">💻</a></td>
<td align="center"><a href="https://tridnguyen.com"><img src="https://avatars1.githubusercontent.com/u/1652595?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Tri Nguyen</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=tnguyen14" title="Documentation">📖</a></td>
<td align="center"><a href="https://felix.pojtinger.com/"><img src="https://avatars1.githubusercontent.com/u/28832235?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Felix Pojtinger</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=pojntfx" title="Documentation">📖</a></td>
<td align="center"><a href="https://nealey.github.io/"><img src="https://avatars3.githubusercontent.com/u/423780?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Neale Pickett</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=nealey" title="Code">💻</a></td>
</tr>
<tr>
<td align="center"><a href="https://www.matthewpiercey.ml"><img src="https://avatars3.githubusercontent.com/u/22581026?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matthew Piercey</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=mtpiercey" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/kholbekj"><img src="https://avatars3.githubusercontent.com/u/2786571?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kasper Holbek Jensen</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=kholbekj" title="Documentation">📖</a></td>
<td align="center"><a href="https://mastodon.technology/@farhan"><img src="https://avatars1.githubusercontent.com/u/10103765?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Farhan Khan</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=khanzf" title="Code">💻</a></td>
<td align="center"><a href="https://www.jurrevriesen.nl"><img src="https://avatars1.githubusercontent.com/u/7419259?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jurre Vriesen</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=jurruh" title="Code">💻</a></td>
<td align="center"><a href="https://www.kartar.net/"><img src="https://avatars3.githubusercontent.com/u/4365?v=4?s=100" width="100px;" alt=""/><br /><sub><b>James Turnbull</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=jamtur01" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/deanshub"><img src="https://avatars2.githubusercontent.com/u/2688676?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dean Shub</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=deanshub" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/lozbrown"><img src="https://avatars3.githubusercontent.com/u/9961593?v=4?s=100" width="100px;" alt=""/><br /><sub><b>lozbrown </b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=lozbrown" title="Code">💻</a> <a href="#example-lozbrown" title="Examples">💡</a></td>
<td align="center"><a href="https://www.matthewpiercey.ml"><img src="https://avatars3.githubusercontent.com/u/22581026?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Matthew Piercey</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=mtpiercey" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/kholbekj"><img src="https://avatars3.githubusercontent.com/u/2786571?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kasper Holbek Jensen</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=kholbekj" title="Documentation">📖</a></td>
<td align="center"><a href="https://mastodon.technology/@farhan"><img src="https://avatars1.githubusercontent.com/u/10103765?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Farhan Khan</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=khanzf" title="Code">💻</a></td>
<td align="center"><a href="https://www.jurrevriesen.nl"><img src="https://avatars1.githubusercontent.com/u/7419259?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jurre Vriesen</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=jurruh" title="Code">💻</a></td>
<td align="center"><a href="https://www.kartar.net/"><img src="https://avatars3.githubusercontent.com/u/4365?v=4?s=100" width="100px;" alt=""/><br /><sub><b>James Turnbull</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=jamtur01" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/deanshub"><img src="https://avatars2.githubusercontent.com/u/2688676?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dean Shub</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=deanshub" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/lozbrown"><img src="https://avatars3.githubusercontent.com/u/9961593?v=4?s=100" width="100px;" alt=""/><br /><sub><b>lozbrown </b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=lozbrown" title="Code">💻</a> <a href="#example-lozbrown" title="Examples">💡</a></td>
</tr>
<tr>
<td align="center"><a href="https://github.com/sergeir82"><img src="https://avatars0.githubusercontent.com/u/5081149?v=4?s=100" width="100px;" alt=""/><br /><sub><b>sergeir82</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=sergeir82" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/kmlucy"><img src="https://avatars1.githubusercontent.com/u/13952475?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kyle Lucy</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=kmlucy" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/userdocs"><img src="https://avatars1.githubusercontent.com/u/16525024?v=4?s=100" width="100px;" alt=""/><br /><sub><b>userdocs</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=userdocs" title="Documentation">📖</a></td>
<td align="center"><a href="https://logmein.com/"><img src="https://avatars3.githubusercontent.com/u/1554533?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Janos Kasza</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=janoskk" title="Code">💻</a></td>
<td align="center"><a href="https://grantshandy.xyz/"><img src="https://avatars3.githubusercontent.com/u/45475651?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Grant Handy</b></sub></a><br /><a href="https://github.com/butlerx/WeTTy/commits?author=DefunctLizard" title="Documentation">📖</a></td>
<td align="center"><a href="https://github.com/sergeir82"><img src="https://avatars0.githubusercontent.com/u/5081149?v=4?s=100" width="100px;" alt=""/><br /><sub><b>sergeir82</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=sergeir82" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/kmlucy"><img src="https://avatars1.githubusercontent.com/u/13952475?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Kyle Lucy</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=kmlucy" title="Code">💻</a></td>
<td align="center"><a href="https://github.com/userdocs"><img src="https://avatars1.githubusercontent.com/u/16525024?v=4?s=100" width="100px;" alt=""/><br /><sub><b>userdocs</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=userdocs" title="Documentation">📖</a></td>
<td align="center"><a href="https://logmein.com/"><img src="https://avatars3.githubusercontent.com/u/1554533?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Janos Kasza</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=janoskk" title="Code">💻</a></td>
<td align="center"><a href="https://grantshandy.xyz/"><img src="https://avatars3.githubusercontent.com/u/45475651?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Grant Handy</b></sub></a><br /><a href="https://github.com/butlerx/wetty/commits/commits?author=DefunctLizard" title="Documentation">📖</a></td>
</tr>
</table>

2
conf/config.json5

@ -13,7 +13,7 @@
base: '/wetty/', // URL base to serve resources from
port: 3000, // Port to listen on
host: '0.0.0.0', // address to listen on
title: 'WeTTy - The Web Terminal Emulator', // Page title
title: 'WeTTY - The Web Terminal Emulator', // Page title
bypassHelmet: false, // Disable Helmet security checks
},

6
docs/API.md

@ -1,4 +1,4 @@
## WeTTy
## WeTTY
Create WeTTY server
@ -12,7 +12,7 @@ Create WeTTY server
### WeTTy.start ⇒ `Promise`
Starts WeTTy Server
Starts WeTTY Server
**Kind**: inner property of [`WeTTy`](#module_WeTTy)
**Returns**: `Promise` - Promise resolves once server is running
@ -31,7 +31,7 @@ Starts WeTTy Server
| [serverConf.base] | `Object` | `'/wetty/'` | Server settings |
| [serverConf.port] | `number` | `3000` | Port to run server on |
| [serverConf.host] | `string` | `'0.0.0.0'` | Host address for server |
| [serverConf.title] | `string` | `'WeTTy'` | Title of the server |
| [serverConf.title] | `string` | `'WeTTY'` | Title of the server |
| [serverConf.bypasshelmet] | `boolean` | `false` | if helmet should be disabled on the sever |
| [command] | `string` | `"''"` | The command to execute. If running as root and no host specified this will be login if a host is specified will be ssh |
| [forcessh] | `boolean` | `false` | Connecting through ssh even if running as root |

6
docs/README.md

@ -1,6 +1,6 @@
# Docs
![WeTTy](./terminal.png?raw=true)
![WeTTY](./terminal.png?raw=true)
- [AtoZ](./atoz.md)
- [Running as daemon](./service.md)
@ -13,11 +13,11 @@
## API
For WeTTy options and event details please refer to the [api docs](./API.md)
For WeTTY options and event details please refer to the [api docs](./API.md)
### Getting started
WeTTy is event driven. To Spawn a new server call `wetty.start()` with no
WeTTY is event driven. To Spawn a new server call `wetty.start()` with no
arguments.
```javascript

30
docs/apache.md

@ -1,15 +1,15 @@
## Run wetty behind nginx or apache
## Run WeTTY behind nginx or apache
As said earlier you can use a proxy to add https to WeTTy.
As said earlier you can use a proxy to add https to WeTTY.
**Note** that if your proxy is configured for https you should run WeTTy without
**Note** that if your proxy is configured for https you should run WeTTY without
SSL
If your proxy uses a base path other than `/wetty`, specify the path with the
`--base` flag, or the `BASE` environment variable.
The following confs assume you want to serve wetty on the url
`example.com/wetty` and are running wetty with the default base and serving it
The following confs assume you want to serve WeTTY on the url
`example.com/wetty` and are running WeTTY with the default base and serving it
on the same server
Put the following configuration in apache's conf:
@ -34,10 +34,10 @@ the community version, only pro).
Main idea is to propagate the SAML2 validated user identity into the
`remote-user` HTTP header. You need to have the user id returned within the
SAML2 NameID matching the username defined on the platform wetty is running.
SAML2 NameID matching the username defined on the platform WeTTY is running.
E.g: You can ask the Idp to return a sAMAccountName within the SAML2Response
NameID, and provision beforehand those allowed users on the OS wetty is running
NameID, and provision beforehand those allowed users on the OS WeTTY is running
on.
### SAML2 Metadata generation
@ -84,7 +84,7 @@ here `idp.xml` and exchange you foo.xml with it.
MellonSPCertFile /etc/apache2/saml2/foo.cert
MellonIdPMetadataFile /etc/apache2/saml2/idp.xml
# the identity propagated to wetty (as HTTP header 'remote-user: xxxxx')
# the identity propagated to WeTTY (as HTTP header 'remote-user: xxxxx')
# is retrieved from SAMLResponse NameID attribute
RequestHeader set remote-user %{MELLON_NAMEID}e
</Location>
@ -106,15 +106,15 @@ here `idp.xml` and exchange you foo.xml with it.
### Auto login
If you want to have a seamless login by trusting your IdP for authentication,
you can create password-less users on the wetty platform and have them trust an
SSH key used by the NodeJS, owned by the dedicated wetty OS user.
you can create password-less users on the WeTTY platform and have them trust an
SSH key used by the NodeJS, owned by the dedicated WeTTY OS user.
Wetty instanciation with proper parameters, especially the SSH private key is
WeTTY instanciation with proper parameters, especially the SSH private key is
done via the following systemd service `/etc/systemd/system/wetty.service`:
```
[Unit]
Description=Wetty Web Terminal
Description=WeTTY Web Terminal
After=network.target
[Service]
@ -140,12 +140,12 @@ You probably don't want local users to impersonate each other, for that you need
to make sure that:
1. NodeJS is listenning only to localhost: provided by `wetty.service`
2. **Only** the apache2 process can join the wetty port. Else local users will
2. **Only** the apache2 process can join the WeTTY port. Else local users will
be able to connect and forge a `remote-user` header: provided by
`iptables -A OUTPUT -o lo -p tcp --dport 3000 -m owner \! --uid-owner www-data -j DROP`
3. Validate your wetty version does not allow access to `/wetty/ssh/` else again
3. Validate your WeTTY version does not allow access to `/wetty/ssh/` else again
you will be able to impersonnate anyone: provided by either:
1. wetty version 2.0.3 and beyond implements this by disabling this feature
1. WeTTY version 2.0.3 and beyond implements this by disabling this feature
in case of `remote-user` presence
2. apache2 conf as provided in previous section (containing the
`<Location /wetty/ssh/>`)

12
docs/atoz.md

@ -353,7 +353,7 @@ Here is the template `config.json` you need to use.
**Note:** To be [validated json](https://codebeautify.org/jsonvalidator) the
below json example should have the `// ...` comments removed. With all comments
removed the example is valid json. They are in the example to help explain the
options and won't stop wetty from loading if you leave them in place. Lines you
options and won't stop WeTTY from loading if you leave them in place. Lines you
do not need can be commented out but should be removed if you want the json to
pass validation.
@ -371,7 +371,7 @@ pass validation.
"base": "/wetty/", // URL base to serve resources from
"port": 3000, // Port to listen on
"host": "0.0.0.0", // listen on all interfaces or can be 127.0.0.1 with nginx
"title": "WeTTy - The Web Terminal Emulator", // Page title
"title": "WeTTY - The Web Terminal Emulator", // Page title
"bypassHelmet": false // Disable Helmet security checks
},
"forceSSH": false, // Force sshing to local machine over login if running as root
@ -446,7 +446,7 @@ remove or modify the `ExecStart` command based on your needs.
```bash
[Unit]
Description=wetty
Description=WeTTY
After=network-online.target
[Service]
@ -484,7 +484,7 @@ this file.
```bash
[Unit]
Description=wetty
Description=WeTTY
After=network-online.target
[Service]
@ -628,7 +628,7 @@ behind either:
--ssh-host ssh server host [string] [default: "localhost"]
--ssh-port ssh server port [number] [default: 22]
--ssh-user ssh user [string] [default: ""]
--title window title [string] [default: "WeTTy - The Web Terminal Emulator"]
--title window title [string] [default: "WeTTY - The Web Terminal Emulator"]
--ssh-auth defaults to "password", you can use "publickey,password"
instead [string] [default: "password"]
--ssh-pass ssh password [string]
@ -646,7 +646,7 @@ behind either:
same origin [boolean] [default: false]
```
## Updating Wetty
## Updating WeTTY
With `yarn`:

2
docs/auto-login.md

@ -16,7 +16,7 @@ For auto-login feature you'll need sshpass installed
## Usage
You can also pass the ssh password as an optional query parameter to auto-login
the user like this (Only while running WeTTy as a non root account or when
the user like this (Only while running WeTTY as a non root account or when
specifying the ssh host):
`http://yourserver:3000/wetty/ssh/<username>?pass=<password>`

10
docs/development.md

@ -1,6 +1,6 @@
# Installation from Source
WeTTy can be installed from source or from npm.
WeTTY can be installed from source or from npm.
To install from source run:
@ -13,8 +13,8 @@ $ yarn build
## Development Env
To run WeTTy in dev mode you can run `yarn dev` this will build latest version
of WeTTy and start the server pointing at `localhost` on port `22`. The Dev
server will rebuild WeTTy when ever a file is edited and restart the server with
the new build. Any current ssh session in WeTTy will be killed and the user
To run WeTTY in dev mode you can run `yarn dev` this will build latest version
of WeTTY and start the server pointing at `localhost` on port `22`. The Dev
server will rebuild WeTTY when ever a file is edited and restart the server with
the new build. Any current ssh session in WeTTY will be killed and the user
logged out.

6
docs/docker.md

@ -1,6 +1,6 @@
# Dockerized Version
WeTTy can be run from a container to ssh to a remote host or the host system.
WeTTY can be run from a container to ssh to a remote host or the host system.
This is handy for quick deployments. Just modify `docker-compose.yml` for your
host and run:
@ -8,7 +8,7 @@ host and run:
$ docker-compose up -d
```
This will start 2 containers, one will be WeTTy container running ssh client the
This will start 2 containers, one will be WeTTY container running ssh client the
other will be a container running ssh server.
Visit the appropriate URL in your browser
@ -22,6 +22,6 @@ In the docker version all flags can be accessed as environment variables such as
If you dont want to build the image yourself just remove the line `build; .`
If you wish to use the WeTTy container in prod just modify the WeTTy container
If you wish to use the WeTTY container in prod just modify the WeTTY container
to have `SSHHOST` point to the server you want to ssh to and remove the ssh
server container.

6
docs/downloading-files.md

@ -1,6 +1,6 @@
# File Downloading
WeTTy supports file downloads by printing terminal escape sequences between a
WeTTY supports file downloads by printing terminal escape sequences between a
base64 encoded file.
The terminal escape sequences used are `^[[5i` and `^[[4i` (VT100 for "enter
@ -15,11 +15,11 @@ function wetty-download() {
}
```
You are then able to download files via WeTTy!
You are then able to download files via WeTTY!
```bash
$ cat my-pdf-file.pdf | ./wetty-download.sh
```
WeTTy will then issue a popup like the following that links to a local file
WeTTY will then issue a popup like the following that links to a local file
blob: `Download ready: file-20191015233654.pdf`

10
docs/flags.md

@ -1,15 +1,15 @@
# Flags
WeTTy can be run with the `--help` flag to get a full list of flags.
WeTTY can be run with the `--help` flag to get a full list of flags.
## Server Port
WeTTy runs on port `3000` by default. You can change the default port by
WeTTY runs on port `3000` by default. You can change the default port by
starting with the `--port` or `-p` flag.
## SSH Host
If WeTTy is run as root while the host is set as the local machine it will use
If WeTTY is run as root while the host is set as the local machine it will use
the `login` binary rather than ssh. If no host is specified it will use
`localhost` as the ssh host.
@ -26,10 +26,10 @@ be prompted to enter their username when they connect.
## SSH Port
By default WeTTy will try to ssh to port `22`, if your host uses an alternative
By default WeTTY will try to ssh to port `22`, if your host uses an alternative
ssh port this can be specified with the flag `--ssh-port`.
## WeTTy URL
## WeTTY URL
If you'd prefer an HTTP base prefix other than `/wetty`, you can specify that
with `--base`.

4
docs/https.md

@ -1,12 +1,12 @@
# HTTPS
Always use HTTPS especially with a terminal to your server. You can add HTTPS by
either using WeTTy behind a proxy or directly.
either using WeTTY behind a proxy or directly.
See docs for [NGinX](./nginx.md) and [Apache](./apache.md) for running behind a
proxy.
To run WeTTy directly with SSL use both the `--ssl-key` and `--ssl-cert` flags
To run WeTTY directly with SSL use both the `--ssl-key` and `--ssl-cert` flags
and pass them the path too your cert and key as follows:
```bash

12
docs/nginx.md

@ -1,15 +1,15 @@
## Run WeTTy behind nginx
## Run WeTTY behind nginx
As said earlier you can use Nginx to add https to WeTTy.
As said earlier you can use Nginx to add https to WeTTY.
**Note** that if your proxy is configured for https you should run WeTTy without
**Note** that if your proxy is configured for https you should run WeTTY without
SSL
If you configure nginx to use a base path other than `/WeTTy`, then specify that
If you configure nginx to use a base path other than `/wetty`, then specify that
path with the `--base` flag, or the `BASE` environment variable.
The following confs assume you want to serve WeTTy on the url
`example.com/wetty` and are running WeTTy with the default base and serving it
The following confs assume you want to serve WeTTY on the url
`example.com/wetty` and are running WeTTY with the default base and serving it
on the same server
For a more detailed look see the

6
docs/service.md

@ -1,6 +1,6 @@
## Run WeTTy as a service daemon
## Run WeTTY as a service daemon
WeTTy can be run as a daemon on your service init confs and systemd services are
WeTTY can be run as a daemon on your service init confs and systemd services are
bundled with the npm package to make this easier.
### init.d
@ -20,7 +20,7 @@ $ systemctl --user enable wetty
$ systemctl --user start wetty
```
This will start WeTTy on port 3000. If you want to change the port or redirect
This will start WeTTY on port 3000. If you want to change the port or redirect
stdout/stderr you should change the last line in `wetty.conf` file, something
like this:

2
src/main.ts

@ -89,7 +89,7 @@ const opts = yargs
})
.option('allow-iframe', {
description:
'Allow wetty to be embedded in an iframe, defaults to allowing same origin',
'Allow WeTTY to be embedded in an iframe, defaults to allowing same origin',
type: 'boolean',
})
.option('help', {

2
src/shared/defaults.ts

@ -15,7 +15,7 @@ export const serverDefault: Server = {
base: process.env.BASE || '/wetty/',
port: parseInt(process.env.PORT || '3000', 10),
host: '0.0.0.0',
title: process.env.TITLE || 'WeTTy - The Web Terminal Emulator',
title: process.env.TITLE || 'WeTTY - The Web Terminal Emulator',
allowIframe: false,
};

Loading…
Cancel
Save