Butterfly: tu terminal en el navegador web

22:26 0 Comments A+ a-

Butterfly es un simple emulador de terminal escrito en Python que se puede usar desde un navegador web… y viene con algunos trucos debajo de la manga bien interesantes, que otros terminales deberían copiar.


¿Cómo probarlo?

Butterfly es desarrollado en Python, y se instala en cuestión de minutos. Tan sólo hay que ejecutar el comando pip install butterfly como root (para usar pip es necesario tener instalado el paquete python-pip primero). Luego, hay que iniciar el servidor mediante el comando butterfly.server.py, y finalmente hay que acceder al terminal ingresando en el navegador web la dirección http://127.0.0.1:57575. Para iniciar sesión en el shell con un usuario diferente, hay que añadir su nombre a la URL, así: http://127.0.0.1:57575/user/root.

Código: Bash
  1. sudo pip install butterfly
  2. butterfly.server.py --unsecurez

Algunos trucos

Acceder al terminal desde el explorador web está de moda, no hay duda. Sin embargo, Butterfly viene con algunos trucos extras que lo hacen realmente útil.

Tal vez el mejor de todos sea la selección rápida del historial. A través del atajo Shift+Ctrl+Flecha arriba se puede cambiar al modo de selección y luego utilizando los atajos Ctrl+Shift+Flecha arriba y Ctrl+Mayús+Flecha abajo se puede seleccionar el texto del historial que se desee. Luego, sólo hay que presionar Enter para pegar el texto seleccionado.


El estilo visual está basado en CSS por lo que es completamente editable. Además, es posible extender fácilmente el comportamiento del terminal a través de JavaScript (así está desarrollada la función de selección rápida, por ejemplo).

Bien, quiero instalarlo en forma definitiva

Para ejecutar Butterfly desde el inicio del sistema usando systemd hay que descargar el archivo butterfly.service y ponerlo en /etc/systemd/system/ o equivalente. Luego, hay que ejecutar:

Código: Bash
  1. sudo systemctl enable butterfly
  2. sudo systemctl start butterfly

Listo. Ahora Butterfly va a estar siempre disponible.

Cómo acceder desde un equipo remoto

En cuanto a características de acceso remoto, su creador hace énfasis en que de momento no es seguro y recomienda hacerlo solo en una LAN para realizar pruebas.

El comando a ejecutar sería el siguiente:

Código: Bash
  1. butterfly.server.py --host="0.0.0.0"

Cómo ejecutar un shell específico

Por ejemplo, para ejecutar fish, hay que utilizar el siguiente comando:

Código: Bash
  1. butterfly.server.py --shell=/bin/fish

https://github.com/paradoxxxzero/butterfly/raw/master/butterfly.service