UstymUkhman / BrowserOS

Electron app turned into OS

Home Page:https://github.com/UstymUkhman/BrowserOS#readme

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BrowserOS

Electron app turned into OS

⚠️ This project probably won't be maintained nor updated in any way. If you've found an issue or have a feature request, please keep it to yourself. don't be lazy and feel free to fork this repo and fix/implement it by yourself.

VirtualBox.mp4

❔ What Is This

Bare minimal JavaScript GUI for an x64 Linux OS. It uses linux.js, a debian based linux distro under the hood and an Electron app with TypeScript + SolidJS to interact and build a UI on top of it.

😕 But Why?

Because sometimes all you need is love a browser and... why not?

✨ Features

  • Built with web technologies.

  • No telemetry or other bloatware.

  • Safe by default since everything is in a sandbox.

  • Light and dark theme.

  • Very minimal, Chromium based, web browser.

  • Clock with date & time. But it's in JavaScript, so take it with a grain of salt.

❗ Limitations

  • Built with web technologies.

  • No filesystem. Could be probably implemented though.

  • Does not work on Windows WSL2. Related issue.

  • Electron v9.4.4 and (because of this) Chromium v83.0.4103.122. So no scoped CSS or others (relatively) new features. 😞 Related issues: #20086, #17049 and #19847.

💾 Download

$ git clone https://github.com/UstymUkhman/BrowserOS.git
$ cd BrowserOS/

$ pnpm i   # Install project dependencies
$ npx reqs # Download Linux filesystem

⌨️ Develop

$ pnpm start:web # As a web application
$ pnpm start:app # As an electron application

✔️ Lint

$ pnpm lint:js  # Run eslint for TS and JS
$ pnpm lint:css # Run stylelint for CSS

🧱 Build

$ pnpm build:web  # As a web application
$ pnpm build:app  # As an electron application
$ pnpm build:test # As an unpacked application
$ pnpm build:prod # As a production application

🚀 Run

💻 Qemu (Linux):

$ pnpm build:app  # Build as an electron application
$ pnpm build:prod # Package it to be production-ready

$ npx linuxjs     # Create an ISO image and launch qemu to run it:
$ qemu-system-x86_64 -boot d -cdrom filesystem/BrowserOS.iso -m 4096

👏 Credits

A special thank goes to MainSilent for this awesome package.

About

Electron app turned into OS

https://github.com/UstymUkhman/BrowserOS#readme

License:MIT License


Languages

Language:TypeScript 70.3%Language:CSS 22.1%Language:HTML 7.2%Language:JavaScript 0.4%