~0x44/nova/extdoc

« back to all changes in this revision

Viewing changes to tools/ajaxterm/README.txt

  • Committer: NTT PF Lab.
  • Date: 2010-12-24 11:38:49 UTC
  • mto: This revision was merged to the branch mainline in revision 564.
  • Revision ID: openstack@lab.ntt.co.jp-20101224113849-z9nemzmki17bxnvw
SupportĀ IPv6

Show diffs side-by-side

added added

removed removed

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