Run a full XFCE4 Linux desktop on Google Colab or Kaggle and access it from any browser — no VPN, no credit card, no local storage needed.
| Platform | Open Notebook |
|---|---|
| Google Colab | |
| Kaggle |
Many developers and creators face bandwidth limitations or lack local storage for large files (5–10GB+). This project lets you:
- 📤 Upload large model files to sites like CivitAI using cloud server bandwidth — not your own internet
- 🖥️ Run GUI applications on a free cloud GPU/CPU environment
- 🌐 Browse the web through a remote Linux desktop from anywhere
Real example: A 7GB upload that would take hours on a slow connection completes in ~4 minutes at 30MB/s server-to-server. Your local bandwidth is completely untouched. ✅
| Component | Purpose |
|---|---|
Xvfb |
Virtual display (no physical screen needed) |
XFCE4 |
Lightweight desktop environment |
x11vnc |
VNC server to stream the display |
noVNC + websockify |
Access the desktop from any browser |
localhost.run |
Free SSH tunnel — no account, no credit card |
Brave Browser |
Full browser inside the desktop (no snap required) |
- A Google account (for Colab) or Kaggle account
- Any modern web browser on your device
- No local GPU or storage needed
- Click "Open in Colab" button above
- Run cells in order, one by one
- After Cell 6, you'll get a URL like:
https://xxxx-xxxx.localhost.run/vnc.html - Open it in your browser → enter password
12345678→ you're in! 🎉
- Click "Open in Kaggle" button above
- Enable Internet in notebook settings
- Run cells in order
- Same URL format as above
Your model on HuggingFace
↓ Cell 9: downloads to cloud server (server-to-server, 0 local bandwidth)
↓ Open Brave browser on the desktop
↓ Upload to CivitAI normally via browser
✅ Done — your local internet was never touched
- Colab free tier: Session lasts ~12 hours. Runtime may disconnect if idle.
- Kaggle free tier: 30 GPU hours/week, sessions up to 12 hours.
- localhost.run: Provides a random URL per session — get a new one if it expires.
- Desktop resolution:
1280x800by default — changeable in Cell 3. - Always run Cell 10 to clean up before ending your session.
| Problem | Fix |
|---|---|
| URL didn't appear in Cell 6 | Run Cell 7 to see the full tunnel log |
| Desktop looks slow | Normal for noVNC — it's a remote desktop over the internet |
| Brave won't open | Make sure Cell 3 (Xvfb) ran successfully first |
| Tunnel disconnected | Re-run Cell 6 — a new URL will be generated |
This project is licensed under the GNU General Public License v3.0 — see LICENSE for details.
Any derivative work must remain open source under the same license.
PRs welcome! Especially:
- Performance improvements
- Alternative tunnel options
- Support for other desktop environments
Made with ☕ and too many failed tunnel attempts 😂