This repository contains a basic Websockify server implementation written using Netty. It's designed to work with the websockify client found at https://github.com/kanaka/websockify. I specifically am using it as a server to run noVNC client.
This project uses [Maven] (http://maven.apache.org/) for building. Clone the repo, then compile the project from the command line with:
mvn compile
You can run the code from the command line with:
mvn exec:java -Dexec.mainClass="com.netiq.websockify.Websockify" -Dexec.args="<port> <target host> <target port>"
where you replace <port> with the port number you want websockify to listen on and <target host> and <target port>
with the host and port that you want to websockify to proxy to. For example:
mvn exec:java -Dexec.mainClass="com.netiq.websockify.Websockify" -Dexec.args="10900 localhost 5900"
Websockify can encrypt the websocket side of the traffic. To use SSL encryption you first need a keystore for your server key. To create a self signed key run this on the command line:
keytool -genkey -keyalg RSA -alias selfsigned -keystore keystore.jks -storepass password -validity 360 -keysize 2048
When it asks "What is your first and last name?" give it the host name that you will be using, for example localhost.
Run Websockify with encrypt as your 4th parameter, and specifying the keystore and password as JVM args, for example:
mvn exec:java -Dexec.mainClass="com.netiq.websockify.Websockify" -Dexec.args="10900 localhost 5900 encrypt" -Dkeystore.file.path=keystore.jks -Dkeystore.file.password=password
Everything found in this repo is licensed under an MIT license. See
the LICENSE file for specifics.