Thursday, October 26th, 2006

WebTTY: Server terminal on webpage using AJAX

Category: Showcase

WebTTY is a GPL project that lets you shell in via Ajax:

The WebTTY package allows any Linux terminal processes to be controlled in a text area HTML element on a webpage. The output from the server process is collected on server side, and is send to a text area element. Keypresses in textarea are collected on client side and send to the server process. WebTTY uses AJAX/DHTML patterns to achieve in-page updates without refreshing the entire page.


Posted by Dion Almaer at 1:20 pm

3.9 rating from 26 votes


Comments feed TrackBack URI

That’s actually kinda neat. It displays garbage characters for tabbing and such, but fun regardless.

On a similar note, there’s _why’s Try Ruby

Comment by Adam Sanderson — October 26, 2006

Now that’s useful.

Comment by ron — October 26, 2006

I’ve implemented something similar to this but controlling a windows 2k server.
The concept is easy. You take the user input, send it down to a, let’s say php, file that will do something like $output=shell_exec(command). The $output is echo back and updated to the textarea through Ajax.
I don’t really see any difficulties on this one at all.

Comment by Simon Jia — October 26, 2006

it would probably be alot better, if the backspace key actually worked..

Comment by Jaimz — October 26, 2006

Try Ruby has been doing something similar for quite some time. A key difference is that Try Ruby buffers line input, since it does not need to send individual keystrokes.

Comment by Daniel Luz — October 26, 2006

@Daniel Luz:
I’d rather have it send individual keystrokes. For example, in most Linux shells you can hit the tab key to autocomplete a file/directory name. It’d drive me nuts not having that capability.

Comment by Jacob — October 26, 2006

Cool execution, but a java applet is better served in terms of usability and performance (direct ssh sockets).

Comment by Anonymous — October 26, 2006

I am using another ajax terminal emulator, it is called Ajaxterm and is written in python. Extremely easy to set up, and it actually works with the backspace key, ^C.. and most other signals. I have tried to use screen, vim and ssh to another box.. works just fine.

Take a look if you need an easy way to ssh through firewalls with only port 80 and 443 open for example.

Comment by Peter Hellberg — October 27, 2006

I really, really hope they included CSRF protection with that thing.

Comment by Simon Willison — October 27, 2006

hava a look at anyterm –

you can use (almost?) any application you can use from console with it, including VI.

Comment by Harald — October 27, 2006

Leave a comment

You must be logged in to post a comment.