{"id":15968564,"url":"https://github.com/smokku/wrte","last_synced_at":"2025-03-17T19:32:01.176Z","repository":{"id":49066009,"uuid":"117334090","full_name":"smokku/wrte","owner":"smokku","description":"microkernel-like environment to run untrusted applications in browser","archived":false,"fork":false,"pushed_at":"2021-06-29T17:58:42.000Z","size":288,"stargazers_count":4,"open_issues_count":14,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-15T12:18:06.824Z","etag":null,"topics":["distributed","javascript","kernel","microkernel","operating-system","runtime","sandbox","untrusted-applications","www"],"latest_commit_sha":null,"homepage":"http://wrte.cloud","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smokku.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-01-13T10:18:48.000Z","updated_at":"2023-01-06T16:06:08.000Z","dependencies_parsed_at":"2022-09-10T18:20:45.829Z","dependency_job_id":null,"html_url":"https://github.com/smokku/wrte","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fwrte","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fwrte/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fwrte/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smokku%2Fwrte/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smokku","download_url":"https://codeload.github.com/smokku/wrte/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878478,"owners_count":20362433,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["distributed","javascript","kernel","microkernel","operating-system","runtime","sandbox","untrusted-applications","www"],"created_at":"2024-10-07T19:02:24.654Z","updated_at":"2025-03-17T19:32:00.817Z","avatar_url":"https://github.com/smokku.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Run-Time Environment\n\n[![CircleCI](https://img.shields.io/circleci/project/github/smokku/wrte/master.svg)](https://circleci.com/gh/smokku/wrte)\n[![codebeat](https://codebeat.co/badges/e4e535d2-099d-474c-b97c-4fee3ffaaa90)](https://codebeat.co/projects/github-com-smokku-wrte-master)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/15562/badge.svg)](https://scan.coverity.com/projects/smokku-wrte)\n[![codecov](https://codecov.io/gh/smokku/wrte/branch/master/graph/badge.svg)](https://codecov.io/gh/smokku/wrte)\n\nWRTE is a microkernel-like environment to run untrusted applications in your browser.\n\nTry it live at http://wrte.cloud/\n\n![WRTE boot sequence](https://i.imgur.com/GJc5AZB.png)\n\n## Kernel\n\nThe kernel provides following services to facilitate apps:\n\n### Processes\n\nUntrusted apps run in iframe-sandbox + webworker jail limited as far as the browser allows.\nKernel provides methods to spawn, manage and kill processes.\n\n### IPC\n\n_Inter-Process Communication_ mechanism allows exchanging messages between processes\nand processes and kernel. Messages can be sent in point-2-point manner or over two-way\nchannels providing context and ordering.\n\n### VFS\n\n_Virtual File-System_ uses two previous facilities to build hierarchical, dynamic and persistent\ndata access layer. Kernel provides mapping of paths to actual process handlers providing data content.\n\n## Hierarchy\n\nWRTE paths consist of a volume name and path. i.e. `volume:foo/bar`\n\nVolumes are mapped to programmatic handlers processing messages for a given path. Messages like READ, SEEK, INFO, etc.\n\nThere is also an `assign` table, mapping parts of a path to another path.\nFor example `con:` is usually an assign to `internal:console`.\n\n### internal:\n\nThere are few handlers provided by the kernel itself, not by externally launched processes.\nThese are required to bootstrap the system and to give managed access to browser features such as DOM,\nnot available to worker tasks in processes. These are all available at `internal:` volume.\nBe careful not to over-assign `internal:` paths, as it will probably make your system inoperative.\n\n## Shell\n\nTBD (stdin/out/err channels of structured messages passed to subprocesses, power-shell like formatters, readline)\n\n## Windowing\n\nTBD (`internal:...` handler allowing opening a window to DOM, returning `channel` for controlling window content)\n\n## Documentation\n\nLatest developer documentation is available at http://wrte.cloud/docs/\n\n## Author\n\nYou may reach me at email: Tomasz Sterna \u003cmailto:tomek@xiaoka.com\u003e\n\n## License\n\n[AGPL 3.0](https://www.gnu.org/licenses/agpl-3.0.en.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmokku%2Fwrte","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmokku%2Fwrte","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmokku%2Fwrte/lists"}