Copy editing

This commit is contained in:
Alessandro Pignotti 2023-05-19 10:17:46 +02:00
parent 4c472f1af2
commit 64c560396d
3 changed files with 36 additions and 25 deletions

View file

@ -33,7 +33,7 @@ on:
GITHUB_RELEASE: GITHUB_RELEASE:
type: boolean type: boolean
description: 'Upload github release.' description: 'Upload GitHub release.'
required: true required: true
default: false default: false

View file

@ -8,54 +8,64 @@ WebVM is a server-less virtual environment running fully client-side in HTML5/We
WebVM is powered by the CheerpX virtualization engine, and enables safe, sandboxed client-side execution of x86 binaries on any browser. CheerpX includes an x86-to-WebAssembly JIT compiler, a virtual block-based file system, and a Linux syscall emulator. WebVM is powered by the CheerpX virtualization engine, and enables safe, sandboxed client-side execution of x86 binaries on any browser. CheerpX includes an x86-to-WebAssembly JIT compiler, a virtual block-based file system, and a Linux syscall emulator.
# How to: enable networking # Enable networking
- Go to [https://webvm.io](https://webvm.io). - Click "Connect via Tailscale" in the page header.
- Click "Tailscale Login" in the top right corner.
- Log in to Tailscale (create an account if you don't have one). - Log in to Tailscale (create an account if you don't have one).
- If you are unfamiliar with Tailscale or would like additional information see [WebVM and Tailscale](/docs/Tailscale.md). - If you are unfamiliar with Tailscale or would like additional information see [WebVM and Tailscale](/docs/Tailscale.md).
# How to: fork and deploy # Fork and deploy
- Fork the repository. - Fork the repository.
- Enable Github pages in settings. - Enable Github pages in settings.
- Click on `Settings`. - Click on `Settings`.
- Go to the `Pages` section. - Go to the `Pages` section.
- Select `Github Actions` as the source. - Select `Github Actions` as the source.
- Run the workflow. - Run the workflow.
- Go to the forked repository its Github actions tab. - Go back to your fork.
- Accept the prompt. - Click on `Actions.
- Accept the prompt. This is required only once to enable Actions for your fork.
- Click on the workflow named `Deploy`. - Click on the workflow named `Deploy`.
- Click `Run workflow` and then once more `Run workflow`. - Click `Run workflow` and then once more `Run workflow` in the menu.
<img src="/assets/fork_deploy_instructions.gif" alt="deploy_instructions_gif" width="90%"> <img src="/assets/fork_deploy_instructions.gif" alt="deploy_instructions_gif" width="90%">
After the action completes, which takes a few minutes, it will show the URL to the GitHub Pages site below the `deploy_to_github_pages` job. After the workflow completes, which takes a few minutes, it will show the URL below the `deploy_to_github_pages` job.
<img src="/assets/result.png" width="70%" > <img src="/assets/result.png" width="70%" >
# Local deployment
From a local `git clone`
- Download the `debian_mini` Ext2 image from [https://github.com/leaningtech/webvm/releases/](https://github.com/leaningtech/webvm/releases/)
- You can also build your own by selecting the "Upload GitHub release" workflow option.
- Plase the image in the repository root folder.
- Edit `index.html`
- Replace the `UID`/`GID` variables with `1000`
- Replace `DEVICE_TYPE` with `"bytes"`
- Replace `IMAGE_URL` with the name of the Ext2 image. For example `"debian_mini_20230519_5022088024.ext2"`
- Start a local HTTP server
- Enjoy your local WebVM.
# Bugs and Issues # Bugs and Issues
Please use [Issues](https://github.com/leaningtech/webvm/issues) to report any bug. Please use [Issues](https://github.com/leaningtech/webvm/issues) to report any bug.
Or come to say hello / share your feedback on [Discord](https://discord.leaningtech.com). Or come to say hello / share your feedback on [Discord](https://discord.leaningtech.com).
# Browsers support
WebVM and CheerpX are compatible with any browser, both Desktop and Mobile, provided support for [SAB](https://caniuse.com/sharedarraybuffer), [IndexedDB](https://caniuse.com/indexeddb), and the device having enough memory.
# More links # More links
- [Do: WebVM](https://webvm.io) - [WebVM: server-less x86 virtual machines in the browser](https://leaningtech.com/webvm-server-less-x86-virtual-machines-in-the-browser/)
- [Read: WebVM](https://leaningtech.com/webvm-server-less-x86-virtual-machines-in-the-browser/) - [WebVM: Linux Virtualization in WebAssembly with Full Networking via Tailscale](https://leaningtech.com/webvm-virtual-machine-with-networking-via-tailscale/)
- [Read: WebVM + Tailscale networking](https://leaningtech.com/webvm-virtual-machine-with-networking-via-tailscale/) - Reference GitHub Pages deployment: [Mini.WebVM](https://mini.webvm.io)
- [Learn: WebVM](https://leaningtech.com/webvm) - [Crafting the Impossible: X86 Virtualization in the Browser with WebAssembly](https://www.youtube.com/watch?v=VqrbVycTXmw) Talk at JsNation 2022
- [Watch: WebVM at GitNation](https://www.youtube.com/watch?v=VqrbVycTXmw)
# Thanks to... # Thanks to...
This project depends on: This project depends on:
- CheerpX, made by [Leaning Technologies](https://leaningtech.com) for the virtualization part - CheerpX, made by [Leaning Technologies](https://leaningtech.com) for x86 virtualization and Linux emulation
- xterm.js, [https://xtermjs.org/](https://xtermjs.org/), for providing the Web-based terminal emulator - xterm.js, [https://xtermjs.org/](https://xtermjs.org/), for providing the Web-based terminal emulator
- [Tailscale](https://tailscale.com/) for the networking component - [Tailscale](https://tailscale.com/) for the networking component
- [lwIP](https://savannah.nongnu.org/projects/lwip/) for the TCP/IP stack, compiled to the Web by [Cheerp](https://github.com/leaningtech/cheerp-meta) - [lwIP](https://savannah.nongnu.org/projects/lwip/) for the TCP/IP stack, compiled for the Web via [Cheerp](https://github.com/leaningtech/cheerp-meta)
# License # License
Copyright (c) Leaning Technologies Limited. All rights reserved. Copyright (c) Leaning Technologies Limited. All rights reserved.

View file

@ -1,12 +1,13 @@
# Enabling networking # Enable networking
- In order to access the public internet, you will need an Exit Node. See [Tailscale Exit Nodes](https://tailscale.com/kb/1103/exit-nodes/) for detailed instructions. - In order to access the public internet, you will need an Exit Node. See [Tailscale Exit Nodes](https://tailscale.com/kb/1103/exit-nodes/) for detailed instructions.
- ***Note:*** This is not required to access machines in your own Tailscale Network. - ***Note:*** This is not required to access machines in your own Tailscale Network.
- depending on your network speed, you may need to wait a few moments for the Tailscale Wasm module to be downloaded. - Depending on your network speed, you may need to wait a few moments for the Tailscale Wasm module to be downloaded.
**When all set:** **When all set:**
- Log in with your Tailscale credentials. - Log in with your Tailscale credentials.
- Go back to the WebVM tab. `Connect to Tailscale` should be replaced by your IP address. - Go back to the WebVM tab.
- Start firing network requests! - `Connect via Tailscale` should be replaced by your IP address.
# Log in to Tailscale with an Auth key # Log in to Tailscale with an Auth key