anuraOS
The next-gen webOS and development environment with full Linux emulation.
What is AnuraOS?
Section titled “What is AnuraOS?”An entirely local browser-based “OS” and development environment with complete graphical Linux emulation, visually based on ChromiumOS. See a demo here, fully in your browser.
Anura uses the features of a PWA (Progressive Web App) to make its environment work fully offline, providing a virtual filesystem (synced with the Linux emulator), a code editor, and a modular and extensible app system. You can even edit Anura’s code live while inside of it!
Anura shows as more of a proof-of-concept with what’s possible on the modern web rather than an actual product. However, it proves useful in many actual cases and is a useful educational tool.
Development
Section titled “Development”Easy Install for GitHub Codespaces
Section titled “Easy Install for GitHub Codespaces”- Run
source codespace-basic-setup.sh
Dependencies
Section titled “Dependencies”- Recent versions of
node.js
andnpm
wget
- A recent version of
java
(11+) inotifytools
rustup
wasm-opt
make
gcc
(gcc-multilib
on Debian and Ubuntu x86_64)- 32 bit version of
glibc
(needed for building rootfs,lib32-glibc
on Arch Linux) clang
uuid-runtime
jq
docker
- An x86(-64) Linux PC (
make rootfs-alpine
build depends on x86 specific tools)
Building
Section titled “Building”- Clone the repository with
git clone --recursive https://github.com/MercuryWorkshop/anuraOS
- Then,
make all
Building the Linux RootFS
Section titled “Building the Linux RootFS”- Make sure you have
Docker
installed and running. - Make sure to add yourself to the Docker group using
usermod -a -G docker $USER
- Run
make rootfs
Running Anura Locally
Section titled “Running Anura Locally”You can run Anura with the command
make server
Anura should now be running at localhost:8000
.
App Development
Section titled “App Development”App development is highly encouraged! Good apps can even be added to the official app repositories after review by an AnuraOS maintainer. Apps are stored in .app files which are read by AnuraOS to provide you, well, an app!
For more information about developing an AnuraOS app please visit this page and for using Anura API’s in your code, please visit this page.
Credits
Section titled “Credits”AnuraOS is created by Mercury Workshop. Linux emulation is based off of the v86 project. For more credits, see CREDITS.MD.
(p.s. for hackers: the entrypoint to anura is src/Boot.tsx)