npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

wetty

v3.1.0

Published

WeTTY = Web + TTY. Terminal access in browser over http/https

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 [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):

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.