1anytermd(1) anytermd(1)
2
3
4
6 anytermd - A terminal-emulating HTTP daemon
7
9 anytermd [--command arg] [--device arg] [--port arg] [--user arg]
10 [--auth arg] [--charset arg] [--foreground] [--diff] [--nodiff]
11 [--max-sessions arg] [--max-http-connections arg] [--local-only]
12 [--name arg]
13
14 anytermd --help
15
17 Anyterm provides a terminal window on a web page, so you can run com‐
18 mand-line programs on a machine even when the only access to it is over
19 HTTP.
20
21 Anyterm consists of some Javascript on a web page, an XmlHttpRequest
22 channel on standard ports back to the server, an HTTP proxy such as
23 Apache's mod_proxy and the Anyterm daemon. The daemon, anytermd, uses a
24 pseudo-terminal to communicate with a shell or other application, and
25 includes terminal emulation. Key presses are picked up by the Javscript
26 which sends them to the daemon; changes to the emulated screen are sent
27 from the daemon to the Javascript which updates its display. Perfor‐
28 mance is quite reasonable and SSL can be used to secure the connection.
29 For security reasons, it is highly recommended that anytermd NOT be
30 exposed directly to the Internet! See the section SECURITY below.
31
33 Default values are indicated in parentheses ().
34
35 -c | --command arg (=/bin/bash)
36 Command to run in terminal
37
38 -d | --device arg
39 Device to connect to (e.g. serial port)
40
41 -p | --port arg (=8080)
42 Port number to listen on
43
44 -u | --user arg
45 User to run as
46
47 -a | --auth arg (=none)
48 Authorisation: none|null|trivial
49
50 -s | --charset arg (=ascii)
51 Character set
52
53 -f | --foreground
54 run in foreground
55
56 --diff Send only differences to browser
57
58 -n | --nodiff
59 Send whole screen to browser each time
60
61 -m | --max-sessions arg (=20)
62 Maximum number of simultaneous sessions
63
64 --max-http-connections arg (=unlimited)
65 Maximum number of simultaneous HTTP connections
66
67 --local-only
68 Accept connections only from localhost
69
70 --name arg (=anyterm)
71 Name used for logging and pid file
72
73 --help show help message
74
76 Do not run anytermd as root.
77
78 Anyterm's code has not been audited for security. It is almost cer‐
79 tainly possible to cause it to crash by sending it invalid input, and
80 experience suggests that this sort of weakness can also be exploited to
81 allow arbitary code execution.
82
83 Note that all CGI applications and similar programs are subject to this
84 sort of problem, though some are better written than others. The
85 Anyterm code does not need run with a higher priviledge level than any
86 other web application, so weaknesses in Anyterm do not put your system
87 at any higher risk than weaknesses in any other web application would.
88
89 Avoid exposing anytermd directly to the Internet.
90
91 anytermd should be used only as a backend service, reachable only via a
92 frontend HTTPS proxy, such as Apache, that requires authentication.
93 http://anyterm.org/1.1/install.html gives examples of how to set this
94 up.
95
96 A more complete and up-to-date discussion of security issues in
97 anytermd can be found at http://anyterm.org/security.html.
98
100 If you just want to test Anyterm, you can do:
101
102 anytermd --local-only
103
104 and then connect to http://localhost:8080 with your Javascript-enabled
105 web browser. The brower should display a terminal window containing a
106 bash command prompt owned by the user who started anytermd.
107
108 If you want to set up SSH-over-HTTP access on localhost:8022, you might
109 run it as:
110
111 anytermd --command "/usr/bin/ssh -o your-username@localhost" --port
112 8022 --user nobody --charset utf-8 --local-only
113
115 Anyterm is more fully documented on its web site, http://anyterm.org/.
116 The web site may be more up-to-date than this man page.
117
119 Anyterm is written by Phil Endecott. This man page was contributed by
120 Eric Rossen.
121
122
123
124Phil Endecott 1.1.27 anytermd(1)