.. author:: lk3de <[email protected]>
.. tag:: web
.. tag:: console
.. tag:: ssh
.. tag:: lang-c
.. tag_list::
Shell In A Box emulates a terminal in your browser. It implements a web server that works with purely JavaScript and CSS across most modern web browsers. This is helpful if you are e.g. behind a corporate firewall that blocks port 22, which is usually used for :manual:`SSH <basics-ssh>` connections.
Shell In A Box is released under the GNU General Public License version 2.
Your page's URL needs to be set up:
Clone the shellinabox repository from Github into ~/shellinabox
and cd
into the newly created directory:
[isabell@stardust ~]$ git clone https://github.com/shellinabox/shellinabox
Cloning into 'shellinabox'...
remote: Enumerating objects: 3073, done.
remote: Total 3073 (delta 0), reused 0 (delta 0), pack-reused 3073
Receiving objects: 100% (3073/3073), 4.31 MiB | 6.47 MiB/s, done.
Resolving deltas: 100% (2418/2418), done.
[isabell@stardust ~]$ cd ~/shellinabox
[isabell@stardust shellinabox]$
Run the autotools, afterwards build the application with configure
followed by make
:
[isabell@stardust shellinabox]$ autoreconf --install
[...]
Makefile.am: installing './INSTALL'
Makefile.am: installing './depcomp'
[isabell@stardust shellinabox]$ ./configure --prefix=$HOME
[...]
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
[isabell@stardust shellinabox]$ make
[...]
make[1]: Leaving directory '/home/isabell/shellinabox'
[isabell@stardust shellinabox]$ make install
[...]
make[1]: Leaving directory `/home/isabell/shellinabox'
This will create a new executable file named shellinaboxd
(notice the d at the end of the filename) in your ~/bin
directory.
Note
shellinabox is running on port 4200 by default.
To run shellinabox as a daemon, create a new file ~/etc/services.d/shellinabox.ini
with the following content:
[program:shellinabox]
command=shellinaboxd --disable-ssl --verbose
autostart=yes
autorestart=yes
We are using two command-line options here:
--disable-ssl
: Disables the built-in SSL functionality, since this is already enforced by Uberspace's :manual:`HTTPS configuration <web-https>`--verbose
: Enables verbose logging which helps troubleshooting (you can safely disable this if you want to)
You can find the full reference of command-line options on Google Code.
Point your browser to https://isabell.uber.space/ (replace isabell
with your username) and enjoy your new browser-based shell.
The icon is made by Freepik from Flaticon.
Tested with shellinabox 2.20, Uberspace 7.6.1.2
.. author_list::