Show HN:DaedalOS——浏览器中的桌面环境
Show HN: DaedalOS – Desktop Environment in the Browser

原始链接: https://github.com/DustinBrett/daedalOS

daedalOS是一个基于浏览器的桌面环境,提供了一系列模拟传统操作系统的功能。它拥有文件系统和资源管理器,支持拖放、ZIP/ISO文件的读写、右键菜单和快捷键。窗口可以调整大小、拖动,并支持最小化/最大化/关闭。开始菜单具有可展开的侧边栏、聚光灯效果和文件夹支持。任务栏显示窗口预览、焦点窗口指示器、搜索功能和一个AI聊天代理。 应用程序包括BoxedWine(运行Windows应用程序)、浏览器(支持IPFS)、EmulatorJS(控制台游戏ROM)、IRC、js-dos(DOS模拟器)、Marked(Markdown查看器)、Messenger(加密消息)、Monaco Editor(代码编辑器)、画图、PDF查看器、照片、Ruffle(Flash模拟器)、Stable Diffusion(AI图像生成)、终端(支持git和Python)、TinyMCE(所见即所得编辑器)、Virtual x86(x86模拟器)、视频播放器(支持YouTube)、Vim(代码编辑器)和Webamp(Winamp播放器)。游戏包括ClassiCube、DX-Ball、Space Cadet Pinball和Quake III Arena。 该项目是开源的(MIT许可证),并使用Node.js、Yarn和Docker构建。它还具有动态的动画壁纸系统和日历时钟。

DustinBrett 的“DaedalOS”,一个在浏览器中构建的桌面环境,在 Hacker News 上获得了积极关注。这个项目是他四年心血的结晶,旨在在一个网站内复制桌面体验。 评论者们赞扬了该项目对细节的关注、流畅的性能以及包含 Winamp、Doom 甚至嵌套浏览器等功能。一些人提出了潜在的实际应用,例如服务器文件管理或多用户桌面环境。虽然一些人质疑其实用性,但另一些人认为这是一个有趣且令人印象深刻的浏览器可能性演示。DustinBrett 也回应了这些建议、局限性和未来的路线图。 评论中也反映出开发过程的情感波动。Lerc 分享了他们在类似项目中收到负面反馈的经历。Rollcat 鼓励创作者忽略那些唱反调的人。

原文
Skip to content

DustinBrett/daedalOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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
  • 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) (w/Summarize & Image Generation)

Clock

Background & Screensaver

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)
联系我们 contact @ memedata.com