Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
L
libvncserver
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
rasky
libvncserver
Commits
d1a86ee7
Commit
d1a86ee7
authored
May 07, 2007
by
runge
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ssvnc: Home dir changing, skip enc warning, memory stick doc.
parent
15d04d46
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
193 additions
and
31 deletions
+193
-31
README
x11vnc/misc/enhanced_tightvnc_viewer/README
+17
-1
ss_vncviewer
x11vnc/misc/enhanced_tightvnc_viewer/bin/util/ss_vncviewer
+29
-10
ssvnc.tcl
x11vnc/misc/enhanced_tightvnc_viewer/bin/util/ssvnc.tcl
+144
-19
_bundle
x11vnc/misc/enhanced_tightvnc_viewer/src/patches/_bundle
+3
-1
No files found.
x11vnc/misc/enhanced_tightvnc_viewer/README
View file @
d1a86ee7
Enhanced TightVNC Viewer (
ssvnc
: SSL/SSH VNC viewer)
Enhanced TightVNC Viewer (
SSVNC
: SSL/SSH VNC viewer)
Copyright (c) 2006-2007 Karl J. Runge <runge@karlrunge.com>
All rights reserved.
...
...
@@ -239,6 +239,22 @@ mapped to Linux.i686). (See the ./bin/ssvnc_cmd -h output for how to
override platform autodection via the UNAME env. var).
Memory Stick Usage:
-------------------
If you create a directory named "Home" in that toplevel ssvnc directory
then that will be used as the base for storing VNC profiles and
certificates. Also, for convenience, if you first run the command with
"." as an argument (e.g. "ssvnc .") it will automatically create that
"Home" directory for you. This is handy if you want to place SSVNC
on a USB flash drive that you carry around for mobile use and you want
the profiles you create to stay with the drive (otherwise you'd have to
browse to the drive directory each time you load or save).
WARNING: if you use ssvnc from an "Internet Cafe", i.e. an untrusted
computer, an intruder may be capturing keystrokes etc.
External Dependencies:
----------------------
...
...
x11vnc/misc/enhanced_tightvnc_viewer/bin/util/ss_vncviewer
View file @
d1a86ee7
...
...
@@ -218,6 +218,11 @@ do
shift
done
targ="-t"
if [ "X$SS_VNCVIEWER_NO_T" != "X" ]; then
targ=""
fi
if [ "X$gotalpha" = "X1" ]; then
VNCVIEWER_ALPHABLEND=1
export VNCVIEWER_ALPHABLEND
...
...
@@ -255,6 +260,12 @@ if [ "X$use_ssh" = "X1" -a "X$use_sshssl" = "X" ]; then
fi
fi
if echo "$orig" | grep '^V[Nn][Cc]://' > /dev/null; then
SSVNC_NO_ENC_WARN=1
export SSVNC_NO_ENC_WARN
orig=`echo "$orig" | sed -e 's/^...:/vnc:/'`
fi
if echo "$orig" | grep '^vnc://' > /dev/null; then
orig=`echo "$orig" | sed -e 's,vnc://,,'`
verify=""
...
...
@@ -266,9 +277,14 @@ elif echo "$orig" | grep '^vncs://' > /dev/null; then
orig=`echo "$orig" | sed -e 's,vncs://,,'`
elif echo "$orig" | grep '^vncssl://' > /dev/null; then
orig=`echo "$orig" | sed -e 's,vncssl://,,'`
elif echo "$orig" | grep '^vnc+ssl://' > /dev/null; then
orig=`echo "$orig" | sed -e 's,vnc.ssl://,,'`
elif echo "$orig" | grep '^vncssh://' > /dev/null; then
orig=`echo "$orig" | sed -e 's,vncssh://,,'`
use_ssh=1
elif echo "$orig" | grep '^vnc+ssh://' > /dev/null; then
orig=`echo "$orig" | sed -e 's,vnc.ssh://,,'`
use_ssh=1
fi
if [ "X$reverse" != "X" -a "X$direct_connect" = "X" ]; then
VNCVIEWER_LISTEN_LOCALHOST=1
...
...
@@ -438,8 +454,8 @@ if [ "X$use_ssh" = "X1" ]; then
proxport=`findfree 3500`
echo
echo "Running 1st ssh proxy:"
echo "$ssh -f -x -p $ssh_port1
-t
-e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 \"sleep 30\""
$ssh -f -x -p $ssh_port1
-t
-e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 "sleep 30"
echo "$ssh -f -x -p $ssh_port1
$targ
-e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 \"sleep 30\""
$ssh -f -x -p $ssh_port1
$targ
-e none -L $proxport:$ssh_host2:$ssh_port2 $ssh_host1 "sleep 30"
ssh_args="$ssh_args -o NoHostAuthenticationForLocalhost=yes"
sleep 1
stty sane
...
...
@@ -475,18 +491,18 @@ if [ "X$use_ssh" = "X1" ]; then
pmark=`sh -c 'echo $$'`
# the -t option actually speeds up typing response via VNC!!
if [ "X$SS_VNCVIEWER_SSH_ONLY" != "X" ]; then
echo "$ssh -x -p $ssh_port
-t
$C $ssh_args $ssh_host \"$info\""
echo "$ssh -x -p $ssh_port
$targ
$C $ssh_args $ssh_host \"$info\""
echo ""
$ssh -x -p $ssh_port
-t
$C $ssh_args $ssh_host "$ssh_cmd"
$ssh -x -p $ssh_port
$targ
$C $ssh_args $ssh_host "$ssh_cmd"
exit $?
elif [ "X$SS_VNCVIEWER_NO_F" != "X" ]; then
echo "$ssh -x -p $ssh_port
-t
$C $ssh_redir $ssh_args $ssh_host \"$info\""
echo "$ssh -x -p $ssh_port
$targ
$C $ssh_redir $ssh_args $ssh_host \"$info\""
echo ""
$ssh -x -p $ssh_port
-t
$C $ssh_redir $ssh_args $ssh_host "$ssh_cmd"
$ssh -x -p $ssh_port
$targ
$C $ssh_redir $ssh_args $ssh_host "$ssh_cmd"
else
echo "$ssh -x -f -p $ssh_port
-t
$C $ssh_redir $ssh_args $ssh_host \"$info\""
echo "$ssh -x -f -p $ssh_port
$targ
$C $ssh_redir $ssh_args $ssh_host \"$info\""
echo ""
$ssh -x -f -p $ssh_port
-t
$C $ssh_redir $ssh_args $ssh_host "$ssh_cmd"
$ssh -x -f -p $ssh_port
$targ
$C $ssh_redir $ssh_args $ssh_host "$ssh_cmd"
fi
if [ "$?" != "0" ]; then
echo ""
...
...
@@ -774,12 +790,15 @@ if [ "X$direct_connect" != "X" ]; then
echo ""
echo "** NOTE: THERE WILL BE NO SSL OR SSH ENCRYPTION **"
echo ""
if type printf > /dev/null 2>&1; then
if [ "X$SSVNC_NO_ENC_WARN" != "X" ]; then
sleep 1
elif type printf > /dev/null 2>&1; then
printf "Are you sure you want to continue? [y]/n "
read x
else
echo -n "Are you sure you want to continue? [y]/n "
fi
read x
fi
if [ "X$x" = "Xn" ]; then
exit 1
fi
...
...
x11vnc/misc/enhanced_tightvnc_viewer/bin/util/ssvnc.tcl
View file @
d1a86ee7
...
...
@@ -276,7 +276,8 @@ proc help {} {
Sorry we do not make this easy to figure out how to do
(
e.g. a
button on the main panel
)
, but the goal of SSVNC is secure
connections!
connections! Set the env var SSVNC_NO_ENC_WARN=1
(
or use Vnc://
)
to skip the warning prompts.
6) Reverse VNC connections are possible as well. Go to Options and
select
"Reverse VNC connection"
. In the 'VNC Host:Display' entry
...
...
@@ -294,6 +295,30 @@ proc help {} {
On Windows set it to
"NOTEPAD"
or similar
;
you can't control
the port though. It is usually 5930.
8) On Unix if you are going to an older SSH server
(
e.g. Solaris 10
)
,
you will probably need to set the env. var. SS_VNCVIEWER_NO_T=1
to disable the ssh
"-t"
option being used
(
that can prevent the
command from being run
)
.
9) In the VNC Host:Display entry you can also use these
"URL-like"
prefixes: vncs://host:0, vncssl://host:0, and vnc+ssl://host:0
(
for
SSL
)
and vncssh://host:0 and vnc+ssh://host:0 for SSH. There
is no need to toggle the SSL/SSH
else
. These also work from the
command line, e.g.: ssvnc vnc+ssh://mymachine:10
10) Mobile USB memory stick / flash drive usage: You can unpack ssvnc
to a flash drive for impromptu usage
(
e.g. from a friends computer
)
If you create a directory
"Home"
in the toplevel ssvnc directory,
then
that will be the default location for your VNC profiles and
certs. So they follow the drive this way. If you run like this:
"ssvnc ."
or
"ssvnc.exe ."
the
"Home"
directory will be created for
you. WARNING: if you use ssvnc from an
"Internet Cafe"
, i.e. an
untrusted computer, an intruder may be capturing keystrokes, etc.
You can also set the SSVNC_HOME env. var. to point to any
directory you want. It can be set after starting ssvnc by putting
HOME=/path/to/dir in the Host:Display box and clicking
"Connect"
.
}
.h.f.t insert end
$msg
...
...
@@ -2065,7 +2090,7 @@ proc do_unix_pre {tag proxy hp pk_hp} {
set tee
""
if
{
$use
_smbmnt
}
{
set tee
$env
(
HOME
)
set tee
$env
(
SSVNC_
HOME
)
append tee
"/.tee-etv
$tag
"
set fh
""
catch
{
set
fh
[
open
$tee
"w"
]}
...
...
@@ -2182,6 +2207,7 @@ proc port_knock_only {hp {mode KNOCK}} {
proc
direct_connect_msg
{}
{
set msg
""
global env
globalize
if
{
$use
_sshssl
}
{
append msg
" - SSH + SSL tunnelling
\n
"
...
...
@@ -2190,6 +2216,9 @@ proc direct_connect_msg {} {
}
else
{
append msg
" - SSL tunnelling
\n
"
}
if
[
info
exists env
(
SSVNC_NO_ENC_WARN
)]
{
set msg
""
}
if
{
$use
_smbmnt
}
{
append msg
" - SMB Mount Port Redirection
\n
"
}
...
...
@@ -2512,6 +2541,7 @@ proc launch_unix {hp} {
set pk_hp
""
set skip_ssh 0
if
[
regexp
{
vnc://
}
$hp
]
{
set skip_ssh 1
direct_connect_msg
...
...
@@ -2753,7 +2783,7 @@ proc launch_unix {hp} {
set passwdfile
""
if
{
$vncauth
_passwd !=
""
}
{
global use_listen
set passwdfile
"
$env
(HOME)/.vncauth_tmp.
[
pid
]
"
set passwdfile
"
$env
(
SSVNC_
HOME)/.vncauth_tmp.
[
pid
]
"
catch
{
exec
vncstorepw
$vncauth
_passwd
$passwdfile
}
catch
{
exec
chmod 600
$passwdfile
}
if
{
$use
_listen
}
{
...
...
@@ -3041,6 +3071,14 @@ proc launch {{hp ""}} {
set hp
[
get_vncdisplay
]
}
if
{[
regexp
{
^HOME=
}
$hp
]
||
[
regexp
{
^SSVNC_HOME=
}
$hp
]}
{
set t
$hp
regsub
{
^.*HOME=
}
$t
""
t
set env
(
SSVNC_HOME
)
$t
mesg
"set SSVNC_HOME to
$t
"
return 0
}
regsub
{[
]
*cmd=.*$
}
$hp
""
tt
if
{[
regexp
{
^
[
]
*$
}
$tt
]}
{
...
...
@@ -3078,12 +3116,17 @@ proc launch {{hp ""}} {
mesg
"
\"
$tcl
_platform(os)
\"
|
\"
$tcl
_platform(osVersion)
\"
"
after 1000
}
if
[
regexp
{
V
[
Nn
][
Cc
]
://
}
$hp
]
{
set env
(
SSVNC_NO_ENC_WARN
)
1
regsub
{
V
[
Nn
][
Cc
]
://
}
$hp
"vnc://"
hp
}
if
{
!
$is
_windows
}
{
launch_unix
$hp
return
}
##############################################################
if
[
regexp
{
vnc://
}
$hp
]
{
direct_connect_msg
regsub
{
vnc://
}
$hp
""
hp
...
...
@@ -3095,9 +3138,15 @@ proc launch {{hp ""}} {
}
else
if
[
regexp
{
vncssl://
}
$hp
]
{
set use_ssl 1
regsub
{
vncssl://
}
$hp
""
hp
}
else
if
[
regexp
{
vnc
\+
ssl://
}
$hp
]
{
set use_ssl 1
regsub
{
vnc
\+
ssl://
}
$hp
""
hp
}
else
if
[
regexp
{
vncssh://
}
$hp
]
{
set use_ssh 1
regsub
{
vncssh://
}
$hp
""
hp
}
else
if
[
regexp
{
vnc
\+
ssh://
}
$hp
]
{
set use_ssh 1
regsub
{
vnc
\+
ssh://
}
$hp
""
hp
}
check_ssh_needed
...
...
@@ -3548,14 +3597,14 @@ proc get_idir_certs {str} {
}
if
{
$idir
==
""
}
{
if
{
$is
_windows
}
{
if
[
info
exists env
(
HOME
)]
{
set t
"
$env
(HOME)/ss_vnc"
if
[
info
exists env
(
SSVNC_
HOME
)]
{
set t
"
$env
(
SSVNC_
HOME)/ss_vnc"
regsub -all
{
\\
}
$t
"/"
t
regsub -all
{
//*
}
$t
"/"
t
if
{
!
[
file
isdirectory
$t
]}
{
catch
{
file
mkdir
$t
}
}
set t
"
$env
(HOME)/ss_vnc/certs"
set t
"
$env
(
SSVNC_
HOME)/ss_vnc/certs"
regsub -all
{
\\
}
$t
"/"
t
regsub -all
{
//*
}
$t
"/"
t
if
{
!
[
file
isdirectory
$t
]}
{
...
...
@@ -3574,8 +3623,8 @@ proc get_idir_certs {str} {
}
}
if
{
$idir
==
""
}
{
if
[
info
exists env
(
HOME
)]
{
set t
"
$env
(HOME)/.vnc/certs"
if
[
info
exists env
(
SSVNC_
HOME
)]
{
set t
"
$env
(
SSVNC_
HOME)/.vnc/certs"
if
[
file
isdirectory
$t
]
{
set idir
$t
}
...
...
@@ -4653,8 +4702,8 @@ proc get_profiles_dir {} {
set dir
""
if
{
$is
_windows
}
{
if
[
info
exists env
(
HOME
)]
{
set t
"
$env
(HOME)/ss_vnc"
if
[
info
exists env
(
SSVNC_
HOME
)]
{
set t
"
$env
(
SSVNC_
HOME)/ss_vnc"
regsub -all
{
\\
}
$t
"/"
t
regsub -all
{
//*
}
$t
"/"
t
if
{
!
[
file
isdirectory
$t
]}
{
...
...
@@ -4675,8 +4724,8 @@ proc get_profiles_dir {} {
set dir
$t
}
}
}
else
if
[
info
exists env
(
HOME
)]
{
set t
"
$env
(HOME)/.vnc"
}
else
if
[
info
exists env
(
SSVNC_
HOME
)]
{
set t
"
$env
(
SSVNC_
HOME)/.vnc"
if
[
file
isdirectory
$t
]
{
set dir
$t
set s
"
$t
/profiles"
...
...
@@ -7215,7 +7264,7 @@ proc do_port_knock {hp mode} {
global env
set pfile
"payload
$pi.txt
"
if
{
!
$is
_windows
}
{
set pfile
"
$env
(HOME)/.
$pfile
"
set pfile
"
$env
(
SSVNC_
HOME)/.
$pfile
"
}
set pfiles
(
$pi
)
$pfile
incr pi
...
...
@@ -7663,7 +7712,7 @@ proc ssh_agent_restart {} {
mesg
"could not find ssh-add in PATH"
return
}
set tmp
$env
(
HOME
)
/.vnc-sa
[
pid
]
set tmp
$env
(
SSVNC_
HOME
)
/.vnc-sa
[
pid
]
set fh
""
catch
{
set
fh
[
open
$tmp
"w"
]}
if
{
$fh
==
""
}
{
...
...
@@ -7938,8 +7987,8 @@ proc check_writable {} {
if !
[
file
exists
$test
]
{
global env
if
[
info
exists env
(
HOME
)]
{
set dir
"
$env
(HOME)/ss_vnc/cache"
if
[
info
exists env
(
SSVNC_
HOME
)]
{
set dir
"
$env
(
SSVNC_
HOME)/ss_vnc/cache"
catch
{
file
mkdir
$dir
}
if !
[
file
exists
$dir
]
{
return
...
...
@@ -7973,6 +8022,75 @@ if {[regexp -nocase {Windows.9} $tcl_platform(os)]} {
set is_win9x 0
}
# set SSVNC_HOME to HOME in case we modify it for mobile use:
if
[
info
exists env
(
HOME
)]
{
if
{
!
[
info
exists env
(
SSVNC_HOME
)]}
{
set env
(
SSVNC_HOME
)
$env
(
HOME
)
}
}
# For mobile use, e.g. from a USB flash drive, we look for a "home" or "Home"
# directory relative to this script where the profiles and certs will be kept
# by default.
if
[
file
exists
$buck
_zero
]
{
#puts
"
$buck
_zero"
set up
[
file
dirname
$buck
_zero
]
if
{
$up
==
"."
}
{
# this is actually bad news on windows because we cd'd to util.
set up
".."
}
else
{
set up
[
file
dirname
$up
]
}
set dirs
[
list
$up
]
if
{
!
$is
_windows &&
$up
!=
".."
}
{
# get rid of bin
set up
[
file
dirname
$up
]
lappend dirs
$up
}
if
{
$argc
> 0
}
{
set i
[
lindex
$argv
0
]
if
{
$i
==
"."
}
{
if
{
!
[
file
isdirectory
"
$up
/home"
]
&& !
[
file
isdirectory
"
$up
/Home"
]}
{
catch
{
file
mkdir
"
$up
/Home"
}
}
}
}
set gotone 0
foreach d
$dirs
{
set try
"
$d
/home"
#puts
"
$try
"
if
[
file
isdirectory
$try
]
{
set env
(
SSVNC_HOME
)
$try
set gotone 1
break
}
set try
"
$d
/Home"
#puts
"
$try
"
if
[
file
isdirectory
$try
]
{
set env
(
SSVNC_HOME
)
$try
set gotone 1
break
}
}
if
{
$gotone
}
{
set b
""
if
{
$is
_windows
}
{
set b
"
$env
(SSVNC_HOME)/ss_vnc"
}
else
{
set b
"
$env
(SSVNC_HOME)/.vnc"
}
catch
{
file
mkdir
$b
}
catch
{
file
mkdir
"
$b
/certs"
}
catch
{
file
mkdir
"
$b
/profiles"
}
}
#puts
"HOME:
$env
(SSVNC_HOME)"
}
if
{
$is
_windows
}
{
check_writable
}
...
...
@@ -7987,8 +8105,8 @@ if {$uname == "Darwin"} {
if
{
!
[
info
exists env
(
DISPLAY
)]}
{
set darwin_cotvnc 1
}
if
[
info
exists env
(
HOME
)]
{
set t
"
$env
(HOME)/.vnc"
if
[
info
exists env
(
SSVNC_
HOME
)]
{
set t
"
$env
(
SSVNC_
HOME)/.vnc"
if
{
!
[
file
exists
$t
]}
{
catch
{
file
mkdir
$t
}
}
...
...
@@ -8123,6 +8241,12 @@ update
if
{
$argc
> 0
}
{
set item
[
lindex
$argv
0
]
if
{
$item
==
"."
}
{
set item
""
if
{
$argc
> 1
}
{
set item
[
lindex
$argv
1
]
}
}
if
{
$item
!=
""
}
{
if
[
file
exists
$item
]
{
load_profile .
$item
...
...
@@ -8148,3 +8272,4 @@ if {$argc > 0} {
}
}
#mesg "$buck_zero"
x11vnc/misc/enhanced_tightvnc_viewer/src/patches/_bundle
View file @
d1a86ee7
#!/bin/sh
rm
-rf
./src/tmp/
*
||
exit
1
vers
=
1.0.1
5
vers
=
1.0.1
6
cd
..
||
exit
1
cp
-p
ssvnc/bin/ssvnc_cmd ssvnc/bin/tightvncviewer
###########################################
dest
=
./t.unix_only
rm
-rf
$dest
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment