wok-next view ajaxterm/stuff/README.md @ rev 21469

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