<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>RobPlatt.com &#187; uvnc</title>
	<atom:link href="http://www.robplatt.com/index.php/tag/uvnc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.robplatt.com</link>
	<description>My name is Rob. Here are the things I find useful or amusing. Enjoy.</description>
	<lastBuildDate>Fri, 18 Nov 2011 19:40:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Dynamically compiled VNC binary with repeater #2</title>
		<link>http://www.robplatt.com/index.php/2010/07/13/dynamically-compiled-vnc-binary-repeater-2/</link>
		<comments>http://www.robplatt.com/index.php/2010/07/13/dynamically-compiled-vnc-binary-repeater-2/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 18:07:56 +0000</pubDate>
		<dc:creator>robplatt</dc:creator>
				<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[uvnc]]></category>

		<guid isPermaLink="false">http://www.robplatt.com/?p=203</guid>
		<description><![CDATA[Awhile back, we discussed generating UltraVNC viewer and single-click executables on the fly: http://www.robplatt.com/index.php/2010/03/02/dynamically-compiled-vnc-binary-repeater/ A missing feature that was requested, was the ability to add encryption to the connection. Sorry it took so long, but here you go! Please note, all changes are in reference to my original post and those files. Download the latest MSRC4Plugin.dsm: http://home.comcast.net/~msrc4plugin/msrc4plugin.html Place MSRC4Plugin.dsm in [...]]]></description>
			<content:encoded><![CDATA[<p>Awhile back, we discussed generating UltraVNC viewer and single-click executables on the fly: <a href="http://www.robplatt.com/index.php/2010/03/02/dynamically-compiled-vnc-binary-repeater/">http://www.robplatt.com/index.php/2010/03/02/dynamically-compiled-vnc-binary-repeater/</a></p>
<p>A missing feature that was requested, was the ability to add encryption to the connection. Sorry it took so long, but here you go!</p>
<p>Please note, all changes are in reference to my original post and those files.</p>
<ol>
<li>Download the latest MSRC4Plugin.dsm: <a href="http://home.comcast.net/~msrc4plugin/msrc4plugin.html">http://home.comcast.net/~msrc4plugin/msrc4plugin.html</a></li>
<li>Place MSRC4Plugin.dsm in \client</li>
<li>Place a copy of MSRC4Plugin.dsm, renamed to MSRC4Plugin_NoReg.dsm in \host</li>
<li>Download or generate rc4.key. Place in both \client and \host</li>
<li>For the client exe, change line 6 in the helpdesk.txt file to &#8220;-id $ID -plugin -connect $IP::$PORT -noregistry&#8221;</li>
<li>For the host exe, add MSRC4Plugin.dsm and rc4.key to vncviewer.7z</li>
<li>For the host exe, change line 4 to &#8220;RunProgram=&#8221;vncviewer.exe -dsmplugin MSRC4Plugin_NoReg.dsm -autoreconnect 5 $RESTRICTED -noauto -64colors -encoding tight -proxy $IP::$PORT ID:$ID&#8221;"</li>
<li>Edit support.aspx, change line 44 to &#8220;&#8221;..\7zr a sc.7z ..\winvnc.exe ..\schook.dll ..\vnchooks.dll helpdesk.txt ..\MSRC4Plugin.dsm ..\rc4.key ..\icon1.ico ..\icon2.ico&#8221; &amp; vbcrlf &amp; _&#8221;</li>
<li>That should do it!</li>
</ol>
<p>As always, I&#8217;ve included the changes for you. (You may want to generate a new rc4.key, this one is the one included from UltraVNC)</p>
<p><a href="http://www.robplatt.com/downloads/remote_support_files_encrypted.rar">Download</a></p>
<div class="google_generator">http://goo.gl/GrLB9</div>]]></content:encoded>
			<wfw:commentRss>http://www.robplatt.com/index.php/2010/07/13/dynamically-compiled-vnc-binary-repeater-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dynamically compiled VNC binary with repeater</title>
		<link>http://www.robplatt.com/index.php/2010/03/02/dynamically-compiled-vnc-binary-repeater/</link>
		<comments>http://www.robplatt.com/index.php/2010/03/02/dynamically-compiled-vnc-binary-repeater/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 02:02:00 +0000</pubDate>
		<dc:creator>robplatt</dc:creator>
				<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[uvnc]]></category>

		<guid isPermaLink="false">http://www.robplatt.com/?p=119</guid>
		<description><![CDATA[WebEx and GoToMeeting cost $$. Teamviewer is free, but only for personal use&#8230;. How would you like a dynamically compiled single-click VNC, with no GUI, using a repeater, for free? First off, let&#8217;s answer some questions&#8230; What is single-click? What is a repeater? UltraVNC Single-Click is a mini UltraVNC Server that can be customized and preconfigured for [...]]]></description>
			<content:encoded><![CDATA[<p>WebEx and GoToMeeting cost $$. Teamviewer is free, but only for personal use&#8230;.</p>
<p>How would you like a dynamically compiled single-click VNC, with no GUI, using a repeater, for free?</p>
<p>First off, let&#8217;s answer some questions&#8230; What is single-click? What is a repeater?</p>
<p>UltraVNC Single-Click is a mini UltraVNC Server that can be customized and preconfigured for download by a Customer. UltraVNC SC does not require installation and does not make use of the registry. The customer only have to download the little executable and Click to make a connection. The connection is initiated by the server, to allow easy access thru customers firewall.</p>
<p>Hmm, ok, and the repeater?</p>
<p><a href="http://www.uvnc.com/addons/repeater.html">http://www.uvnc.com/addons/repeater.html<br />
</a>Basically allows you to bypass firewalls using a preconfigured server.</p>
<p><span id="more-119"></span>Rather than trying to explain it. I&#8217;ll give you an example. Lets say your name is John Doe.</p>
<p>Client calls you up, needing computer help / training. You tell them sure, please visit my website. Give them the url to your support page. They are prompted for a session key. They enter the session key, and click ok. Your server compiles an executable with the session key, YOUR name and the ip of YOUR repeater (if you have more than one). Meanwhile, you visit a similar page, for the host (password protected of course). You enter the same session key. The host executeable is compiled and downloaded to your computer. You run it, it connects to the repeater with the session key, and waits for the client to connect. The client runs the executable they&#8217;re given, it says &#8220;Waiting for John Doe &#8230;&#8221;, the connection establishes to the same repeater, and now you can see their desktop. Depending on your permission, you may even be able to interact with them.</p>
<p>While this is all happening, you could have 2 or 3 or 10 other like scenarios going on at the same time. Without having to build the helpdesk.txt file, without having to map ports to computers, without users having to be at specific computer with ports mapped and software installed.</p>
<p>And yes, I did mention permissions. Depending on your configuration, Bob from level one technical support may only be able to view a clients desktop, but Fred from level two may be able to interact. Keeps your liability down.</p>
<p>FYI- My files below are setup to disable Aero and UAC on Vista/7, and re-enable after the session ends. It&#8217;s also set up for low bandwidth use.</p>
<p>Here are the steps to getting things set up: (I&#8217;ll provide the files so you don&#8217;t have to do much.)</p>
<ol>
<li>Set up a repeater &#8211; <a href="http://www.uvnc.com/addons/repeater.html">download</a><br />
The repeater can be ran as an application, or a system service. I have found it&#8217;s more reliable running as an application, but this does require a logon session to remain in memory. Run on any windows OS. Configure the ports.<br />
<a href="http://www.robplatt.com/wp-content/uploads/2010/03/repeater.png"><img class="size-medium wp-image-121 aligncenter" title="repeater" src="http://www.robplatt.com/wp-content/uploads/2010/03/repeater-300x225.png" alt="" width="300" height="225" /><br />
</a></li>
<li>Build the client executable &#8211; download my files below<br />
Take the standard VNC single-click executable. Run it through ResHacker, and make it look like this.<br />
<a href="http://www.robplatt.com/wp-content/uploads/2010/03/reshacker_winvnc.png"><img class="size-medium wp-image-122 aligncenter" title="reshacker_winvnc" src="http://www.robplatt.com/wp-content/uploads/2010/03/reshacker_winvnc-300x120.png" alt="" width="300" height="120" /><br />
</a></li>
<li>Set up client configs &#8211; download my files below<br />
Config.txt is for 7zip to know how to package and execute your executable. Helpdesk.txt needs to have some variables in it, that your other scripts will replace with the actual data, such as the ip and technicianss name. This is how the client executable knows how to connect and what to say.</li>
<li>Set up host config &#8211; download my files below<br />
Config.txt holds the information such as low bandwidth, permissions, etc.<br />
RunProgram=&#8221;vncviewer.exe -autoreconnect 5 $RESTRICTED -noauto -64colors -encoding tight -proxy $IP::$PORT ID:$ID&#8221;The variables in caps are replaced by values during compilation time. The restriction level, the ip, port, and session key / id.</li>
<li>Set up client script &#8211; download my files below in ASP.NET 2<br />
Build an asp or php page to compile the executable for the client. This script will need execute access on your web server. It will replace the variables in the text files with actual data. Compress all the files needed into one executable, push that file to the browser, then delete any temp files leftover on the server.</li>
<li>Set up host script &#8211; download my files below in ASP.NET 2<br />
This will be a lot like the script above. It will compile the host executable in a similar fashion. Here, you can set up which session keys, belong to which users, and what permissions they have.</li>
</ol>
<p>Tips:</p>
<ul>
<li>Try using port 80 for your clients. This may allow them to utilize remote assistance, if their firewalls are severely locked down. I went with the default ports myself, though I may change that if I run into problems with clients being unable to connect.</li>
<li>The host can save his executable as long as his session key doesn&#8217;t need to be changed. This will allow him to connect quicker to the repeater. Which by the way, will timeout after 5 minutes if no client connects.</li>
<li>You&#8217;ll notice my asp.net scripts allow the use of the query string. This allows shortcuts to be made to skip having to enter the session key. Just click the shortcut, and run the exe.</li>
<li>The host has the ability to create a shortcut. It will ask them where they want to save it (desktop), then future sessions, they can just click the shortcut.</li>
</ul>
<p>Here are the things I plan on implementing:</p>
<ul>
<li>Allowing users to have more than one session key, so they may connect to multiple clients at the same time.</li>
</ul>
<p>I realize this seems complicated, and its easier to just use other software out there, but hey&#8230; It&#8217;s free, and it works.</p>
<p><a href="/downloads/remote_support_files.rar">Download the files</a>: (the web scripts are in ASP.NET 2)</p>
<ul>
<li>Client Files &#8211; Place in a folder on the webserver as is. (\bin\remote-support\client\)</li>
<li>Client Script (support.aspx) &#8211; Place anywhere on the webserver, give full permission. Edit path inside for client files if different than above, add your technicians.</li>
<li>Host Files &#8211; Place in a folder on the webserver as is. Lock this folder down! (\bin\remote-support\host\)</li>
<li>Host File (support_admin.aspx) &#8211; Place anywhere on the webserver, give full permission. Lock this file down! Edit path inside for host files if different than above, add your technicians, adjust a few other things.</li>
</ul>
<p>We use this setup at work, with a few connections a day, by a few different users.  I also use it personally for friends/family/clients and have found it to be very reliable.</p>
<p>If I missed anything, or you need help, feel free to comment or email me. It should be pretty straight-forward for those of you wishing to tackle this.</p>
<p>Update: My project has been ported to PHP/Linux. Head over to <a href="http://phpremotesupport.com/">phpremotesupport.com</a> and check it out!</p>
<p>Update: PHPrs is now available for download.  Get it from <a href="http://phpremotesupport.com/">phpremotesupport.com</a> or <a href="http://www.robplatt.com/downloads/php-remote-support-v.1b.zip">download it here</a>.</p>
<p>Update: Added MSRC4 Encryption. <a href="http://www.robplatt.com/index.php/2010/07/13/dynamically-compiled-vnc-binary-repeater-2/">Read about it here</a>.</p>
<div class="google_generator">http://goo.gl/NNSQ</div>]]></content:encoded>
			<wfw:commentRss>http://www.robplatt.com/index.php/2010/03/02/dynamically-compiled-vnc-binary-repeater/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>

