Post206 nn

Ttyd - Comparte tu terminal a través de la web


Profile
Omar Jacobo Muñoz Veliz

ttyd es una sencilla herramienta de línea de comandos para compartir terminales a través de la web, inspirada en GoTTY.

 

La herramienta está disponible en: https://github.com/tsl0922/ttyd

 

Ejemplo de la herramienta

 

Características

 

  • Construido sobre Libwebsockets con C para la velocidad
  • Terminal con todas las funciones basadas en Xterm.js con soporte CJK e IME
  • Integración gráfica de ZMODEM con soporte de lrzsz
  • Soporte SSL basado en OpenSSL.
  • Ejecuta cualquier comando personalizado con opciones
  • Soporte de autenticación básica y muchas otras opciones personalizadas
  • Multiplataforma: macOS, Linux, FreeBSD / OpenBSD, OpenWrt / LEDE, Windows

 

Instalación en macOS

 

Instalar con homebrew:

brew install ttyd

 

Instalar en linux

 

  • Versión binaria: descarga desde la página de lanzamientos.
  • Construir desde la fuente (debian / ubuntu):
sudo apt-get install cmake g++ pkg-config git vim-common libwebsockets-dev libjson-c-dev libssl-dev
git clone https://github.com/tsl0922/ttyd.git
cd ttyd && mkdir build && cd build
cmake ..
make && make install

 

Es posible que también deba compilar / instalar libwebsockets desde la fuente si el paquete libwebsockets-dev está desactualizado.

 

Instale en Gentoo: clone el repositorio en https://bitbucket.org/mgpagano/ttyd/src/master/ y siga las instrucciones aquí para crear un repositorio local.

 

Instalar en Windows

 

ttyd se puede compilar con MSYS2 en Windows, las instrucciones de compilación están aquí.

 

NOTA: Es posible que los programas nativos de la consola de Windows no funcionen correctamente debido a problemas de incompatibilidad de pty. Como solución alternativa, puede usar winpty como envoltorio para invocar el programa de Windows, por ejemplo: ttyd winpty cmd.

 

Uso

 

Opciones de línea de comando

 

ttyd is a tool for sharing terminal over the web

USAGE:
    ttyd [options] <command> [<arguments...>]

VERSION:
    1.4.2

OPTIONS:
    -p, --port              Port to listen (default: 7681, use `0` for random port)
    -i, --interface         Network interface to bind (eg: eth0), or UNIX domain socket path (eg: /var/run/ttyd.sock)
    -c, --credential        Credential for Basic Authentication (format: username:password)
    -u, --uid               User id to run with
    -g, --gid               Group id to run with
    -s, --signal            Signal to send to the command when exit it (default: 1, SIGHUP)
    -r, --reconnect         Time to reconnect for the client in seconds (default: 10)
    -R, --readonly          Do not allow clients to write to the TTY
    -t, --client-option     Send option to client (format: key=value), repeat to add more options
    -T, --terminal-type     Termin   al type to report, default: xterm-256color
    -O, --check-origin      Do not allow websocket connection from different origin
    -m, --max-clients       Maximum clients to support (default: 0, no limit)
    -o, --once              Accept only one client and exit on disconnection
    -B, --browser           Open terminal with the default system browser
    -I, --index             Custom index.html path
    -6, --ipv6              Enable IPv6 support
    -S, --ssl               Enable SSL
    -C, --ssl-cert          SSL certificate file path
    -K, --ssl-key           SSL key file path
    -A, --ssl-ca            SSL CA file path for client certificate verification
    -d, --debug             Set log level (default: 7)
    -v, --version           Print the version and exit
    -h, --help              Print this text and exit

Vi   sit https://github.com/tsl0922/ttyd to get more information and report bugs.

 

Ejemplo de uso

 

ttyd inicia el servidor web en el puerto 7681 de manera predeterminada, puede usar la opción -p para cambiarlo, el comando se iniciará con argumentos como opciones. Por ejemplo, ejecute:

 

ttyd -p 8080 bash -x

 

Luego abra http: // localhost: 8080 con un navegador, obtendrá un shell bash con el modo de depuración habilitado.
Más ejemplos:

 

  • Si desea iniciar sesión con sus cuentas de sistema en el navegador web, ejecute ttyd login.
    Incluso puedes ejecutar un comando none shell como vim, prueba: ttyd vim, el navegador web te mostrará un editor vim.
  • Compartir un solo proceso con varios clientes: ttyd tmux new -A -s ttyd vim, ejecute tmux new -A -s ttyd para conectarse a la sesión tmux desde el terminal

 

Créditos: https://www.kitploit.com/2019/04/ttyd-share-your-terminal-over-web.html

 



Artículos que te pueden interesar