Activity

BurntRanch

I don’t really know how I’d explain the changes here in a brief devlog, so I’ll list each change and explain why I made it.

  • added Remote Access config, with rules that map certain ports to other hosts/ports
    This was necessary for tunneling, since I use Cloudflare Tunnels. The idea was that VMs showing their screen on, say, port 5900, would show up as if they were from examplenode-vnc1.devranch.ovh. Because that’s how the tunneling goes.
  • added WebSocket mode for Remote Access.
    If enabled, TabVMs will report that the display “can only be viewed through a browser-based client.” It’ll also check for a VNC WebSocket port instead of a regular VNC TCP port.
  • added skeleton loading pages
    These should make the site seem more responsive. They aren’t demonstrated in the video, but you can see it in the demo link.

.. I think this is it. I think I’ll make a TempleOS VM with a proper VNC server in the demo soon enough

This took a while of brainstorming but it turned out to be simple. My plans next are:

  • caching (optimization sidequest :3)
  • UI touch-ups (i agree the login page could use some work)
  • permissions (low priority, probably will ship without this)
  • configuration page (equal priority to permissions)
0
BurntRanch

Shipped this project!

Hours: 19.22
Cookies: 🍪 260
Multiplier: 13.51 cookies/hr

I made TabVMs because I wanted an easy way for family members who only have phones to be able to access a desktop without having to use someone elses machine.
This project was very experimental, I used stuff I’ve never used before (fastapi, react, vite, cloudflare pages) but I’d say it all paid off and the website functions well so far.
The hardest part by far was the frontend, since it’s written in Javascript and there are so many gotchas with JS. but the project in general was pretty simple

BurntRanch

after a long while, I finally got TabVMs deployed.
I had to add two things, proper error messaging and CAPTCHA support. Those two features caused a ton of headaches for me as a React newbie, but I got everything working eventually.

All that’s left is putting this stuff on a Raspberry Pi so that it can be available 24/7 for anyone planning to test

1

Comments

BurntRanch
BurntRanch 7 days ago

note: the test VM doesn’t show information about remote desktop because that still needs proper configuration. Remote Desktop support will be added to the live demo in between ships

BurntRanch

alot of internal work, but I also added preferences! you can now choose whether or not TabVMs should feature square corners, with rounded corners being the default.

0
BurntRanch

Added authentication for the panel backend, which will make it actually secure.
For now, not being authenticated means losing access to every feature. I plan on making certain things anonymously accessible (it’ll be a changeable config)
Also redesigned everything to be square. I love the square design more.

0
BurntRanch

Graphics information is now shown to the user, so they can connect with whatever client they have!
the colors are prettier now, I think

Attachment
0
BurntRanch

added simple start/stop controls for VMs
(CPU usage is supposed to be in %)

0
BurntRanch

Added a live feed that tracks information about each VM.

0
BurntRanch

I got a simple frontend working, with a simple status page.
It lists each node, and each VM running in that node. It also color-codes the name based on its running status. So far, it’s only binary (running, or not), but maybe additional statuses for sleep could be added!

Attachment
0