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.