-
Notifications
You must be signed in to change notification settings - Fork 13
/
README
143 lines (104 loc) · 5.5 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
===========================================================================
VNC Reflector 1.2.4
Copyright (C) 2001-2003 HorizonLive.com, Inc.
===========================================================================
About VNC Reflector
~~~~~~~~~~~~~~~~~~~
VNC Reflector is a specialized VNC server which acts as a proxy
sitting between real VNC server (host) and a number of VNC clients. It
was designed to work efficiently with large number of clients, but
current version is optimized to work primarily with clients that
request 8-bit color format known as BGR233. Other color formats are
supported too but performance may be worse if there are many such
clients.
VNC Reflector can switch between different host connections on the
fly, supports reverse host connections and hosts with variable desktop
geometries. It supports full-control and read-only client connections
depending on which of two passwords was used to initiate a client
session.
Raw, Hextile, Tight and CopyRect encodings are suported both at the
host side and at the client side. JPEG sub-encoding in Tight is
supported on client connections.
Please note that the documentation is incomplete.
Licensing terms
~~~~~~~~~~~~~~~
This software is Copyright (C) 2001-2003 HorizonLive.com, Inc.
All rights reserved.
This software is released under the terms specified in the file LICENSE,
included. HorizonLive provides e-Learning and collaborative synchronous
presentation solutions in a totally Web-based environment. For more
information about HorizonLive, please see our website:
http://www.horizonlive.com/
This software was authored by Constantin Kaplinsky <const@ce.cctpu.edu.ru>
and sponsored by HorizonLive.com, Inc.
Command-line usage
~~~~~~~~~~~~~~~~~~
./vncreflector [OPTIONS...] HOST_INFO_FILE
Options:
-i PID_FILE - write pid file, appending listening port to the filename
-p PASSWD_FILE - read a plaintext client password file [default: passwd]
-a ACTIVE_FILE - create file during times when a host is connected
-c ACTIONS_FILE - on events, execute commands specified in a file
-l LISTEN_PORT - port to listen for client connections [default: 5999]
-b IP_ADDRESS - bind listening sockets to a specific IP [default: any]
-s FBS_PREFIX - save host sessions in rfbproxy-compatible files
(optionally appending 3-digit session IDs to the
filename prefix, only if used without the -j option)
-j - join saved sessions (see -s option) in one session file
-t - use Tight encoding for host communications if possible
-T COMPR_LEVEL - like -t, but use the specified compression level (1..9)
-g LOG_FILE - write logs to the specified file [default: reflector.log]
-v LOG_LEVEL - set verbosity level for the log file (0..6) [default: 4]
-f LOG_LEVEL - run in foreground, show logs on stderr at the specified
verbosity level (0..6) [note: use 3 for normal output]
-q - suppress printing copyright banner at startup
-h - print this help message
Format of the HOST_INFO_FILE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
HOST_INFO_FILE provides information about the host to connect to. It's
first line should begin with hostname (or with an asterisk if we would wait
for reversed host->reflector connection). Next thing is VNC display number
after a colon (or a TCP port number, for reversed connections). Then
follows plaintext host password after a space. For non-reversed
connections, negative display numbers are allowed (e.g. display number
-5820 corresponds to port number 80 at the host side). For reversed
connections, default listening port number is 5500.
A sample to connect to some.hostname.com's display :0 (port 5900):
=== cut ===
some.hostname.com:0 PaS$w0rD
=== cut ===
A sample to listen for host connections on TCP port 5598:
=== cut ===
*:5598 PaS$w0rD
=== cut ===
Format of the PASSWD_FILE
~~~~~~~~~~~~~~~~~~~~~~~~~
PASSWD_FILE keeps passwords for client connections.
It may contain two lines with one password on each line. First line is for
full-control client password, second line is for read-only client password.
Empty lines denote no authentication. If the file contains one line, then
there is no read-only password, and all clients would have been granted
full-control access.
Format of the ACTIONS_FILE
~~~~~~~~~~~~~~~~~~~~~~~~~~
ACTIONS_FILE used with the -c option specifies commands that should be
executed upon certain events. Each line starts with a keyword denoting a
particular event type, then follows colon character (":"), and after an
optional sequence of spaces follows the command to execute. An example:
=== cut ===
host_activate: echo "new host" >> /tmp/connections.txt
=== cut ===
Currently, the only supported event type is `host_activate', which is raised
on each new host connection.
Control signals
~~~~~~~~~~~~~~~
* SIGHUP signal causes VNC Reflector to disconnect all connected clients.
* SIGUSR1 signal tells VNC Reflector that it should re-read
HOST_INFO_FILE and to reconnect to host specified there (or to start
listening for reversed host connections). Host connection would be
closed when new host connection is established successfully (auth is ok
etc.). Client connections would be preserved.
* SIGUSR2 signal tells VNC Reflector that it should close current host
connection, then re-read HOST_INFO_FILE and to reconnect to host
specified there (or to start listening for reversed host connections).
Client connections would be preserved.