Get an EC2 slash SSH-like experience of logging into a "VM" running an OS of your choice that's running on a mere PC of your friend sitting in his home behind a NAT! Try it now!
npm install -g vt100
vt init
...and answer a series of questions regarding how much of CPU, RAM and disk space you're willing to set aside for people to use.
vt list
Get a listing of all the available PC resources in the network. Those who "donate" their resources will appear in this listing. Select any one and choose your OS.....and get an interactive terminal!!
- Peer to Peer 💻—💻
- Pause and resume your instance any time.
- Live metrics 📈
- Command history 👣
- Authentication and Authorization 👥
- Admin dashboard to track usage and more...
- Zero-installation web-terminal. Try it now!
- built-in ngrok-like feature, serve your content from your local PC and get a public URL!
vt100's core is built around WebRTC, a peer to peer communication standard that emerged in 2011 to add audio/video streaming capabilities directly into the browser.
The spawned "VM"s are Docker containers running on the Donor's machine. vt100 has very loose coupling with Docker and can swap out Docker for any other backend, say chroot
or fakeroot
. But then ofcourse, you'd lose the "select your own OS" feature. LXC seems to be a promising near-VM solution. Rootless podman is yet another alternative that we can consider for bake-in solution
Project is still in infancy. Open to feature requests and PRs! Checkout the Issues section for interesting feature requests, enhancements and ofcourse...bugs
vt100 is a fork of Robinhood, that won us the first prize in a 4-day long hackathon organised by Setu in Feb 2022. Many thanks to my team members @Dhruv, @Sujan and @Gandharva
The original DEC vt100 was the very first terminal that was ANSI X3.64 compliant and featured lots of innovations that we take for granted in this day. Even today, all terminal emulation software are expected to emulate the VT100 and infact the xterm's specification is based off the humble vt100.
- fill in the anchor tags
- more on architecture