Home | History | Annotate | only in /external/libvncserver/x11vnc/misc/enhanced_tightvnc_viewer
Up to higher level directory
NameDateSize
bin/08-Oct-2015
build.unix08-Oct-20159.4K
COPYING08-Oct-201517.6K
filelist.txt08-Oct-201527.1K
man/08-Oct-2015
README08-Oct-201526K
src/08-Oct-2015
ssvnc.desktop08-Oct-2015360
Windows/08-Oct-2015

README

      1        Enhanced TightVNC Viewer (SSVNC: SSL/SSH VNC viewer)
      2 
      3 Copyright (c) 2006-2009 Karl J. Runge <runge (a] karlrunge.com>
      4 All rights reserved.
      5 
      6 These bundles provide 1) An enhanced TightVNC Viewer on Unix, 2) Binaries
      7 for many Operating Systems (including Windows and Mac OS X) for your
      8 convenience, 3) Wrapper scripts and a GUI for gluing them all together.
      9 
     10 One can straight-forwardly download all of the components and get them
     11 to work together by oneself: this bundle is mostly for your convenience
     12 to combine and wrap together the freely available software.
     13 
     14 Bundled software co-shipped is copyright and licensed by others.
     15 See these sites and related ones for more information:
     16 
     17         http://www.tightvnc.com
     18         http://www.realvnc.com
     19         http://stunnel.mirt.net
     20         http://www.stunnel.org
     21         http://www.openssl.org
     22         http://www.chiark.greenend.org.uk/~sgtatham/putty/
     23 	http://sourceforge.net/projects/cotvnc/
     24 
     25 Note: Some of the binaries included contain cryptographic software that
     26 you may not be allowed to download, use, or redistribute.  Please check
     27 your situation first before downloading any of these bundles.  See the
     28 survey http://rechten.uvt.nl/koops/cryptolaw/index.htm for useful
     29 information.
     30 
     31 All work done by Karl J. Runge in this project is
     32 Copyright (c) 2006-2008 Karl J. Runge and is licensed under the GPL as
     33 described in the file COPYING in this directory.
     34 
     35 All the files and information in this project are provided "AS IS"
     36 without any warranty of any kind.  Use them at your own risk.
     37 
     38 
     39 =============================================================================
     40 
     41 This bundle contains a convenient collection of enhanced TightVNC
     42 viewers and stunnel binaries for different flavors of Unix and wrapper
     43 scripts and a GUI front-end to glue them together.  Automatic SSL and
     44 SSH encryption tunnelling is provided.
     45 
     46 A Windows SSL wrapper for the bundled TightVNC binary and other utilities
     47 are provided.  (Launch ssvnc.exe in the Windows subdirectory).
     48 
     49 The short name of the project is "ssvnc" for SSL/SSH VNC Viewer.
     50 
     51 It is a self-contained bundle, you could carry it around on, say,
     52 a USB memory stick for secure VNC viewing from almost any machine,
     53 Unix, Mac, or Windows.
     54 
     55 Features:
     56 --------
     57 
     58 The enhanced TightVNC viewer features are:
     59 
     60 	- SSL support for connections using the bundled stunnel program.
     61 
     62 	- Automatic SSH connections from the GUI (ssh must already be
     63 	  installed on Unix; bundled plink is used on Windows)
     64 
     65 	- Ability to Save and Load VNC profiles for different hosts.
     66 
     67 	- You can also use your own VNC Viewer, e.g. UltraVNC or RealVNC,
     68 	  with the front-end GUI or scripts if you like.
     69 
     70 	- Create or Import SSL Certificates and Private Keys.
     71 
     72 	- Reverse (viewer listening) VNC connections via SSL and SSH.
     73 
     74 	- VeNCrypt SSL/TLS VNC encryption support (used by VeNCrypt,
     75 	  QEMU, ggi, libvirt/virt-manager/xen, vinagre/gvncviewer/gtk-vnc)
     76 
     77 	- ANONTLS SSL/TLS VNC encryption support (used by Vino)
     78 
     79 	- VeNCrypt and ANONTLS are also enabled for any 3rd party VNC
     80 	  Viewer (e.g. RealVNC, TightVNC, UltraVNC ...) on Unix, MacOSX,
     81 	  and Windows via the provided SSVNC VeNCrypt Viewer Bridge tool
     82 	  (use 'Change VNC Viewer' to select the one you want.)
     83 
     84 	- Support for Web Proxies, SOCKS Proxies, and the UltraVNC
     85 	  repeater proxy (e.g. repeater://host:port+ID:1234). Multiple
     86 	  proxies may be chained together (3 max).
     87 
     88 	- Support for SSH Gateway connections and non-standard SSH ports.
     89 
     90 	- Automatic Service tunnelling via SSH for CUPS and SMB Printing,
     91 	  ESD/ARTSD Audio, and SMB (Windows/Samba) filesystem mounting.
     92 
     93 	- Sets up any additional SSH port redirections that you want.
     94 
     95 	- Zeroconf (aka Bonjour) is used on Unix and Mac OS X to find
     96 	  VNC servers on your local network if the avahi-browse or dns-sd
     97 	  program is available and in your PATH.
     98 
     99         - Port Knocking for "closed port" SSH/SSL connections.  In addition
    100           to a simple fixed port sequence and one-time-pad implementation,
    101           a hook is also provided to run any port knocking client before a
    102           connecting.
    103 
    104 	- Support for native MacOS X usage with bundled Chicken of the
    105 	  VNC viewer (the Unix X11 viewer is also provided for MacOS X,
    106 	  and is better IMHO).
    107 
    108 	- Dynamic VNC Server Port determination and redirection (using
    109 	  ssh's builtin SOCKS proxy, -D) for servers like x11vnc that
    110 	  print out PORT= at startup.
    111 
    112         - Unix Username and Password entry for use with "x11vnc -unixpw"
    113 	  type login dialogs.
    114 
    115 	- Simplified mode launched by command "sshvnc" that is SSH Only.
    116 
    117 	- Simplified mode launched by command "tsvnc" that provides a VNC
    118 	  "Terminal Services" mode (uses x11vnc on the remote side).
    119 
    120 
    121 	(the following features only apply to the bundled Unix tightvnc viewer
    122         including MacOS X)
    123 
    124 	- rfbNewFBSize VNC support (screen resizing)
    125 
    126 	- Client-side Scaling of the Viewer.
    127 
    128 	- ZRLE VNC encoding support (RealVNC's encoding)
    129 
    130 	- Support for the ZYWRLE encoding, a wavelet based extension to
    131 	  ZRLE to improve compression of motion video and photo regions.
    132 
    133 	- TurboVNC support (VirtualGL's modified TightVNC encoding;
    134 	  requires TurboJPEG library)
    135 
    136         - Pipelined Updates of the framebuffer as in TurboVNC (asks for
    137           the next update before the current one has finished downloading;
    138           this gives some speedup on high latency connections.)
    139 
    140 	- Cursor alphablending with x11vnc at 32bpp (-alpha option)
    141 
    142 	- Option "-unixpw ..." for use with "x11vnc -unixpw" login dialogs.
    143 
    144 	- Support for UltraVNC extensions: Single Window, Disable
    145 	  Server-side Input, 1/n Server side scaling, Text Chat (shell
    146 	  terminal UI). Both UltraVNC and x11vnc servers support these
    147 	  extensions
    148 
    149 	- UltraVNC File Transfer via an auxiliary Java helper program
    150 	  (java must be in $PATH). Note that the x11vnc server supports
    151 	  UltraVNC file transfer.
    152 
    153 	- Connection support for the UltraVNC repeater proxy (-repeater
    154 	  option).
    155 
    156 	- Support for UltraVNC Single Click operation. (both unencrypted:
    157 	  SC I, and SSL encrypted: SC III)
    158 
    159         - Support for UltraVNC DSM Encryption Plugin mode. (ARC4 and
    160           AESV2, MSRC4, and SecureVNC)
    161 
    162         - Support for UltraVNC MS-Logon authentication (NOTE: the
    163           UltraVNC MS-Logon key exchange implementation is very weak; an
    164           eavesdropper on the network can recover your Windows password
    165           easily in a few seconds; you need to use an additional encrypted
    166           tunnel with MS-Logon.)
    167 
    168         - Support for symmetric encryption (including blowfish and 3des
    169           ciphers) to Non-UltraVNC Servers. Any server using the same
    170           encryption method will work, e.g.:  x11vnc -enc blowfish:./my.key
    171 
    172 	- Instead of hostname:display one can also supply "exec=command
    173 	  args..." to connect the viewer to the stdio of an external command
    174 	  (e.g. stunnel or socat) rather than using a TCP/IP socket. Unix
    175 	  domain sockets, e.g. /path/to/unix/socket, and a previously
    176 	  opened file descriptor fd=0, work too.
    177 
    178         - Local Port Protections for STUNNEL and SSH: avoid having for
    179           long periods of time a listening port on the the local (VNC
    180           viewer) side that redirects to the remote side.
    181 
    182 	- Reverse (viewer listening) VNC connections can show a
    183 	  Popup dialog asking whether to accept the connection or not
    184 	  (-acceptpopup.) The extra info provided by UltraVNC Single Click
    185 	  reverse connections is also supported (-acceptpopupsc)
    186 
    187 	- Extremely low color modes: 64 and 8 colors in 8bpp
    188 	  (-use64/-bgr222, -use8/-bgr111)
    189 
    190 	- Medium color mode: 16bpp mode even for 32bpp Viewer display
    191 	  (-16bpp/-bgr565)
    192 
    193 	- x11vnc's client-side caching -ncache method cropping option
    194 	  (-ycrop n). This will "hide" the large pixel buffer cache
    195 	  below the actual display. Set to actual height or use -1 for
    196 	  autodetection (tall screens are autodetected by default).
    197 
    198         - Escape Keys: enable a set of modifier keys so when they
    199           are all pressed down you can invoke Popup menu actions via
    200           keystrokes. I.e., a set of 'Hot Keys'. One can also pan (move)
    201           the desktop inside the viewport via Arrow keys or a mouse drag.
    202 
    203 	- Scrollbar width setting: -sbwidth n, the default is very thin,
    204 	  2 pixels, for less distracting -ycrop usage.
    205 
    206 	- Selection text sending and receiving can be fine-tuned with the
    207 	  -sendclipboard, -sendalways, and -recvtext options.
    208 
    209 	- TightVNC compression and quality levels are automatically set
    210 	  based on observed network latency (n.b. not bandwidth.)
    211 
    212 	- Improvements to the Popup menu, all of these can now be changed
    213 	  dynamically via the menu: ViewOnly, Toggle Bell, CursorShape
    214 	  updates, X11 Cursor, Cursor Alphablending, Toggle Tight/ZRLE,
    215 	  Toggle JPEG, FullColor/16bpp/8bpp (256/64/8 colors), Greyscale
    216 	  for low color modes, Scaling the Viewer resolution, Escape Keys,
    217 	  Pipeline Updates, and others, including UltraVNC extensions.
    218 
    219 	- Maintains its own BackingStore if the X server does not
    220 
    221 	- The default for localhost:0 connections is not raw encoding
    222 	  (local machine). Default assumes you are using SSH tunnel. Use
    223 	  -rawlocal to revert.
    224 
    225 	- XGrabServer support for fullscreen mode, for old window managers
    226 	  (-grab/-graball option).
    227 
    228 	- Fix for Popup menu positioning for old window managers
    229 	  (-popupfix option).
    230 
    231 	- Run vncviewer -help for all options.
    232 
    233 
    234 
    235 The list of software bundled in the archive files:
    236 
    237         TightVNC Viewer           (windows, unix, macosx)
    238         Chicken of the VNC Viewer (macosx)
    239         Stunnel                   (windows, unix, macosx)
    240         Putty/Plink/Pageant       (windows)
    241         OpenSSL                   (windows)
    242         esound                    (windows)
    243 
    244 These are all self-contained in the bundle directory: they will not be
    245 installed on your system.  Just un-zip or un-tar the file you downloaded
    246 and run it straight from its directory.
    247 
    248 
    249 Quick Start:
    250 -----------
    251 
    252 Unix and Mac OS X:
    253 
    254     Inside a Terminal do something like the following.
    255 
    256     Unpack the archive:
    257 
    258         % gzip -dc ssvnc-1.0.28.tar.gz | tar xvf -
    259 
    260     Run the GUI:
    261 
    262         % ./ssvnc/Unix/ssvnc               (for Unix)
    263 
    264         % ./ssvnc/MacOSX/ssvnc             (for Mac OS X)
    265 
    266     The smaller file "ssvnc_no_windows-1.0.28.tar.gz"
    267     could have been used as well.
    268 
    269     On MacOSX you could also click on the SSVNC app icon in the Finder.
    270 
    271     On MacOSX if you don't like the Chicken of the VNC (e.g. no local
    272     cursors, no screen size rescaling, and no password prompting), and you
    273     have the XDarwin X server installed, you can set DISPLAY before starting
    274     ssvnc (or type DISPLAY=... in Host:Disp and hit Return).  Then our
    275     enhanced TightVNC viewer will be used instead of COTVNC.
    276     Update: there is now a 'Use X11 vncviewer on MacOSX' under Options ...
    277 
    278 
    279     If you want a SSH-only tool (without the distractions of SSL) run
    280     the command:
    281 
    282                 sshvnc
    283 
    284     instead of "ssvnc".  Or click "SSH-Only Mode" under Options.
    285     Control-h will toggle between the two modes.
    286 
    287 		
    288     If you want a simple VNC Terminal Services only mode (requires x11vnc
    289     on the remote server) run the command:
    290 
    291                 tsvnc
    292 
    293     instead of "ssvnc".  Or click "Terminal Services" under Options.
    294     Control-t will toggle between the two modes.
    295 
    296     "tsvnc profile-name" and "tsvnc user@hostname" work too.
    297 
    298 
    299 Unix/MacOSX Install:
    300 
    301     There is no standard install for the bundles, but you can make
    302     symlinks like so:
    303 
    304 	cd /a/directory/in/PATH
    305 	ln -s /path/to/ssvnc/bin/{s,t}* .
    306 
    307     Or put /path/to/ssvnc/bin, /path/to/ssvnc/Unix, or /path/to/ssvnc/MacOSX
    308     in your PATH.
    309 
    310     For the conventional source tarball it will compile and install, e.g.:
    311 
    312        gzip -dc ssvnc-1.0.28.src.tar.gz | tar xvf -
    313        cd ssvnc-1.0.28
    314        make config
    315        make all
    316        make PREFIX=/my/install/dir install
    317 
    318     then have /my/install/dir/bin in your PATH.
    319 
    320 
    321 Windows:
    322 
    323     Unzip, using WinZip or a similar utility, the zip file:
    324 
    325         ssvnc-1.0.28.zip
    326 
    327     Run the GUI, e.g.:
    328 
    329 	Start -> Run -> Browse
    330 
    331     and then navigate to
    332 
    333         .../ssvnc/Windows/ssvnc.exe
    334 
    335     select Open, and then OK to launch it.
    336 
    337     The smaller file "ssvnc_windows_only-1.0.28.zip"
    338     could have been used as well.
    339 
    340     You can make a Windows shortcut to this program if you want to.
    341 
    342     See the Windows/README.txt for more info.
    343 
    344 
    345     If you want a SSH-only tool (without the distractions of SSL) run
    346     the command:
    347 
    348                 sshvnc.bat
    349 
    350     Or click "SSH-Only Mode" under Options.
    351 
    352 
    353     If you want a simple VNC Terminal Services only mode (requires x11vnc
    354     on the remote server) run the command:
    355 
    356                 tsvnc.bat
    357 
    358     Or click "Terminal Services" under Options.  Control-t will toggle
    359     between the two modes.  "tsvnc profile-name" and "tsvnc user@hostname"
    360     work too.
    361 
    362 
    363 
    364 Important Note for Windows Vista: One user reports that on Windows Vista
    365 if you move or extract the "ssvnc" folder down to the "Program Files"
    366 folder you will be prompted to do this as the Administrator. But then
    367 when you start up ssvnc, as a regular user, it cannot create files in
    368 that folder and so it fails to run properly. We recommend to not copy
    369 or extract the "ssvnc" folder into "Program Files". Rather, extract
    370 it to somewhere you have write permission (e.g. C:\ or your User dir)
    371 and create a Shortcut to ssvnc.exe on the desktop.
    372 
    373 If you must put a launcher file down in "Program Files", perhaps an
    374 "ssvnc.bat" that looks like this:
    375 
    376 C:
    377 cd \ssvnc\Windows
    378 ssvnc.exe
    379 
    380 
    381 SSH-ONLY Mode:
    382 --------------
    383 
    384 If you don't care for SSL and the distractions it provides in the GUI,
    385 run "sshvnc" (unix/macosx) or "sshvnc.bat" (windows) to run an SSH only
    386 version of the GUI.
    387 
    388 Terminal Services Mode
    389 ----------------------
    390 
    391 There is an even simpler mode that uses x11vnc on the remote side for the
    392 session finding and management.  Run "tsvnc" (unix/macosx) or "tsvnc.bat"
    393 (windows) to run the Terminal Services version of the GUI.
    394 
    395 
    396 Bundle Info:
    397 ------------
    398 
    399 The bundle files unpack a directory/folder named: ssvnc
    400 
    401 It contains these programs to launch the GUI:
    402 
    403         Windows/ssvnc.exe        for Windows
    404         MacOSX/ssvnc             for Mac OS X
    405         Unix/ssvnc               for Unix
    406 
    407 (the Mac OS X and Unix launchers are simply links to the bin directory).
    408 
    409 
    410 Your bundle file should have included binaries for many OS's: Linux,
    411 Solaris, FreeBSD, etc.  Unpack your archive and see the subdirectories of
    412 
    413 	./bin
    414 
    415 for the ones that were shipped in this project, e.g. ./bin/Linux.i686
    416 Run "uname -sm" to see your OS+arch combination (n.b. all Linux x86 are
    417 mapped to Linux.i686).   (See the ./bin/ssvnc_cmd -h output for how to
    418 override platform autodection via the UNAME env. var).
    419 
    420 
    421 Memory Stick Usage:
    422 -------------------
    423 
    424 If you create a directory named "Home" in that toplevel ssvnc directory
    425 then that will be used as the base for storing VNC profiles and
    426 certificates.  Also, for convenience, if you first run the command with
    427 "." as an argument (e.g. "ssvnc .") it will automatically create that
    428 "Home" directory for you.  This is handy if you want to place SSVNC
    429 on a USB flash drive that you carry around for mobile use and you want
    430 the profiles you create to stay with the drive (otherwise you'd have to
    431 browse to the drive directory each time you load or save).
    432 
    433 One user on Windows created a BAT file to launch SSVNC and needed to
    434 do this to get the Home directory correct:
    435 
    436 cd \ssvnc\Windows
    437 start \ssvnc\Windows\ssvnc.exe
    438 
    439 (an optional profile name can be supplied to the ssvnc.exe line)
    440 
    441 WARNING: if you use ssvnc from an "Internet Cafe", i.e.  an untrusted
    442 computer, an intruder may be capturing keystrokes etc.
    443 
    444 
    445 External Dependencies:
    446 ----------------------
    447 
    448 On Windows everything is included.  Let us know if you find otherwise.
    449 
    450 On Unix depending on what you do you need these programs installed:
    451 	
    452 	- basic unix utilities (sh, ls, cat, awk, sed, etc..)
    453 	- tcl/tk (wish interpreter)
    454 	- xterm
    455 	- perl
    456 	- ssh
    457 	- openssl
    458 
    459     Lesser used ones: netcat, esd/artsd, smbclient, smbmount, cups
    460 	
    461 On Mac OS X depending on what you do you need these programs installed:
    462 	
    463 	- basic unix utilities (sh, ls, cat, awk, sed, etc..)
    464 	- tcl/tk (wish interpreter)
    465 	- Terminal
    466 	- perl
    467 	- ssh
    468 	- openssl
    469 
    470     Lesser used ones: netcat, smbclient, cups
    471 
    472 Most Mac OS X and Unix OS come with the main components installed. 
    473 	
    474 See the README.src for a more detailed description of dependencies.
    475 
    476 
    477 TurboVNC Support:
    478 ----------------
    479 
    480 TurboVNC is supported in an experimental way.  To it build via the
    481 build.unix script described in the next section, do something like:
    482 
    483 	env TURBOVNC='-L/DIR -Xlinker --rpath=/DIR -lturbojpeg' ./build.unix
    484 
    485 where you replace /DIR with the directory where the libturbojpeg.so
    486 (http://sourceforge.net/project/showfiles.php?group_id=117509&package_id=166100)
    487 is installed.
    488 
    489 You may not need to set rpath if libturbojpeg.so is installed in a
    490 standard location or you use LD_LIBRARY_PATH to point to it.
    491 
    492 See the turbovnc/README in the vnc_unixsrc/vncviewer directory for
    493 more info.  You can find it in the ssvnc source tarball and also
    494 in:
    495 
    496 	src/zips/vnc_unixsrc_vncviewer.patched.tar
    497 
    498 More TurboVNC features will be enabled in the future.
    499 
    500 
    501 If you need to Build:
    502 --------------------
    503 
    504 If your OS/arch is not included or the provided binary has the wrong
    505 library dependencies, etc. the script "build.unix" may be able to
    506 successfully build on for you and deposit the binaries down in ./bin/...
    507 using the included source code.  It is a hack but usually works.
    508 
    509 You MUST run the build.unix script from this directory (that this toplevel
    510 README is in, i.e "ssvnc") and like this:
    511 
    512 	./build.unix
    513 
    514 To use custom locations for libraries see the LDFLAGS_OS and CPPFLAGS_OS
    515 description at the top of the build.unix script.
    516 
    517 You can set these env. vars to customize the build:
    518 
    519 	SSVNC_BUILD_NO_STATIC=1        do not try to statically link libs
    520 	SSVNC_BUILD_FORCE_OVERWRITE=1  do not prompt about existing binaries
    521 	SSVNC_BUILD_SKIP_VIEWER=1      do not build vncviewer
    522 	SSVNC_BUILD_SKIP_STUNNEL=1     do not build stunnel
    523 	SSVNC_BUILD_ULTRAFTP=1         only build the file xfer helper jar
    524 
    525 here is an example to build only the vncviewer and with normal library
    526 linking (and in a more or less automated way):
    527 
    528  env SSVNC_BUILD_NO_STATIC=1 SSVNC_BUILD_FORCE_OVERWRITE=1 SSVNC_BUILD_SKIP_STUNNEL=1 ./build.unix
    529 
    530 Feel free to ask us if you need help running ./build.unix
    531 
    532 
    533 Convential Build:
    534 
    535 A more conventional source tarball is provided in ssvnc-x.y.z.src.tar.gz.
    536 It uses a more or less familiar 'make config; make all; make PREFIX=path install'
    537 method.  It does not include stunnel, so that must be installed on the
    538 system separately.
    539 
    540 
    541 The programs:
    542 ------------
    543 
    544 Unpack your archive, and you will see "bin", "Windows", "src" directories
    545 and other files.  The command line wrapper scripts: 
    546 
    547 	./bin/ssvnc_cmd
    548 	./bin/tightvncviewer
    549 
    550 are the main programs that are run and will try to autodetect your OS+arch
    551 combination and if binaries are present for it automatically use them.
    552 (if not found try the running the build.unix script).
    553 
    554 If you prefer a GUI to prompt for parameters and then start ssvnc_cmd
    555 you can run this instead:
    556 
    557 	./bin/ssvnc       
    558 
    559 this is the same GUI that is run on Windows (the ssvnc.exe).
    560 There are also:
    561 
    562 	./bin/sshvnc	(SSH-Only)
    563 	./bin/tsvnc	(Terminal Services Mode)
    564 
    565 For convenience, you can make symlinks from a directory in your PATH to
    566 any of the 3 programs above you wish to run.  That is all you usually
    567 need to do for it to pick up all of the binaries, utils, etc. E.g.
    568 assuming $HOME/bin is in your $PATH:
    569 
    570 	cd $HOME/bin
    571 	ln -s /path/to/ssvnc/bin/{s,t}* .
    572 
    573 (note the "." at the end). The above commands is basically the way to
    574 "install" this on Unix or MacOS X.
    575 
    576 Also links to the GUI launcher script are provided in:
    577 
    578 	MacOSX/ssvnc
    579 	Unix/ssvnc
    580 
    581 and sshvnc and tsvnc.  You could also put the Unix or MacOSX directory
    582 in your PATH.
    583 
    584 
    585 On Windows unpack your archive and run:
    586 
    587 	Windows/ssvnc.exe
    588 
    589 
    590 Examples:
    591 --------
    592 
    593 The following assume you are in the toplevel directory of the
    594 archive you unpacked.
    595 
    596 Use enhanced TightVNC unix viewer to connect to x11vnc via SSL:
    597 
    598 	./bin/ssvnc_cmd   far-away.east:0
    599 
    600 	./bin/tightvncviewer -ssl  far-away.east:0   (same)
    601 
    602 	./bin/ssvnc                                  (start GUI launcher)
    603 
    604 Use enhanced TightVNC unix viewer without SSL:
    605 
    606 	./bin/tightvncviewer far-away.east:0
    607 
    608 Use SSL to connect to a x11vnc server, and also verify the server's
    609 identity using the SSL Certificate in the file ./x11vnc.pem:
    610 
    611 	./bin/ssvnc_cmd -alpha -verify ./x11vnc.pem far-away.east:0
    612 
    613 (also turns on the viewer-side cursor alphablending hack). 
    614 
    615 
    616 Brief description of the subdirectories:
    617 ---------------------------------------
    618 
    619 	./bin/util		some utility scripts, e.g. ss_vncviewer
    620 				and ssvnc.tcl
    621 
    622 	./src			source code and patches.
    623 	./src/zips		zip files of source code and binaries.
    624 
    625 	./src/vnc_unixsrc	unpacked tightvnc source code tree.
    626 	./src/stunnel-4.14	unpacked stunnel source code tree.
    627 	./src/patches		patches to TightVNC viewer for the new
    628 				features on Unix (used by build.unix).
    629 	./src/tmp		temporary build dir for build.unix
    630 				(the last four are used by build.unix)
    631 
    632 
    633 	./man			man pages for TightVNC viewer and stunnel.
    634 
    635 	./Windows		Stock TightVNC viewer and Stunnel, Openssl
    636 				etc Windows binaries. ssvnc.exe is the
    637 				program to run.
    638 
    639 	./MacOSX		contains an unpacked Chicken of the VNC
    640 				viewer and a symlink to ssvnc.
    641 
    642 	./Unix			contains a symlink to ssvnc.
    643 
    644 Depending on which bundle you use not all of the above may be present.
    645 The smallest bundles with binaries are:
    646 
    647 	ssvnc_windows_only-1.x.y.zip   Windows
    648 	ssvnc_no_windows-1.x.y.tar.gz  Unix and MacOSX
    649 
    650 however, the tiny scripts only one (only 60KB) will run properly on Unix
    651 as long as you install external vncviewer and stunnel packages:
    652 
    653 	ssvnc_unix_minimal-1.x.y.tar.gz
    654 
    655 
    656 Untrusted Local Users:
    657 ---------------------
    658 
    659     *IMPORTANT WARNING*:  If you run SSVNC on a workstation or computer
    660     that other users can log into and you DO NOT TRUST these users
    661     (it is a shame but sometimes one has to work in an environment like
    662     this), then please note the following warning.
    663 
    664     By 'do not trust' we mean they might try to gain access to remote
    665     machines you connect to via SSVNC.  Note that an untrusted local
    666     user can often obtain root access in a short amount of time; if a
    667     user has achieved that, then all bets are off for ANYTHING that you
    668     do on the workstation.  It is best to get rid of Untrusted Local
    669     Users as soon as possible.
    670 
    671     Both the SSL and SSH tunnels set up by SSVNC listen on certain ports
    672     on the 'localhost' address and redirect TCP connections to the remote
    673     machine; usually the VNC server running there (but it could also be
    674     another service, e.g. CUPS printing).  These are the stunnel(8) SSL
    675     redirection and the ssh(1) '-L' port redirection.  Because 'localhost'
    676     is used only users or programs on the same workstation that is
    677     running SSVNC can connect to these ports, however this includes any
    678     local users (not just the user running SSVNC.)
    679 
    680     If the untrusted local user tries to connect to these ports, he may
    681     succeed in varying degrees to gain access to the remote machine.
    682     We now list some safeguards one can put in place to try to make this
    683     more difficult to achieve.
    684 
    685     It probably pays to have the VNC server require a password, even
    686     though there has already been SSL or SSH authentication (via
    687     certificates or passwords).  In general if the VNC Server requires
    688     SSL authentication of the viewer that helps, unless the untrusted
    689     local user has gained access to your SSVNC certificate keys.
    690 
    691     If the VNC server is configured to only allow one viewer connection
    692     at a time, then the window of opportunity that the untrusted local
    693     user can use is greatly reduced: he might only have a second or two
    694     between the tunnel being set up and the SSVNC vncviewer connecting
    695     to it (i.e. if the VNC server only allows a single connection, the
    696     untrusted local user cannot connect once your session is established).
    697     Similarly, when you disconnect the tunnel is torn down quickly and
    698     there is little or no window of opportunity to connect (e.g. x11vnc
    699     in its default mode exits after the first client disconnects).
    700 
    701     Also for SSL tunnelling with stunnel(8) on Unix using one of the SSVNC
    702     prebuilt 'bundles', a patched stunnel is provided that denies all
    703     connections after the first one, and exits when the first one closes.
    704     This is not true if the system installed stunnel(8) is used and is
    705     not true when using SSVNC on Windows.
    706 
    707     The following are two experimental features that are added to SSVNC
    708     to improve the situation for the SSL/stunnel case.  Set them via
    709     Options -> Advanced -> "STUNNEL Local Port Protections".
    710 
    711     1) For SSL tunnelling with stunnel(8) on Unix there is a setting
    712        'Use stunnel EXEC mode' (experimental) that will try to exec(2)
    713        stunnel instead of using a listening socket.  This will require
    714        using the specially modified vncviewer unix viewer provided
    715        by SSVNC.  If this mode proves stable it will become the default.
    716 
    717     2) For SSL tunnelling with stunnel(8) on Unix there is a setting
    718        'Use stunnel IDENT check' (experimental) to limit socket
    719        connections to be from you (this assumes the untrusted local
    720        user has not become root on your workstation and has modified
    721        your local IDENT check service; if he has you have much bigger
    722        problems to worry about...)
    723 
    724     There is also one simple LD_PRELOAD trick for SSH to limit the number
    725     of accepted port redirection connections.  This makes the window of
    726     time the untrusted local user can connect to the tunnel much smaller.
    727     Enable it via Options -> Advanced -> "SSH Local Port Protections".
    728     You will need to have the lim_accept.so file in your SSVNC package.
    729 
    730     The main message is to 'Watch your Back' when you connect via the
    731     SSVNC tunnels and there are users you don't trust on your workstation.
    732     The same applies to ANY use of SSH '-L' port redirections or outgoing
    733     stunnel SSL redirection services.
    734 
    735 
    736 Help and Info:
    737 -------------
    738 
    739 For more help on other options and usage patterns run these:
    740 
    741 	./bin/ssvnc_cmd -h
    742 	./bin/util/ss_vncviewer -h
    743 
    744 See also:
    745 
    746 	http://www.karlrunge.com/x11vnc
    747 	http://www.karlrunge.com/x11vnc/faq.html
    748 	x11vnc -h | more
    749 
    750 	http://stunnel.mirt.net
    751 	http://www.stunnel.org
    752 	http://www.openssl.org
    753 	http://www.tightvnc.com
    754         http://www.realvnc.com
    755         http://www.chiark.greenend.org.uk/~sgtatham/putty/
    756 	http://sourceforge.net/projects/cotvnc/
    757