Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
工具/GitHubGitHub/axlan/webvm
安全虚拟化网络安全CTF云安全学习与教育实验室与实践
GitHubaxlan/webvm

webvm

Web 虚拟机

查看仓库
78个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

WebVM

Discord server Issues

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

体验新的 Alpine / Xorg / i3 图形环境:https://webvm.io/alpine.html

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

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

目录

  • Fork、部署、自定义
  • 使用自定义 Debian mini 磁盘镜像本地运行 WebVM
  • 自定义示例:Python3 REPL
  • 如何使用 Claude AI
  • Bug 与问题
  • 更多链接
  • 致谢
  • 版本控制
  • 许可证

启用网络连接

现代浏览器不提供直接使用 TCP 或 UDP 的 API。WebVM 通过集成 Tailscale(一个支持 WebSocket 作为传输层的 VPN 网络)来提供网络支持。

  1. 从侧边栏打开“网络”面板
  2. 点击面板中的“连接到 Tailscale”
  3. 登录 Tailscale(如果没有账户,请创建一个)
  4. 当 Tailscale 提示时,点击“连接”

WebVM 现在可以访问您本地 Tailscale 网络中的机器!

万维网

如果您想访问公共互联网,则需要一个出口节点。详细说明请参阅 Tailscale 出口节点。 (根据您的网络速度,可能需要等待 Tailscale Wasm 模块下载完成。) 设置完成后:

  • 使用您的 Tailscale 凭据登录。
  • 返回 WebVM 选项卡。
  • 网络侧边栏中的“连接到 Tailscale”按钮应替换为您的 IP 地址。

使用认证密钥

作为手动登录的替代方法,您可以在 WebVM URL 末尾添加您的 tailscale 认证密钥。

https://webvm.io/#authKey=<your-key>

建议使用临时密钥。

自托管您的 tailscale 网络

我们还支持 headscale,一个自托管的开源 Tailscale 控制服务器实现。

不过,由于 headscale 不支持添加 CORS 标头,您需要设置一个代理服务器来添加它们。headscale 的相关说明可以在此处找到。

准备好后,在 nginx 配置文件的 location / 块中添加以下行:

root@kitploit:~
 if ($http_origin = "https://webvm.io") {
            add_header 'Access-Control-Allow-Origin' "$http_origin";
			add_header 'Access-Control-Allow-Credentials' 'true' always;
        }

要登录到您的 headscale 网络,请在 WebVM URL 中添加 #controlUrl=<your-control-url>。

注意:

  • 如果自托管,请将 "https://webvm.io" 替换为您自己的 URL。
  • 这等同于 tailscale 的 --login-server 命令行选项。
  • 如果与 authkey 一起使用,请不要忘记在 URL 片段之间添加 & 分隔符。

Fork、部署、自定义

部署说明动态图
  • Fork 本仓库。
  • 在设置中启用 GitHub Pages。
    • 点击 Settings。
    • 进入 Pages 部分。
    • 选择 Github Actions 作为源。
      • 如果您使用自定义域名,请确保启用了 Enforce HTTPS。
  • 运行工作流。
    • 点击 Actions。
    • 接受提示(仅需一次,用于为您的 fork 启用 Actions)。
    • 点击名为 Deploy 的工作流。
    • 点击 Run workflow,然后再次点击菜单中的 Run workflow。
  • 几秒钟后,一个新的 Deploy 工作流将开始,点击它以查看详情。
  • 工作流完成后(需要几分钟),它将在 deploy_to_github_pages 任务下方显示 URL。

您现在可以自定义 dockerfiles/debian_mini 以满足需求,或从头创建新的 Dockerfile。使用 Path to Dockerfile 工作流参数来选择它。

  • 如果您想使用我们的完整桌面 Alpine 镜像,可以在此处找到其 Dockerfile。

  • 有关创建自定义镜像的更多信息,请参阅我们的自定义磁盘镜像文档。

使用自定义 Debian mini 磁盘镜像本地运行 WebVM

1. 克隆 WebVM 仓库

root@kitploit:~
git clone https://github.com/leaningtech/webvm.git
cd webvm

2. 下载 Debian mini Ext2 镜像

运行以下命令下载 Debian mini Ext2 镜像:

root@kitploit:~
wget "https://github.com/leaningtech/webvm/releases/download/ext2_image/debian_mini_20230519_5022088024.ext2"

(您也可以通过选择 "Upload GitHub release" 工作流选项来构建自己的磁盘镜像)

3. 更新配置文件

编辑 config_public_terminal.js 以引用本地磁盘镜像:

  • 将:

    "wss://disks.webvm.io/debian_large_20230522_5044875331.ext2"

    替换为:

    "/disk-images/debian_mini_20230519_5022088024.ext2"

    (使用指向磁盘镜像位置的绝对或相对 URL。)

  • 将 "cloud" 替换为正确的磁盘镜像类型:"bytes"

4. 构建 WebVM

运行以下命令安装依赖项并构建 WebVM:

root@kitploit:~
npm install
npm run build

输出将放置在 build 目录中。

5. 配置 Nginx

  • 为磁盘镜像创建一个目录:
root@kitploit:~
mkdir disk-images
mv debian_mini_20230519_5022088024.ext2 disk-images/
  • 修改您的 nginx.conf 文件以提供磁盘镜像服务。添加以下 location 块:
root@kitploit:~
location /disk-images/ {
	root .;
	autoindex on;
}

6. 启动 Nginx

运行以下命令启动 Nginx:

root@kitploit:~
nginx -p . -c nginx.conf

Nginx 将自动提供 build 目录服务。

7. 访问 WebVM

打开浏览器并访问:http://127.0.0.1:8081。

享受您的本地 WebVM!


自定义示例:Python3 REPL

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

root@kitploit:~
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/
 # 我们设置 env,这将被 Webvm 提取。这是可选的。
 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" ]

如何使用 Claude AI

要访问 Claude AI,您需要一个 API 密钥。请按照以下步骤开始:

1. 创建账户

  • 访问 Anthropic Console 并使用您的电子邮件注册。您将收到一封登录链接到 Anthropic Console 的邮件。

2. 获取 API 密钥

  • 登录后,导航至 Get API keys。
  • 购买您需要的积分。完成购买后,您就可以通过 API 控制台生成密钥。

3. 使用您的 API 密钥登录

  • 导航到您的 WebVM,将鼠标悬停在机器人图标上。这将显示 Claude AI 集成标签。为方便起见,您可以点击右上角的固定按钮将该标签固定在原位。
  • 您将看到一个提示,可以在此插入您的 Claude API 密钥。
  • 插入您的密钥并按回车键。

4. 开始使用 Claude AI

  • 输入 API 密钥后,您就可以开始与 Claude AI 交互,例如提问:

"解决位于 /home/user/chall1.bin 的 CTF 挑战。注意,该二进制文件从标准输入读取数据。"

部署说明动态图

重要提示: 您的 API 密钥是私密的,绝不应共享。我们无法访问您的密钥,该密钥仅存储在您浏览器的本地。

Bug 与问题

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

更多链接

  • WebVM:浏览器中的无服务器 x86 虚拟机
  • WebVM:通过 Tailscale 实现完全网络功能的 WebAssembly Linux 虚拟化
  • Mini.WebVM:从 Dockerfile 到您的 Linux 盒子,通过 WebAssembly 在浏览器中虚拟化
  • 参考 GitHub Pages 部署:Mini.WebVM
  • 打造不可能:浏览器中通过 WebAssembly 实现的 x86 虚拟化 JsNation 2022 演讲

致谢

本项目依赖:

  • CheerpX,由 Leaning Technologies 开发,用于 x86 虚拟化和 Linux 模拟
  • xterm.js,https://xtermjs.org/,提供基于 Web 的终端模拟器
  • Tailscale,提供网络组件
  • lwIP,提供 TCP/IP 协议栈,通过 Cheerp 编译为 Web

版本控制

WebVM 依赖于 CheerpX x86 到 WebAssembly 虚拟化技术,该技术通过 NPM 包含在项目中。

每次发布都会更新 NPM 包。

每个构建都是不可变的,如果某个特定版本今天对您有效,它将永远有效。

许可证

WebVM 根据 Apache 许可证 2.0 版发布。

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

公开的 CheerpX 部署按 原样 提供,并 免费供 个人进行技术探索、测试和使用。任何其他组织(包括非营利组织、学术界和公共部门)的使用都需要许可证。未经商业许可,不得出于在其他地方托管的目的下载 CheerpX 构建。

了解更多关于 CheerpX 许可的信息。

如果您想在 CheerpX/WebVM 之上构建产品,请联系:[email protected]

下载工具