http://cre.ations.net/creation/webvnc---remote-desktop--vnc-on-your-iphone
640 800 Full
640 800 Full
640 800 Full
The idea seems simple enough. I want to be able to use my PC from the comfort and safety of my
iPhone. I got to thinking about it, and it seemed that modifying VNC was the best option. It
already has the remote framebuffer thing down pat and I just had to write a web interface for it
so the iPhone could connect up.
I decided on TightVNC as my starting point. There was already a built-in HTTP server that I
modified heavily. Right now it's Windows only because that's all I have to develop on, but I didn't
use Windows-specific functions so porting should be trivial. (Update: now it does use
Windows-specific functions for window choosing. Sorry!)
To use:
- Download the Binaries from my website (Developers: source, patch)
- Extract all files into some folder and run WinVNC.exe
- It will ask you to set a default password. CAUTION: At the moment the web client sends your
password in plaintext. Use caution when connecting over open Wi-fi access points.
- Note your computer's IP address, and type it into the iPhone Safari address bar,
appending :5800, like http://192.168.10.13:5800/
- Enter the password in the password box, and hit Log In.
- A list of windows will show up. Choose one or use Full Desktop to show it all.
Use the iPhone's excellent zooming and panning capabilities to move around your desktop. To
perform an action such as clicking or typing, tap the screen where you want to do it, and a menu
will show up, along with a crosshair for accuracy.
640 800 Full
Options are for the most part self-explanatory.
Supported actions:
- Clicks: Left, right, middle, double
- Scrolling: Mouse wheel up and down
- Dragging and dropping (click Drag to hold mouse button down, click Drop to release)
- Text entry
To enter text, use the Text Input button. VNC will click where the crosshair is centered, then
create a text box for you to enter text.
640 800 Full
Click the blue "Done" button to type your text onto your PC. Press the X button below the input
box to close it.
How it works
WebVNC is a modification of the VNC server. Where before the HTTP server in VNC would just
serve a Java applet, now it serves an AJAX application that downloads the screen as a set of JPEG
images. The application then checks back with the server to see which ones have changed, and
reloads them. Input is just another message to the server.
The window list is done with Windows-specific functions, enumerating top-level windows and
returning a list of their titles and positions. When you click one the VNC server activates the
window and the AJAX app limits its window size to just the one window.
If you have any questions, please join cre.ations.net and post a comment below. I look forward
to your feedback!
More creations by natetrue
Wooden iPhone 4
case by natetrue
Printable jacket
cuff lights by
natetrue
Ridiculously bright
keychain
rechargeable
flashlight / flash
drive by natetrue
Visual Cacophony:
A collaborative
watercolor
painting by
natetrue
Animal photos and
video from the
Lowry Park Zoo in
Tampa, Florida by
natetrue
More creations in Software
Mobigarages by
allogarage
iPhone tethering
easy and safe by
marcoxyz
Dock 3.0: Quick app
switching for
jailbroken iPhone
iPhoneShop
- .artwork utility for
Windows by
PClapper! Clap
Run Clap Surf! by
pcaponerit
2.0 phones by
natetrue
xtremecc
Comments:
Posted by ahhyeah 3 years ago ( 09-Jul-2007 07:18:15 )
This does not work for me, I get an error saying, "This application failed to start because
MSVCR71D.dll was not found. Reinstalling the applicaion may fix the problem." I've tried it on
Vista & XP
Posted by ahhyeah 3 years ago ( 09-Jul-2007 07:27:49 )
I downloaded the file here http://www.dll-files.com/dllindex/dll-files.shtml?msvcr71d
Posted by ahhyeah 3 years ago ( 09-Jul-2007 07:36:08 )
Ok, I got it to work, now how do I get TightVNC to to run as a service like you can with the
original version? Thanks
Posted by natetrue 3 years ago ( 09-Jul-2007 12:01:46 )
Something about how I did the interface makes it not work as a service. I'm not sure what and
my ability to debug services is not so great, so without input from the actual VNC guys I'm not
sure I'll be able to enable service support.
Posted by diadjika 3 years ago ( 11-Jul-2007 10:48:03 )
I have a problem when i try to connect using my iphone it's can find the address
but when i type the address using my home computer it works
i desactivated my firewall but it didn't change anything
can you help me please
ps : i have a router
thanks
Posted by midiwall 3 years ago ( 11-Jul-2007 11:01:39 )
Nate, what version of VisStud did you use to build this... it's not building "right out of the box" for
me using VisStud 2005. (the errors are basically just VisStud complaining about depreciated
functions, which is easy to get around)
Oop, spoke too soon... actually, it looks like your archive is missing "rfbproto.h".
Posted by natetrue 3 years ago ( 11-Jul-2007 11:19:34 )
diadjika, you need to configure your router to forward port 5800 from the Internet to your
computer. A great tutorial is here: Lifehacker Firewall Tutorial. It says VNC is port 5900 but you
want to use 5800 instead.
midiwall, I built it on Visual C++ 2003 - the rfbproto.h thing is weird because I didn't think I
referenced it from anywhere. Might be in the TightVNC code, but I think rfbproto.h is a standard
header file.
Posted by midiwall 3 years ago ( 11-Jul-2007 11:24:19 )
cool.. thanks Nate. I'll dig into this and see what the service issue is. I'm an old service hack from
way back. :)