Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 136 lines (104 sloc) 5.059 kB
824c22c m
wis authored
1 <h1>Ajaxterm</h1>
77c1fbc m
wis authored
2
824c22c m
wis authored
3 <h2>Intro</h2>
4 <pre>
77c1fbc m
wis authored
5 Ajaxterm is a web based terminal. It was totally inspired and works almost
62e1a0c ajaxterm 0.8
wis authored
6 exactly like http://anyterm.org/ except it's much easier to install (see
7 comparaison with anyterm below).
77c1fbc m
wis authored
8
824c22c m
wis authored
9 Ajaxterm written in python (and some AJAX javascript for client side) and
10 depends only on python2.3 or better.
77c1fbc m
wis authored
11
824c22c m
wis authored
12 Ajaxterm is '''very simple to install''' on Linux, MacOS X, FreeBSD, Solaris,
13 cygwin and any Unix that runs python2.3.
77c1fbc m
wis authored
14
824c22c m
wis authored
15 Ajaxterm was written by Antony Lesuisse (email: al AT udev.org), License Public
16 Domain.
17 </pre>
77c1fbc m
wis authored
18
824c22c m
wis authored
19 <!-- ====================================================== -->
77c1fbc m
wis authored
20
824c22c m
wis authored
21 <h2>News</h2>
22 <pre>
23 - 2008-11-13: v0.11 switch to git, apply minor patches
24 - 2006-10-29: v0.10 allow space in login, cgi launch fix, redhat init
25 - 2006-07-12: v0.9 change uid, daemon fix (Daniel Fischer)
26 - 2006-07-04: v0.8 add login support to ssh (Sven Geggus), change max width to 256
27 - 2006-05-31: v0.7 minor fixes, daemon option
28 - 2006-05-23: v0.6 Applied debian and gentoo patches, renamed to Ajaxterm, default port 8022
29 </pre>
77c1fbc m
wis authored
30
824c22c m
wis authored
31 <!-- ====================================================== -->
32
33 <h2>Download and Install</h2>
34 <pre>
35
36 - Release: /ajaxterm/files/Ajaxterm-0.10.tar.gz
77c1fbc m
wis authored
37
38 To install Ajaxterm issue the following commands:
824c22c m
wis authored
39
40 wget http://antony.lesuisse.org/ajaxterm/files/Ajaxterm-0.10.tar.gz
41 tar zxvf Ajaxterm-0.10.tar.gz
42 cd Ajaxterm-0.10
43 ./ajaxterm.py
44
46bd1fc ajaxterm default port 8022
wis authored
45 Then point your browser to this URL : http://localhost:8022/
824c22c m
wis authored
46 </pre>
77c1fbc m
wis authored
47
824c22c m
wis authored
48 <!-- ====================================================== -->
77c1fbc m
wis authored
49
824c22c m
wis authored
50 <h2>Screenshot</h2>
77c1fbc m
wis authored
51
824c22c m
wis authored
52 <img src="scr.png" alt="ajaxterm screenshot"/>
77c1fbc m
wis authored
53
824c22c m
wis authored
54 <!-- ====================================================== -->
55
56 <h2>Documentation and Caveats</h2>
57 <pre>
58 * Ajaxterm only support latin1, if you use Ubuntu or any LANG==en_US.UTF-8
59 distribution don't forget to "unset LANG".
77c1fbc m
wis authored
60
61 * If run as root ajaxterm will run /bin/login, otherwise it will run ssh
62 localhost. To use an other command use the -c option.
63
46bd1fc ajaxterm default port 8022
wis authored
64 * By default Ajaxterm only listen at 127.0.0.1:8022. For remote access, it is
77c1fbc m
wis authored
65 strongly recommended to use '''https SSL/TLS''', and that is simple to
62e1a0c ajaxterm 0.8
wis authored
66 configure if you use the apache web server using mod_proxy.[[BR]][[BR]]
67 Using ssl will also speed up ajaxterm (probably because of keepalive).[[BR]][[BR]]
68 Here is an configuration example:
77c1fbc m
wis authored
69
70 Listen 443
71 NameVirtualHost *:443
72
824c22c m
wis authored
73 &lt;VirtualHost *:443&gt;
77c1fbc m
wis authored
74 ServerName localhost
75 SSLEngine On
76 SSLCertificateKeyFile ssl/apache.pem
77 SSLCertificateFile ssl/apache.pem
78
79 ProxyRequests Off
824c22c m
wis authored
80 &lt;Proxy *&gt;
77c1fbc m
wis authored
81 Order deny,allow
82 Allow from all
824c22c m
wis authored
83 &lt;/Proxy&gt;
46bd1fc ajaxterm default port 8022
wis authored
84 ProxyPass /ajaxterm/ http://localhost:8022/
85 ProxyPassReverse /ajaxterm/ http://localhost:8022/
824c22c m
wis authored
86 &lt;/VirtualHost&gt;
77c1fbc m
wis authored
87
88 * Using GET HTTP request seems to speed up ajaxterm, just click on GET in the
89 interface, but be warned that your keystrokes might be loggued (by apache or
cffdbfa m
wis authored
90 any proxy). I usually enable it after the login.
77c1fbc m
wis authored
91
cffdbfa m
wis authored
92 * Ajaxterm commandline usage:
77c1fbc m
wis authored
93
824c22c m
wis authored
94 usage: ajaxterm.py [options]
95
96 options:
97 -h, --help show this help message and exit
98 -pPORT, --port=PORT Set the TCP port (default: 8022)
99 -cCMD, --command=CMD set the command (default: /bin/login or ssh localhost)
100 -l, --log log requests to stderr (default: quiet mode)
101 -d, --daemon run as daemon in the background
102 -PPIDFILE, --pidfile=PIDFILE
103 set the pidfile (default: /var/run/ajaxterm.pid)
104 -iINDEX_FILE, --index=INDEX_FILE
105 default index file (default: ajaxterm.html)
106 -uUID, --uid=UID Set the daemon's user id
77c1fbc m
wis authored
107
62e1a0c ajaxterm 0.8
wis authored
108 * Ajaxterm was first written as a demo for qweb (my web framework), but
109 actually doesn't use many features of qweb.
110
111 * Compared to anyterm:
112 * There are no partial updates, ajaxterm updates either all the screen or
113 nothing. That make the code simpler and I also think it's faster. HTTP
114 replies are always gzencoded. When used in 80x25 mode, almost all of
115 them are below the 1500 bytes (size of an ethernet frame) and we just
116 replace the screen with the reply (no javascript string handling).
117 * Ajaxterm polls the server for updates with an exponentially growing
118 timeout when the screen hasn't changed. The timeout is also resetted as
119 soon as a key is pressed. Anyterm blocks on a pending request and use a
120 parallel connection for keypresses. The anyterm approch is better
121 when there aren't any keypress.
77c1fbc m
wis authored
122
824c22c m
wis authored
123 * Ajaxterm files are released in the Public Domain, (except
124 [http://sarissa.sourceforge.net/doc/ sarissa*] which are LGPL).
125 </pre>
77c1fbc m
wis authored
126
824c22c m
wis authored
127 <!-- ====================================================== -->
817f745 v0.6 rename src python, ajaxterm fixes
wis authored
128
824c22c m
wis authored
129 <h2>TODO</h2>
130 <pre>
817f745 v0.6 rename src python, ajaxterm fixes
wis authored
131 * insert mode ESC [ 4 h
62e1a0c ajaxterm 0.8
wis authored
132 * change size x,y from gui (sending signal)
817f745 v0.6 rename src python, ajaxterm fixes
wis authored
133 * vt102 graphic codepage
62e1a0c ajaxterm 0.8
wis authored
134 * use innerHTML or prototype instead of sarissa
824c22c m
wis authored
135 </pre>
Something went wrong with that request. Please try again.