Skip to content

KaladinDMP/VR-CyberDeck

Repository files navigation

VR CyberDeck

Made with <3 by DMP

> ACCESS GRANTED. JACK IN. SIDELOAD. UPLOAD. REPEAT.

[ STATUS ] ONLINE
[ TARGET ] META QUEST // ALL MODELS
[ STACK  ] ELECTRON · REACT · TYPESCRIPT

VR CyberDeck is a cross-platform desktop deck for managing, sideloading, and uploading content to Meta Quest devices. It plugs into a community-run game library, runs the whole download → install → metadata → upload pipeline for you, and wraps the whole thing in a neon terminal aesthetic that doesn't feel like a 2014 sideloader.


Got ideas for features to add or bug fixes that you arent quite sure you want to make an issue for? Discussions are open and id love to hear from you!


// FORK_NOTE

VR CyberDeck started as a fork of ApprenticeVR by jimzrt. The core engine — ADB control, the download/upload pipeline, rclone integration, library connection — is theirs. Everything below the surface is a heavy rewrite of the experience:

ApprenticeVR VR CyberDeck
Theme Stock Fluent UI Fully optional cyberpunk / neon-terminal rebrand
Onboarding Hardcoded (original) /Configure server before use (forks) Bundled server defaults — works on first launch
Intro None UNAUTHORIZED → AUTHORIZED glitch boot
Identity None Matrix-style random g33ky_u$3rn4m3$ per session
Console None In-header Hacker Console + ADB Shell with quick-command shortcuts and user macros
Live HUD None Header // TRANSFER_BUS strip with rotating progress, speed, ETA
Library view Table only Table and card view, sort presets, table stretches edge-to-edge
Trailers Loads full youtube.com page Locked-down nocookie embed — no ads, no suggestions, no subscribe
Downloads Sequential Up to 5 concurrent, with NEW / UPDATED badges
Uploads Headset-only Headset or local PC files (folders + ZIPs)
Quit safety None Confirmation prompt when transfers are in flight
Settings Flat panel Collapsible sections, accent color, font picker, tab memory
A11y Limited Full colorblind theming, font picker, font scale to 200%, 900x640 min size
Sound None Optional drop-in click / type / matrix sound effects
Updates Manual In-app auto-updater on every platform

// FEATURES

[ LIBRARY ]

  • Bundled server defaults — no JSON, no rclone, no setup required
  • Card view + table view, persistent sort, size presets, 18+ filter
  • Table view stretches to fill the window so wide screens aren't wasted
  • Built-in mirror management with public mirror fallback
  • NEW / UPDATED badges driven off real lastUpdated timestamps

// NOTE: New is "added in the last 30 days". So, since the server is new, everything looks new for now. This will eventually be a useful feature, but a bit confusing right now. Updated badge means it was updated in the last 7 days, Updated badges do NOT turn into New badges for the last 3 weeks. New means new to the server, as in a new game, updated means a not new game thats been updated... But i guess there could be NEW and UPDATED at the same time. Not sure if it would badge it right or only one would show. Hmm, I should probably figure that out huh?

[ TRANSFERS ]

  • Up to 5 parallel downloads with live progress
  • Live // TRANSFER_BUS strip in the header — rotates through active downloads/uploads with name, stage, %, speed, and ETA
  • Unified Transfers drawer (downloads + uploads in one place) with stage-aware labels (Installing APK..., Copying OBB...)
  • Scan existing downloads folder and reconcile against the library
  • Clear-completed, retry, and per-item delete actions
  • Close the window mid-transfer? Cyberdeck warns you with [ TRANSFERS IN PROGRESS ] before letting you bail (works for both X and Cmd+Q on macOS)

[ UPLOADS ]

  • Auto-detect games on your headset that are missing or newer than the library
  • Local PC upload — point at a folder or pre-made ZIP, no headset required
  • Full pipeline: stage → ADB pull APK → grab OBBs → metadata → 7z → rclone
  • Optional CRACKED tagging on uploads

[ DEVICE / ADB ]

  • Auto-connect Quest on launch
  • ADB Shell dialog with built-in quick-command shortcuts:
    • PERFORMANCE — pin CPU/GPU level, swap refresh rate (72/90/120Hz), reset texture
    • UPDATES — block / unblock the OS updater and Meta Store
    • SYSTEM — reboot variants, battery, storage, wifi, IP, proximity toggle
    • PACKAGES — list 3rd-party / all / current focused app
    • WIRELESStcpip 5555, adb devices
  • Custom user macros — define your own labelled shortcut for any command you spam (right-click to edit/delete, persisted across sessions)
  • Disable-sideloading toggle for safety
  • WiFi bookmarks for wireless ADB

[ TRAILERS ]

  • Locked-down youtube-nocookie.com/embed/ player — no ads, no suggested videos, no subscribe button, no comments, no end-screen "Watch next" grid
  • Autoplays as soon as you open the trailer drawer

[ INTERFACE ]

  • Glitch boot intro, neon Hacker Console, themed dialogs top to bottom
  • Compact laptop-friendly header — drops down to a 900x640 min window
  • Dark mode done right (no half-themed popups)
  • Accent color picker, tab memory
  • Font picker — swap Courier New for Console / Terminal / System Mono if the default is hard to read
  • Optional sound effects — drop click.wav, type.wav, or matrix.wav into your user-data sounds/ folder (or resources/sounds/ for bundled), and the UI plays them on button clicks, the boot intro typing, and the ADB shell matrix load. Toggle + volume in Settings, with a per-file "✓ READY / — missing" status readout.
  • Colorblind mode now covers the whole UI — version subtitles, filter counters, Transfers button, battery pill, breach animation all swap palette
  • Font scale up to 200%
  • One-click log upload from Settings → Log Upload

// DOWNLOAD

File Platform
vr-cyberdeck-x.x.x-x64.dmg macOS x64
vr-cyberdeck-x.x.x-arm64.dmg macOS arm64
vr-cyberdeck-x.x.x-setup-x64.exe Windows — Installer
vr-cyberdeck-x.x.x-portable-x64.exe Windows — Portable
vr-cyberdeck-x.x.x-x86_64.AppImage Linux x64
vr-cyberdeck-x.x.x-arm64.AppImage Linux ARM64
vr-cyberdeck-x.x.x-amd64.deb Debian/Ubuntu x64
vr-cyberdeck-x.x.x-arm64.deb Debian/Ubuntu ARM64

Always grab the latest release. If it's already installed, just update in-app.

macOS — "App is damaged":

xattr -c /Applications/VR\ CyberDeck.app

Linux AppImage:

chmod +x vr-cyberdeck-x.x.x-x86_64.AppImage
./vr-cyberdeck-x.x.x-x86_64.AppImage

// JACK_IN

  1. Install the build for your OS
  2. Plug in your Quest via USB (data-capable cable)
  3. Allow USB Debugging on the headset
  4. Browse the library and hit download

That's it. The bundled server config means there's nothing to configure on first run.

Want to point at a custom server, swap in your own rclone config, or upload from PC? See Settings — every advanced flow lives there.

Power user? Open the ADB Shell from the sidebar — the shortcut panel above the terminal covers most Quest tweaks in one click, and you can save your own commands as MY MACROS pills.


// FEEDBACK

Found a bug? Got an idea? Want to swap notes with other CyberDeck users?

  • 🐛 Open an issue for crashes, broken downloads, ADB weirdness, or anything that looks wrong. Include a log file from Settings → Log Upload and I can usually figure it out fast.
  • 💬 Start or join a Discussion for feature ideas, questions, "is this normal?", custom shortcut macros worth sharing, sound-effect recommendations, or anything that isn't strictly a bug.

If you've got a sound clip you think would suit the UI (terminal click, mechanical keyboard tap, matrix-style hum), drop it in a discussion thread — happy to bundle community favourites in a later build.


// BUILD_FROM_SOURCE

npm install --legacy-peer-deps
Platform Command
Windows npx electron-vite build && npx electron-builder --win --x64
macOS npx electron-vite build && npx electron-builder --mac --x64
Linux npx electron-vite build && npx electron-builder --linux --x64

// CREDITS

Built on top of ApprenticeVR by jimzrt. Without that foundation this project doesn't exist.

// LICENSE

GNU Affero GPL v3


Visitors Last Commit Created Monthly Commits

⭐ Do the thing

You’re already here. You’ve already scrolled.

Just hit the ⭐ and we both win.

⭐ Star this repo please


GitHub stars for this repo = GitHub stars for this repo

GitHub stars in total (all repos) = GitHub stars in total (all repos)

About

A cyberpunk flavored, multi OS, sideloader for the Meta Quest devices

Resources

License

Stars

Watchers

Forks

Contributors

Languages