Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/smokku/wrte
microkernel-like environment to run untrusted applications in browser
https://github.com/smokku/wrte
distributed javascript kernel microkernel operating-system runtime sandbox untrusted-applications www
Last synced: 19 days ago
JSON representation
microkernel-like environment to run untrusted applications in browser
- Host: GitHub
- URL: https://github.com/smokku/wrte
- Owner: smokku
- License: agpl-3.0
- Created: 2018-01-13T10:18:48.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2021-06-29T17:58:42.000Z (over 3 years ago)
- Last Synced: 2024-10-08T19:02:22.471Z (about 1 month ago)
- Topics: distributed, javascript, kernel, microkernel, operating-system, runtime, sandbox, untrusted-applications, www
- Language: JavaScript
- Homepage: http://wrte.cloud
- Size: 281 KB
- Stars: 4
- Watchers: 4
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Web Run-Time Environment
[![CircleCI](https://img.shields.io/circleci/project/github/smokku/wrte/master.svg)](https://circleci.com/gh/smokku/wrte)
[![codebeat](https://codebeat.co/badges/e4e535d2-099d-474c-b97c-4fee3ffaaa90)](https://codebeat.co/projects/github-com-smokku-wrte-master)
[![Coverity Scan Build Status](https://scan.coverity.com/projects/15562/badge.svg)](https://scan.coverity.com/projects/smokku-wrte)
[![codecov](https://codecov.io/gh/smokku/wrte/branch/master/graph/badge.svg)](https://codecov.io/gh/smokku/wrte)WRTE is a microkernel-like environment to run untrusted applications in your browser.
Try it live at http://wrte.cloud/
![WRTE boot sequence](https://i.imgur.com/GJc5AZB.png)
## Kernel
The kernel provides following services to facilitate apps:
### Processes
Untrusted apps run in iframe-sandbox + webworker jail limited as far as the browser allows.
Kernel provides methods to spawn, manage and kill processes.### IPC
_Inter-Process Communication_ mechanism allows exchanging messages between processes
and processes and kernel. Messages can be sent in point-2-point manner or over two-way
channels providing context and ordering.### VFS
_Virtual File-System_ uses two previous facilities to build hierarchical, dynamic and persistent
data access layer. Kernel provides mapping of paths to actual process handlers providing data content.## Hierarchy
WRTE paths consist of a volume name and path. i.e. `volume:foo/bar`
Volumes are mapped to programmatic handlers processing messages for a given path. Messages like READ, SEEK, INFO, etc.
There is also an `assign` table, mapping parts of a path to another path.
For example `con:` is usually an assign to `internal:console`.### internal:
There are few handlers provided by the kernel itself, not by externally launched processes.
These are required to bootstrap the system and to give managed access to browser features such as DOM,
not available to worker tasks in processes. These are all available at `internal:` volume.
Be careful not to over-assign `internal:` paths, as it will probably make your system inoperative.## Shell
TBD (stdin/out/err channels of structured messages passed to subprocesses, power-shell like formatters, readline)
## Windowing
TBD (`internal:...` handler allowing opening a window to DOM, returning `channel` for controlling window content)
## Documentation
Latest developer documentation is available at http://wrte.cloud/docs/
## Author
You may reach me at email: Tomasz Sterna
## License
[AGPL 3.0](https://www.gnu.org/licenses/agpl-3.0.en.html)