ShowYourDesktop
文件大小: unknow
源码售价: 5 个金币 积分规则     积分充值
资源说明:Open source cross-platform remote desktop support application.
ShowYourDesktop Client
==============================================

Copyright (C) 2011 William Edwards  All Rights Reserved.

This software is distributed under the GNU General Public Licence as published
by the Free Software Foundation.  See the file LICENCE.TXT for the conditions
under which this software is made available.  ShowYourDesktop also contains code from other
sources. 


Summary
===========================

The ShowYourDesktop client is a small application written in Python used to share your 
desktop with anyone in the world. It does this by creating a reverse SSH tunnel to an
intermediary server for NAT traversal and encryption and tunneling VNC traffic using
RealVNC. The server component is required to establish SSH tunnels for both the sharer
and the viewer as well as handle the ports that are currently in use by existing sessions.

You can create your custom deployment using your own SSH server by installing the server
components and modifying the ShowYourDesktop client to use your server details. This can
be easily done by changing the server variables in "server.py" and importing your server's
host key into the "sshhostkeys" directory.


Requirements
===========================

* Py2exe (to compile into a Windows executable)
  http://sourceforge.net/projects/py2exe/files/
* cx-freeze (to compile into a Linux executable)
  http://cx-freeze.sourceforge.net/


Custom Deployment
===========================

You can create your own custom deployment using your own server by following these steps:

- 	Install the server components as dictated in "server/README.txt".

- 	Modify "server.py" to include your server's details. The variables you will need to modify
	are:
		server_url
		sshhost
		sshuser
		sshpass
		sshport

WINDOWS 
To create a Windows compatible binary, complete these steps:
-	Import your server's SSH host key into the "sshhostkeys" directory. This can be easily done
	by making a connection using the included "plink.exe". Note that regular versions of plink
	will store the host key in the registry thus making it not portable and will fail to connect
	on desktops that do not have the key in their registry:
		plink.exe @
		
-	Compile your new client using py2exe:
		python setup.py install
		python setup.py py2exe
		
-	This will create the needed files in the "dist" folder. In order for the newly compiled
	ShowYourDesktop executable to work, you will need to copy the following files/folders to the "dist"
	folder:
		sshhostkeys/
		logmessages.dll
		plink.exe
		showyourdesktop.ico
		vncserver.exe
		vncviewer.exe
		wm_hooks.dll

-	You can then use a 3rd party utility such as 7zip or WinRAR to create a self-extracting archive 
	that will extract the archive to a temporary directory and automatically launch "main.exe".


LINUX
To create a Linux compatible binary, follow these steps:
-	Import your server's SSH host key into the "sshhostkeys/sshhostkeys" file. This can be easily
	done by making an initial connection using the included "plink_i386" or "plink_x86_64" binary
	and importing the hostkey:
		./plink_i386 @
		cat ~/.putty/sshhostkeys > sshhostkeys/sshhostkeys

-	Compile your new client using cx-freeze:
	cxfreeze main.py

-	This will create the needed files in the "dist" folder. You will then need to copy the following
	files/folders into the "dist" directory":
		sshhostkeys/
		plink_[i386][x86_64]
		x11vncserver_[i386][x86_64]
		xvnc4viewer_[i386][x86_64]

-	You can then crate a self-extracting binary using a third party utility or using the following steps:

	1. Copy the following scripts into their own files.
		decompress.sh
			#!/bin/bash
			export TMPDIR=`mktemp -d /tmp/.selfextract.XXXXXX`

			ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`

			tail -n+$ARCHIVE $0 | tar xz -C $TMPDIR

			CDIR=`pwd`
			cd $TMPDIR
			./main

			cd $CDIR
			rm -rf $TMPDIR

			exit 0

			__ARCHIVE_BELOW__

		build.sh
			#!/bin/bash
			cd payload
			tar cf ../payload.tar ./*
			cd ..

			if [ -e "payload.tar" ]; then
			    gzip payload.tar

			    if [ -e "payload.tar.gz" ]; then
			        cat decompress.sh payload.tar.gz > showyourdesktop.bsx
			    else
			        echo "payload.tar.gz does not exist"
			        exit 1
			    fi
			else
			    echo "payload.tar does not exist"
			    exit 1
			fi

			echo "showyourdesktop.bsx created"
			exit 0

	2. Create the payload directory and copy the compiled files inside.
		mkdir payload
		cp -r client/dist/* ./payload

	3. Run the build script to create the self-extracting archive:
		chmod +x build.sh && ./build.sh

	You should now have a self-extracting binary with the ShowYourDesktop client included.

本源码包内暂不包含可直接显示的源代码文件,请下载源码包。