A web "OS" and development environment with full linux emulation https://anura.mercurywork.shop
Find a file
ading2210 5f40d2b8d7
Some checks failed
CI / Check Version (push) Has been cancelled
CI / Build Anura (push) Has been cancelled
CI / Upload release (push) Has been cancelled
CI / Publish anura-types to NPM (push) Has been cancelled
CI / Upload to Github Pages (push) Has been cancelled
switch to wisp-js for wisp server
2025-11-03 18:17:43 -08:00
.github/workflows fix: workflow syntax (again) 2025-09-28 17:59:44 -05:00
.vscode more anura housekeeping 2025-09-17 23:54:57 -05:00
aboutproxy@2858b9f555 update aboutproxy 2024-09-20 23:17:24 -04:00
apps more anura housekeeping 2025-09-17 23:54:57 -05:00
assets update anura showcase screenshot 2024-07-27 22:48:34 -05:00
bin process args support, bin loading overhaul, shortcuts, utilities 2025-05-10 17:34:44 -04:00
chimerix@605bcf6600 implement terminal resize 2024-07-22 23:31:28 -04:00
documentation housekeeping: update github workflows and update packages 2025-09-08 23:52:16 -05:00
dreamlandjs@5cc8b1c25f downgrade dreamland 2025-04-14 01:05:23 -04:00
native-file-system-adapter@ccc6626335 update nativefs submodule (fix truncate and close) 2024-07-26 22:42:56 -04:00
public more anura housekeeping 2025-09-17 23:54:57 -05:00
server switch to wisp-js for wisp server 2025-11-03 18:17:43 -08:00
src fix: wmapi createGeneric 2025-09-30 11:03:02 -05:00
v86@d39f1b4772 fix submodules 2025-03-27 00:12:06 -04:00
x86_image_wizard more anura housekeeping 2025-09-17 23:54:57 -05:00
.gitignore more anura housekeeping 2025-09-17 23:54:57 -05:00
.gitmodules update submodules and get rid of twisp 2024-09-07 10:54:31 -05:00
.prettierignore epoxy prettier ignore 2024-09-02 00:18:49 -04:00
BrowserQuirks.md update all dependencies 2025-01-10 21:38:42 -06:00
codespace-basic-setup.sh housekeeping: update security policy, add bash strict mode to codespace setup 2025-09-09 00:15:59 -05:00
config.default.json housekeeping: update github workflows and update packages 2025-09-08 23:52:16 -05:00
CREDITS.md housekeeping: update github workflows and update packages 2025-09-08 23:52:16 -05:00
eslint.config.mjs prettier 2025-01-14 15:47:24 -06:00
LICENSE Create LICENSE 2023-07-18 22:49:58 +04:00
Makefile un nest sw handler in anura-sw, newSwOpfs -> newRootOpfs 2025-06-17 03:38:22 -05:00
package-lock.json fix: update publish action 2025-09-28 17:35:16 -05:00
package.json fix: update publish action 2025-09-28 17:35:16 -05:00
prettier.config.js more anura housekeeping 2025-09-17 23:54:57 -05:00
README.md Update README.md (#220) 2025-02-02 16:33:56 -06:00
rust-toolchain.toml update readme and rust toolchain 2024-07-28 22:08:50 -05:00
SECURITY.md housekeeping: update security policy, add bash strict mode to codespace setup 2025-09-09 00:15:59 -05:00
tsconfig.json prettier 2025-01-14 15:47:24 -06:00
types-package.json more anura housekeeping 2025-09-17 23:54:57 -05:00

AnuraOS logo AnuraOS logo

The next-gen webOS and development environment with full Linux emulation.


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.

Warning

Anura mainly targets Chromium but should work on most browsers. For a list of known browser specific quirks check this document.

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

Important

Anura will not build on Windows. Please use a Linux VM or WSL.

Easy Install for GitHub Codespaces

  • Run source codespace-basic-setup.sh

Note

  • If you are not in a codespace skip to the regular installation steps.
  • This does NOT build RootFS.

Dependencies

  • Recent versions of node.js and npm
  • 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)

Note

You will have to install the required Rust toolchain by running rustup target add wasm32-unknown-unknown and also rustup target add i686-unknown-linux-gnu if you are planning to build v86 images.

Building

  • Clone the repository with git clone --recursive https://github.com/MercuryWorkshop/anuraOS
  • Then, make all

Tip

You can use make all -B instead if you want to force a full build.

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

You can run Anura with the command

make server

Anura should now be running at localhost:8000.

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.

Documentation

See the current index of documentation here.

Security

See SECURITY.md for reporting instructions.

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)