#
# Example SSL stunnel CLIENT configuration file.  (you run stunnel on
# this machine and point your vnc viewer to it, it goes to remote VNC
# server via SSL)
#
# To use this file you will need to edit it.  Then you will need
# to manually start up stunnel using it.
# (e.g. /path/to/stunnel stunnel-server.conf)
#
# This is just an example and is not used by the tools in this package.
# It is here to show how to create outgoing SSL connections to remote
# VNC servers when not using the tools in this package.
#
client = yes
options = ALL
RNDbytes = 2048
RNDfile = bananarand.bin
RNDoverwrite = yes
#
# Remote server certs could go here:
#  CApath = /path/to/.../crt-dir
#  CAfile = /path/to/.../foo.crt
#  verify = 2
# My cert could go here:
#  cert = /path/to/.../my.pem
#
[vnc]
#
# Set to local listening port number (e.g. 5900 for vnc display 0):
#
accept = localhost:5900
#
# Set to remote host:port to connect to (e.g. far-away.east:5900):
# (this is where the VNC server is. :0 -> port 5900, etc)
#
connect = HOST:PORT
delay = no 
#
# You could add additional ones going to other VNC servers:
# [vnc2]
# accept = localhost:5901
# connect = HOST2:PORT2
# etc ...
