Skip to content

Latest commit

ย 

History

History
264 lines (186 loc) ยท 8.67 KB

README.md

File metadata and controls

264 lines (186 loc) ยท 8.67 KB

๐ŸŒŒ daedalOS ๐ŸŒŒ

Desktop environment in the browser

Feature Overview

System ๐Ÿง 

  • File Explorer
    • Back, Forward, Recent locations, Up one level, Address bar, Search
  • 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, 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

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)

Clock

Background

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
  • Favicon support
  • Back/Forward & Reload
  • Google search via Address bar
  • IPFS protocol support
  • chrome://dino game
  • 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-04)
  • Automatic public/private key creation
  • 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

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

  • Create & edit images

PDF (.pdf)

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

Photos

Ruffle (.swf, .spl)

  • Flash Player emulator
  • Creates 512x512 images using artificial intelligence
  • Runs locally using WebSD

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
  • Code/text editor
  • Supports all file types

Webamp (.mp3, .wsz)

Games ๐ŸŽฎ

  • 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
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)