Like you said, simple commands work quite well, so it is possible to have a perl interface to access the shell using your browser. To do it really well, certain commands like wget should be treated specially, like the answers stated. Another special command would be man. For the rest, you could use pre-Tags or textareas for the output, and