Skip to content

Latest commit

ย 

History

4,577 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŒŒ daedalOS ๐ŸŒŒ

Desktop environment in the browser

Screenshot

Feature Overview

Feature Overview

System ๐Ÿง 

  • File Explorer
    • Back, Forward, Recent locations, Up one level, Address bar, Search
    • Thumbnail & Details Views
  • Drag & Drop File Support (internal & external)
    • Loading progress dialog
  • Archives
    • Browse ZIP & ISO files as folders
    • Create ZIP files (fflate)
    • Extract 7Z/GZ/RAR/TAR/etc. (7z-wasm)
  • Writes to IndexedDB
  • Group selection/manipulation & drag to sort/arrange
    • Sort by name, size, type or date
    • Persists icon position/sort order
  • Dynamic and auto cached icons for music, images, video & emulator states
  • Context Menus
    • Cut, Copy, Create shortcut, Delete, Rename
    • Add file(s), Map directory
    • Open with options/dialog, Open file/folder location, Open in new window, Open Terminal here
    • Download, Add to archive, Extract here, Set as wallpaper, Set as mouse pointer, Convert audio/video/photo/spreadsheets, Properties (w/Details)
    • Sort by, New Folder, New Text Document
    • Screen Capture
  • Keyboard Shortcuts
    • CTRL+A, CTRL+C, CTRL+X, CTRL+V, Delete (or CTRL+D)
    • F2 (Rename), F5 or CTRL+R (Refresh), Backspace (Up one level)
    • Arrows, Home, End, Enter (Open), ALT+Enter (Properties), ALT+N (New window)
    • CTRL+SHIFT+3 (Thumbnail view), CTRL+SHIFT+6 (Details view)
  • File information tooltips

Windows

Start Menu

  • Expandable Sidebar
    • Apps list, Documents/Pictures/Videos shortcuts, Power (clears session)
  • Spotlight visual effect
  • Folder support
  • Opens with SHIFT+ESC (or the Windows key in fullscreen)

Taskbar

  • Peek hover preview of windows
  • Focused window indicator
  • Search menu (w/Recent files)
  • AI Chat Agent (Prompt API & WebLLM) (w/Summarize & Image Generation)

Keyboard Shortcuts

Shortcut Action
SHIFT+ESC Start Menu
SHIFT+CTRL+E File Explorer
SHIFT+CTRL+R Run dialog
SHIFT+CTRL+S Search
SHIFT+CTRL+X Start button context menu
SHIFT+CTRL+D Show desktop
SHIFT+CTRL+Up / Down Maximize / Minimize (or restore)
SHIFT+F5 Reload
SHIFT+F10 Terminal
SHIFT+F12 DevTools
CTRL+ALT+F4 Close focused window
F11 Toggle fullscreen

In fullscreen the Windows key opens the Start Menu, Windows key combos work in place of SHIFT+CTRL (e.g. Windows Key + R), ALT+F4 closes the focused window and ESC exits fullscreen.

Clock

Background & Screensaver

Run Dialog

  • Launch apps by alias or paths
  • Opens ipfs:// & nostr: URIs

URL

  • Query parameter loading
    • Examples:
      • /?url=/CREDITS.md
      • /?app=Browser

Apps ๐Ÿงช

BoxedWine (.exe, .zip)

  • Runs 16/32-bit Windows applications

Browser (.htm, .html)

  • Loads websites (w/CORS support)
  • Bookmark bar with favicon support
  • Proxy support (Wayback Machine & The Old Net)
  • Back/Forward & Reload
  • Google search via Address bar
  • IPFS protocol support
  • chrome://dino game
  • Fruit fly pets driven by a live spiking simulation of 9,907 real FlyWire connectome neurons, with escape, backward retreat, grooming, sleep & circadian rhythm
  • Every fly has its own brain & senses: window edges are walkable terrain, dragged windows & the cursor loom, clicks swat, and a takeoff startles nearby flies
  • Flies learn: swat one while it is watching something and it learns to avoid that thing
  • Spawn via fly [count] (up to 5) in Terminal or the Run dialog, see fly help for details
  • Console, Elements, Network, Resources, Sources, DOM
  • Activate from Start Menu or SHIFT+F12

EmulatorJS (.32x, .a26, .a52, .a78, .gb, .gba, .gbc, .gen, .gg, .j64, .jag, .lnx, .n64, .nds, .nes, .ngc, .ngp, .pce, .sfc, .smc, .smd, .sms, .v64, .vb, .vboy, .ws, .wsc, .z64)

  • Plays console game ROMs
  • Internet Relay Chat Client
  • Connects over WebSockets

js-dos (.exe, .jsdos, .zip)

  • DOS emulator
  • Automatic save states on close
    • /Users/Public/Snapshots
  • Automatic window resize

Marked (.md)

  • Markdown Viewer

Messenger

  • Encrypted direct messaging client
  • Utilizes Nostr Protocol (NIP-17, NIP-04 for older clients)
  • Automatic public/private key creation
  • Sign in with a NIP-07 extension or nsec
  • Message requests, spam folder, bulk delete & blocking
  • Default contacts from the author npub & the site's /.well-known/nostr.json (NIP-05)
  • Code/text editor
  • Supports all file types
  • Save files via CTRL+S
  • Line count, cursor position, language id
  • Prettier formatting
    • JSON, JS/TS, CSS/Sass/Less, HTML, Markdown, XML

OpenType (.otf, .ttf, .woff)

  • Font viewer

Paint (.bmp, .gif, .ico, .jpeg, .jpg, .png, .tif, .tiff, .webp)

  • Create & edit images

PDF (.pdf)

  • Render/Print PDFs
  • Page current/count & Zoom

Photos

Ruffle (.swf, .spl)

  • Flash Player emulator
  • Creates 512x512 images using artificial intelligence
  • Runs locally using WebSD (requires WebGPU)

TIC-80 (.tic)

  • Runs "fantasy computer" games

TinyMCE (.rtf, .whtml)

  • Read & WYSIWYG modes
  • File save support

Virtual x86 (.bin, .dsk, .img, .iso)

  • x86 emulator
  • Automatic save states on close
    • /Users/Public/Snapshots
  • Automatic window resize
  • Supported Formats (.mp4, .webm, .mkv, .mov, .m4v, .ogv, .3gp, .m3u8, etc.)
  • Plays YouTube videos/shortcuts
  • Keyboard Shortcuts (Volume, Seek, Scale, Fullscreen)
  • Code/text editor
  • Supports all file types

Webamp (.mp3, .wsz, .asx, .m3u, .pls)

Games ๐ŸŽฎ

Chess (.pgn)

  • Play against stockfish.js, a friend, or watch CPU vs CPU
  • Load PGN games w/move navigation
  • Minecraft Classic compatible client
  • Block breaker arcade game like Arkanoid
  • Reverse engineering of 3D Pinball from Windows
  • Port of the classic first-person shooter

Try It ๐Ÿš€

Requirements

Development

build:prebuild generates the file system and search indexes the app loads at startup, so re-run it after adding or removing files in public/.

yarn install
yarn build:prebuild
yarn dev

Then open http://localhost:3000.

Production

Builds a static export to out/ and serves it on http://localhost:3000.

yarn install
yarn build
yarn serve

Docker

docker build -t daedalos .
docker run -dp 3000:3000 --rm --name daedalos daedalos

Tests & Linting

yarn test # Jest unit tests
yarn e2e  # Playwright end-to-end tests (run `yarn playwright install` once first)
yarn lint # Oxlint

About

Desktop environment in the browser

Topics

Resources

Stars

13.0k stars

Watchers

117 watching

Forks

Contributors

Languages