Skip to content

jcubic/leash

Repository files navigation

   __   _______   ______ __
  / /  / __/ _ | / __/ // /
 / /__/ _// __ |_\ \/ _  /
/____/___/_/ |_/___/_//_/ v. 1.20.0

----------------------------------------------------------------------------

This is web application that will give you access to the shell, you will not
need root priviliges, ssh or telnet only php based hosting. You only need
one of the following:

* php exec function enabled
* php shell_exec function enabled
* Enabled CGI with python or perl on the server

----------------------------------------------------------------------------
:: Shell Limitations
----------------------------------------------------------------------------

* you will not be able to execute interactive commands like `php -a`
* you can't create a function and run it in next command (because each
  command is run as separated process)

----------------------------------------------------------------------------
:: Features
----------------------------------------------------------------------------

* mysql command
* sqlite command
* python interpreter
* javascript interpreter
* jargon command (will display definitions from jargon file)
* ymacs editor (Emacs clone for the web)
* vi editor (using jsvi)
  and clone to lib/apps directory
* tab completion
* File Drag & Drop upload (using HTML5) you can upload files that are bigger
  then the php limit
* wikipedia command that display wikipedia articles
* rfc command where you can read RFC documents
* record command where you can save commands in hash and rerun them when you
  refresh
* view html pages as text on the terminal, when clicking on the link
* github repos browser (with cat/less/cd/ls sub commands)
* guest and sudo options:
  * guest, if set, will have limited access to shell, list of commands are
    configurable from config.json
  * sudo option, if set, will allow to execute commands are real unix user
    to create new user you will need to use linux command line (adduser command
    from real terminal) and you will need to have leash user with the same name,
    (to add user from leash you need to be root and execute adduser command)
    and have sudo access without password for apache user

----------------------------------------------------------------------------
:: Requirements
----------------------------------------------------------------------------
* php >=5.5 with .htaccess with modules curl, mbstring, json and zip
* to have full use of leash you will also need one of functions enabled:
  * exec
  * system
  * shell_exec
  * or cgi (perl or python in cgi-bin directory)
* if you want to have mysql or sqlite commands you need to install those databases
  and appropriate php modules
* you may also want to have programm unbuffer installed (in ubuntu it's provied
  by package expect - actually it's expect script), it will make not interactive
  shell act like real terminal (tty)

----------------------------------------------------------------------------
:: Chat
----------------------------------------------------------------------------

https://gitter.im/jcubic/leash

----------------------------------------------------------------------------
:: License
----------------------------------------------------------------------------

Copyright (C) 2013-2023 Jakub Jankiewicz
Released under the MIT license