This tutorial will guide you through the process of setting up a "Share a VM" project, allowing you to control your virtual machine in a web browser and share it publicly. Please note: This tutorial is specifically for Windows 8 and up.
Windows or Linux ISOOperating system image for your VM
Learn how to download in Step 1
Windows PCOperating System for host machine
Use a Windows PC
noVNCHTML5 viewer to control your VM in a browser
Learn to download in Step 4
WebsockifyConverts WebSocket to raw VNC
Learn to download in Step 4
VM ISODownload
VMware Workstation Pro at https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion (please note you need to login with your BROADCOM account at https://profile.broadcom.com/web/registration , If you dont want to enter sensitive info thats required, try entering fake info like Funny City or you work at Other ).
Download your
Windows/Linux ISO from a verified source like the Internet Archive.
Please note: Windows ME and lower needs VMware drivers to make the mouse work.
VMMake a new virtual machine and put in the
ISO, then continue and set up the
VM.
Power off the
VM.
Go to VM > Settings > Options > VNC Connections.
Check Enable VNC connections and change the port (optional). Do not set up a password.
noVNC and
WebsockifyMake sure you have
Git downloaded. If not, download at https://git-scm.com/.
Open
Git Bash and type in:
git clone https://github.com/novnc/noVNC.git
cd noVNC
git submodule update --init --recursive
Python & Run
WebsockifyDownload
Python if not already: https://www.python.org/downloads/.
In the terminal, type in:
cd C:\Users\(YOUR USERNAME)\noVNC
(or where you installed noVNC)
Then type in:
websockify 6080 localhost:PORT GOES HERE
You can also try:
python -m websockify 6080 localhost:PORT GOES HERE
And try going to http://localhost:6080/vnc.html and try to see if that works.
Ngrok & Protect your IP with a VPNGo to https://ngrok.com/downloads/windows and don't download from Chocolatey.
Then extract the files and go to the dashboard: https://dashboard.ngrok.com/. Click "Your token" on the left and copy the authtoken.
Then open the extracted
ngrok.exe and type in:
ngrok authtoken
Then:
ngrok http 6080
Copy the public URL that looks like abc123!@#.ngrok-free.app.
Please note: You might encounter a '405 Method Not Allowed' error when opening the
Ngrok URL directly in your browser. This is normal and not an issue.
Since your
VM might be exposed publicly, it's highly recommended to use a VPN to protect your IP address. This will add an extra layer of security and privacy.
Popular VPN providers include NordVPN, ExpressVPN, and ProtonVPN. Choose a reputable one that suits your needs and budget, and install it on your host machine (not within the virtual machine) before running Ngrok.
Fork this project https://websim.com/@ChatGPT_Plus_User/share-a-netbook/2 on Websim.
Then manual edit and change this line in index.html:
host = readQueryVariable("host", 'INPUT URL HERE!');
Make sure to paste the
Ngrok URL (e.g., abc123!@#.ngrok-free.app) here instead of 'INPUT URL HERE!'.
Then click save. You have it working!
Publish the project and you're done!
Optional: Change the thumbnail and name.
VM After Reboot
VM in
noVNC folder by typing:
cd LOCATION OF NOVNC FOLDER
(Replace LOCATION OF NOVNC FOLDER with the actual path, e.g., C:\Users\YOUR_USERNAME\noVNC)
websockify 6080 localhost:PORT NUMBER GOES HERE
(Use the same port number you configured for VNC in Step 3.)
ngrok.exe application (from where you extracted it).
Ngrok window, type:
ngrok http 6080
Ngrok will provide a new public URL (e.g., xyz456!@#.ngrok-free.app). Copy this new URL.index.html for manual editing, and update the host line with the new
Ngrok URL:
host = readQueryVariable("host", 'NEW NGROK URL HERE!');
VM should now be accessible through the updated public URL.