Program ShellInABox jest świetnym programem, który daje dostęp nam do shella na naszym serwerze poprzez przeglądarkę internetową. Interfejs webowy oparty o technologię AJAX daje nam dostęp do naszego komputera, kiedy do dyspozycji mamy tylko przeglądarkę webową. Projekt jest dość nowy i zawiera jeszcze wiele błędów, lecz jest bardzo intensywnie rozwijany.
ShellInABox w pełni emuluję standard terminala VT100, dzięki czemu działają w nim aplikacje pełnoekranowe, obsługiwane są klawisze typu PageUp/PageDown. Możemy bez problemu uruchomić takie polecenia jak top
czy mc
oraz irssi
.
Instalacja aplikacji jest bardzo prosta. Na stronie projektu dostępne są do pobrania paczki w formacie DEB oraz źródła. Do uruchomienia aplikacji niezbędna jest biblioteka OpenSSL. Po skompilowaniu lub zainstalowaniu z paczki należy uruchomić demona shellinaboxd
. Usługa domyślnie będzie dostępna pod adresem http://localhost:4200. Port można zmienić w konfiguracji. Aplikacja obsługuje HTTP oraz HTTPS.
ShellInABox obsługuje również polskie znaki przy stosowaniu kodowania UTF-8. Po nawiązaniu połączenia przez przeglądarkę z usługą ShellInABox, uruchamiany jest program /bin/login
. Mimo iż w dokumentacji napisane jest, że można zmienić /bin/login
, to niestety ta opcja nie działa. Dokumentacja jest jeszcze bardzo niekompletna. Problem występuje również z obsługą certyfikatów SSL.
Jeśli będziemy korzystać z połączenia HTTPS, a w katalogu z aplikacją nie znajdzie się plik z certyfikatem, aplikacja powinna za pomocą funkcji z pakietu OpenSSL wygenerować plik certificate.pem
. Niestety powoduje to zawieszenie się programu.
Istnieją również dwa inne narzędzia tego typu. Pierwszym z nich jest Anyterm, a drugim AjaxTerm. Niestety oba z nich wymagają doinstalowania odpowiedniego modułu do serwera Apache oraz dodatkowo Python dla AjaxTerma. Instalacja obu z nich jest zdecydowanie bardziej skomplikowana od wdrożenia ShellInABox. Niestety oba z nich nie wspierają pracy aplikacji pełnoekranowych.
Jeśli to prawda co piszecie to będzie to naprawdę świetna aplikacja. Szczerze to szukałem czegoś takiego od dawna. Potestuję w szkole.
Zapowiada się nieźle :)
[…] to konkuruje z innymi emulatorami terminala w przeglądarce jak na przykład z consoleFISH czy ShellInABox. Emulatory te wykorzystują technologię […]