Myte Soft
 
Myte Term | download (Last changed 2008-08-06) | Terminal Screenshot | Editor Screenshot
This software is USE AT YOUR OWN RISK. It is, by definition, a security vulnerability, as it allows arbitrary command execution on your site. It is strongly recommended that it never be installed to an insecure location. The script has NO built in login protection. You are expected to setup your own protection for your site by whatever means your web server provides. It is also recommended that it be protected by SSL (https).

Scary warnings out of the way, MyteTerm is a web based shell terminal designed too look and feel as much like a normal Bash shell as possible. Any shell commands that would require a persistent connection will not function correctly. EG. if it's a command like "passwd" that require user input after it is called, it won't work, or commands like 'tail -f' or 'less' that require a connection to send data in parts will also not function. I have used a number of other CGI terminals, and none of them did all the things I wanted, so I built this one from scratch, and share it as GPL software. If you have used PHPTerm, you will notice that this has some similarities to it. I started this project as an alteration to PHPTerm, and found out that PHP, at least with my hosting provider, can not support simultaneous script calls from one location. That is, if you make 3 requests, it will have to finish request 1 before it can move on too request 2 and so on down the line. Since I wanted this to be AJAX, and added download and upload functions, that just wasn't functional, as you would have to wait for your download or upload to finish before you could move on and do anything else. As a result, I rebuilt the whole thing from scratch in Perl. The only part of this that still has ties to PHPTerm is the idea of making a terminal that looks feels as close to a real terminal as possible.

If you like this application, please donate, and send me an email. Bills being as they are, the more money I get from this site, the more time I will have to work on this project, and projects like it. If you think of any features you would like added, contact me as well, and I will see what I can do. I appreciate any positive feedback, or constructive criticism.

Here is a list of features you will find in MyteTerm.
-Browse directories.
-Run any non persistent commands the server will allow.
-Upload and download files.
-Edit text files directly by way of the built in editor.
-Print text files from the server locally.
-Built in "follow" command to emulate a "tail -f"
-Scroll back history, accessible with the '!' command.
-Tab completion
-VT Color results in color. (Sadly I implemented blink as well.)
-Customizable size and style.
-Save the content of your session locally to an HTML file.
Do not need root server access to make function

Requirements.
UNIX base system (Linux, freeBSD, Solaris etc etc.) May work with Cygwin, but thats untested.
Web server capable of perl cgi Perl 5.8 or better
Perl libs
Cwd
CGI

Installation.
-untar to your CGI-BIN location
-Password protect the scripts. With Apache, create a .htaccess and .htpasswd file to protect the scripts. If your web server doesn't do password protection, don't use these scripts.
-Run YourSiteURL/PathToScripts/myteterm.pl
-Chose File->Configure (See Help->Configuration first for details)
-Set execdir, homedir and BaseCGIDir to their appropriate values.
-Enjoy

Known Bugs.
-Ctrl-L centering in editor is off position when there is text above the cursor position that wraps.
-Tab Completion only works on the last argument typed in on the command line.
-If you press tab on the command line, and then type something before it responds, your typing gets replaced.

Other Files.
Binaries
This is a number of 32bit pre-compiled apps that I find to be useful. They are all open source. Some of them were lifted from DSL (Damn Small Linux), others from other places. The point though, is that they were compiled with the absolute minimum requirements for them to function. Examples of what are in here are BusyBox, htpasswd, tar, etc... To use them, extract the contents of this file to "MyteTermInstallLocation/bin".