Project Icon

webvm

浏览器内运行的无服务器 Linux 虚拟环境

WebVM 是一个基于 HTML5 和 WebAssembly 技术的客户端虚拟环境,能在浏览器中运行完整的 Debian 系统。它利用 CheerpX 虚拟化引擎,集成了 x86 到 WebAssembly 的即时编译、虚拟文件系统和 Linux 系统调用模拟。WebVM 通过 Tailscale 实现网络连接,并支持用户自定义部署,打造个性化的浏览器端 Linux 环境。

WebVM

Discord 服务器 问题

本仓库托管了 https://webvm.io 的源代码,这是一个在浏览器中运行的 Linux 虚拟机。

WebVM 是一个完全在客户端运行的无服务器虚拟环境,基于 HTML5/WebAssembly。它设计为与 Linux ABI 兼容。它运行未经修改的 Debian 发行版,包括许多原生开发工具链。

WebVM 由 CheerpX 虚拟化引擎驱动,可以在任何浏览器上安全、沙盒化地执行 x86 二进制文件。CheerpX 包括一个 x86 到 WebAssembly 的 JIT 编译器、一个虚拟块式文件系统和一个 Linux 系统调用模拟器。

启用网络

  • 点击页面顶部的"通过 Tailscale 连接"。
  • 登录 Tailscale(如果没有账户,请创建一个)。
  • 如果您不熟悉 Tailscale 或需要更多信息,请参阅 WebVM 和 Tailscale

分叉、部署、自定义

deploy_instructions_gif
  • 分叉仓库。
  • 在设置中启用 Github Pages。
    • 点击"Settings"。
    • 转到"Pages"部分。
    • 选择"Github Actions"作为源。
      • 如果您使用自定义域名,请确保启用"Enforce HTTPS"。
  • 运行工作流程。
    • 点击"Actions"。
    • 接受提示。这只需要执行一次,以启用分叉的 Actions。
    • 点击名为"Deploy"的工作流程。
    • 点击"Run workflow",然后在菜单中再次点击"Run workflow"。
  • 几秒钟后,新的"Deploy"工作流程将开始,点击它查看详情。
  • 工作流程完成后(需要几分钟),它将在"deploy_to_github_pages"作业下显示 URL。

现在您可以根据需要自定义 dockerfiles/debian_mini,或者从头开始创建新的 Dockerfile。使用"Path to Dockerfile"工作流程参数来选择它。

本地部署

从本地 git clone

  • https://github.com/leaningtech/webvm/releases/ 下载 debian_mini Ext2 镜像。
    • 您也可以通过选择"Upload GitHub release"工作流程选项来构建自己的镜像。
    • 将镜像放在仓库根目录。
  • 编辑 index.html
    • 取消注释 CMDARGSENVCWD 的默认值。
    • DEVICE_TYPE 替换为 "bytes"
    • IMAGE_URL 替换为 Ext2 镜像的名称。例如 "debian_mini_20230519_5022088024.ext2"
  • 启动本地 HTTP 服务器。
  • 享受您的本地 WebVM。

自定义示例:Python3 REPL

"Deploy"工作流程会考虑 Dockerfile 中指定的 CMD。要构建 REPL,您只需应用此补丁并部署。

diff --git a/dockerfiles/debian_mini b/dockerfiles/debian_mini
index 2878332..1f3103a 100644
--- a/dockerfiles/debian_mini
+++ b/dockerfiles/debian_mini
@@ -15,4 +15,4 @@ WORKDIR /home/user/
 # We set env, as this gets extracted by Webvm. This is optional.
 ENV HOME="/home/user" TERM="xterm" USER="user" SHELL="/bin/bash" EDITOR="vim" LANG="en_US.UTF-8" LC_ALL="C"
 RUN echo 'root:password' | chpasswd
-CMD [ "/bin/bash" ]
+CMD [ "/usr/bin/python3" ]

错误和问题

请使用 Issues 报告任何错误。 或者来 Discord 打个招呼/分享您的反馈。

更多链接

感谢...

本项目依赖于:

版本控制

WebVM 依赖于 CheerpX x86 到 WebAssembly 虚拟化技术。当前最新构建的链接始终可在 https://cheerpxdemos.leaningtech.com/publicdeploy/LATEST.txt 获取。CheerpX 的构建是不可变的,并且有唯一的版本。示例链接如下:

https://cheerpxdemos.leaningtech.com/publicdeploy/20230517_94/cx.js

我们强烈建议用户不要使用最新构建。请直接使用特定的构建,以避免意外的回归。由于构建是不可变的,如果它们现在对您有用,它们将永远保持有用。

许可证

WebVM 根据 Apache License, Version 2.0 发布。

欢迎使用、修改和重新分发本仓库的内容。

公共 CheerpX 部署按原样提供,可免费用于技术探索、测试和非商业用途。不允许下载 CheerpX 构建以在其他地方托管。

如果您想基于 CheerpX/WebVM 构建产品,请联系:sales@leaningtech.com

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号