There are a few ways to access VNC over PageKite.
The most popular, is to tunnel VNC over SSH, as that encapsulates the VNC traffic in a secure, encrypted tunnel and is directly supported by many VNC clients.
However, if you do not have an SSH server on the remote end (for example if you want to view a Windows desktop over VNC), the following instructions may be helpful.
The VNC server will need an active PageKite connection. Assuming you are using the Service and the VNC server's PageKite name is vnc.user.pagekite.me, you can add it to your configuration like so:
$ pagekite.py --add 5900 raw:vnc.user.pagekite.me:5900
If you would rather edit the configuration file by hand, add a line like this:
backend=raw/5900:vnc.user.pagekite.me:localhost:5900:SECRET
This sets up a raw listener for port 5900. As the PageKite service front-ends do not actually listen on port 5900 at the moment, this service will only be accessible on a virtual port, exposed by the HTTP Proxy functionality of the PageKite front-end.
If your VNC client supports it, simply configure it to use vnc.user.pagekite.me:443 as the HTTP proxy.
Connect to vnc.user.pagekite.me on the standard port, 5900.
If your VNC client does not support HTTP proxies, then it may instead have built-in support for establishing SSH tunnels on-demand and connecting over those: this feature can generally be reconfigured to connect over PageKite instead. A script to do just that (on Ubuntu or Debian Linux) may be found in the github repository.
Note that it is possible to connect to the HTTP proxy using TLS, which (if supported by your client) will protect the VNC data stream from casual eavesdropping. The pkvnc script will do this automatically if the required tools (netcat and socat) are installed on your computer.
Comments
https://github.com/pagekite/PyPagekite/tree/main/scripts
service_on = raw-5900:@kitename:localhost:5900:@kitesecret
I have tried using tightvnc viewer from my windows desktop, both to :443, to :5900 and by setting 443 as the proxy (with Ultravnc viewer as I couldn't find the proxy option in tightvnc).
None work. I'm using the build in httpd on port 80 to show a directory at the moment.
Any ideas?
Thanks
And remember, PageKite does not stream raw TCP/IP streams. It streams HTTP and TLS, and anything you can bundle inside those. The SSH tunneling for example, is tunneled using a HTTP CONNECT preamble, so only works with SSH clients that know how to do that.
If you need arbitrary public ports for arbitrary raw data streams, you want a VPN and a public IP address.
And remember, PageKite does not stream raw TCP/IP streams. It streams HTTP and TLS, and anything you can bundle inside those. The SSH tunneling for example, is tunneled using a HTTP CONNECT preamble, so only works with SSH clients that know how to do that.
If you need arbitrary public ports for arbitrary raw data streams, you want a VPN and a public IP address.
(And no, we don't support Python 3 yet. Someday... but Python 2 works and we're not in a hurry. See our latest blog post about the 1.0 release, and our GitHub issues for details.)