DustinBrett/daedalOS: Desktop environment in the browser. Contribute to DustinBrett/daedalOS development by creating an ac

github.com · 2026-08-22 · by Long Nguyen ·github
Desktop environment in the browser. Contribute to DustinBrett/daedalOS development by creating an account on GitHub.

DustinBrett/daedalOS

Desktop environment in the browser. Contribute to DustinBrett/daedalOS development by creating an account on GitHub.

13k stars · 1.2k forks

README

🌌 daedalOS 🌌 Desktop environment in the browser

Feature Overview

System 🧠 File 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

ZIP (write support), ZIP/ISO read support, 7Z/GZ/RAR/TAR/etc. extract support Writes to IndexedDb Group selection/manipulation & drag to sort/arrange 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+C, CTRL+V, CTRL+X, CTRL+A, Delete F2, F5, Backspace, Arrows, Enter SHIFT+CTRL+R, SHIFT+F10, SHIFT+F12 In Fullscreen: Windows Key, Windows Key + R

File information tooltips Allow sorting by name, size, type or date

Persists icon position/sort order

Windows

Resizable and Draggable Minimize, Maximize & Close Persists size/position/maximized states Animates opening and closing

Start Menu

Expandable Sidebar

Apps list, Documents/Pictures/Videos shortcuts, Power (clears session)

Spotlight visual effect Folder support Keyboard shortcut opens with SHIFT+ESC

Or Windows Key when 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)

Clock

Runs in a Web Worker

Drawn in an OffscreenCanvas

NTP server time mode (ntp.js) Synced to system clock on load Date tooltip Calendar popup

Background & Screensaver

Dynamic animated wallpapers (OffscreenCanvas/Web Worker)

Waves Hexells Matrix Coastal Landscape

Set via image/video (Fill, Fit, Stretch, Tile, Center) Picture Slideshow Astronomy Picture of the Day Art Institute of Chicago Metropolitan Museum of Art Lorem Picsum AI Generated Wallpapers Stable Diffusion Custom screen saver file support

3D FlowerBox 3D Maze Pipes

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

DesktopFly

Fruit fly pets driven by a live spiking simulation of 1,275 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 Spawn via fly in Terminal or Run dialog

DevTools

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

IRC

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-04) Automatic public/private key creation

Monaco Editor

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

OpenType (.otf, .ttf, .woff)

Font viewer

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

Create & edit images

PDF (.pdf)

Render/Print PDF's Page current/count & Zoom

Photos

Supported Formats

HEIF (.heic, .heif) JPEG XL (.jxl) QOI (.qoi) TIFF (.tif, .tiff)

Fullscreen & Zoom

Ruffle (.swf, .spl)

Flash Player emulator

Stable Diffusion

Creates 512x512 images using artificial intelligence Runs locally using WebSD

Terminal

File system support Autocomplete & history Pipe commands together Command list via help Git support (checkout & clone) Python support (.py) WebAssembly Package Manager

Ex: wapm cowsay moo (#)

Weather information eSheep Activate from Start Menu or SHIFT+F10 Neofetch FFmpeg & ImageMagick conversion

TIC-80 (.tic)

Runs "fantasy computer" games

TinyMCE (.rtf, .whtml)

Read & WYSIWYG modes File save support

Virtual x86 (.img, .iso)

x86 emulator Automatic save states on close

/Users/Public/Snapshots

Automatic window resize

Video Player

Supported Formats (codecbox.js) Plays YouTube videos/shortcuts Keyboard Shortcuts (Volume, Seek, Scale, Fullscreen)

Vim

Code/text editor Supports all file types

Webamp (.mp3, .wsz)

Winamp audio player Skin support (w/random skins via Winamp Skin Museum) Playlist & streaming support Visualization support ("Milkdrop")

Games 🎮 Chess (.pgn)

Play against stockfish.js, a friend, or watch CPU vs CPU Load PGN games w/move navigation

ClassiCube

Minecraft Classic compatible client

DX-Ball

Block breaker arcade game like Arkanoid

Space Cadet Pinball

Reverse engineering of 3D Pinball from Windows

Quake III Arena

Port of the classic first-person shooter

Try It 🚀 Requirements

Node.js Yarn

Development yarn install yarn build:prebuild yarn dev

Production yarn install yarn build yarn serve

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

Notes

If during yarn install you receive the error digital envelope routines::unsupported, you need to set NODE_OPTIONS to --openssl-legacy-provider (1, 2, 3)

source

github.com · 2 images · 208 links

Comments (0)

No comments yet