windowgame / README.md
WACATW's picture
Upload README.md
e322ba9 verified
|
Raw History Blame Contribute Delete
4.06 kB
metadata
title: 云浏览器 - Cloud Browser
emoji: 🌐
colorFrom: indigo
colorTo: purple
sdk: docker
app_file: app.py
pinned: false

云浏览器 - Cloud Browser

一个基于 Hugging Face Spaces 的云浏览器应用,在服务器端运行浏览器,用户本地只需要看画面和操作,就像云电脑一样。

✨ 功能特性

  • 🌐 云端浏览器:所有网页都在服务器端加载和渲染
  • 🖱️ 点击操作:直接在画面上点击,就像操作真实浏览器
  • ⌨️ 键盘输入:点击画面后直接打字,文字输入到云端浏览器
  • 📜 滚动页面:使用鼠标滚轮在画面上滚动
  • 🎮 玩网页游戏:输入游戏网址,在云端运行,本地不占资源
  • 🎨 科技感界面:深色主题,渐变设计,现代化 UI
  • 📊 实时状态:显示当前网址、页面标题、延迟等信息

🚀 部署到 Hugging Face Spaces

方法:Docker 部署

  1. 在 Hugging Face 创建一个新的 Space,选择 Docker 作为 SDK
  2. 将本项目的所有文件上传到 Space 仓库
  3. 等待部署完成(首次部署会比较慢,需要下载浏览器)
  4. 访问你的 Space 即可使用

注意事项

  • 首次启动需要下载 Chromium 浏览器,可能需要 1-2 分钟
  • 建议使用至少 2GB 内存的 Space 配置
  • 浏览器是单实例的,所有用户共享同一个浏览器会话

💻 本地运行

# 安装依赖
pip install -r requirements.txt

# 安装浏览器
playwright install chromium
playwright install-deps chromium

# 运行
python app.py

访问 http://localhost:7860 即可使用。

⚙️ 环境变量配置

变量名 说明 默认值
PORT 服务端口 7860
VIEWPORT_WIDTH 浏览器视口宽度 1280
VIEWPORT_HEIGHT 浏览器视口高度 800
DEFAULT_URL 默认打开的网址 https://www.google.com

🎯 使用说明

访问网页

  1. 在地址栏输入网址(例如 google.com)
  2. 按回车或点击前往按钮
  3. 等待页面加载完成

点击操作

  • 直接在浏览器画面上点击
  • 点击位置会精确映射到云端浏览器

键盘输入

  1. 点击浏览器画面获得焦点
  2. 直接打字,文字会输入到云端浏览器
  3. 支持 Enter、Backspace、方向键等特殊按键

滚动页面

  • 使用鼠标滚轮在画面上滚动
  • 滚动会同步到云端浏览器

浏览器控制

  • 后退按钮:返回上一页
  • 前进按钮:前进到下一页
  • 刷新按钮:重新加载当前页面

🏗️ 技术栈

  • 后端:Flask + Playwright (Python)
  • 前端:HTML + CSS + JavaScript
  • 浏览器引擎:Chromium (Playwright 驱动)
  • 部署:Docker + Hugging Face Spaces

⚠️ 注意事项

延迟问题

  • 每次操作都需要发送请求到服务器并等待截图返回
  • 会有一定的延迟(通常 100-500ms)
  • 不适合需要快速反应的游戏

资源消耗

  • 浏览器运行会占用较多内存
  • Hugging Face Spaces 免费版可能会有限制

安全性

  • 用户可以访问任意网站
  • 所有用户共享同一个浏览器实例
  • 不建议在公共 Space 中登录重要账号

音频问题

  • 当前版本不支持音频传输
  • 网页视频和游戏没有声音

🔧 工作原理

用户操作 → 发送到服务器 → Playwright 执行 → 截图 → 返回给用户显示
  1. 服务器端运行无头 Chromium 浏览器
  2. 用户在前端点击/输入/滚动
  3. 操作通过 HTTP 请求发送到后端
  4. Playwright 在浏览器中模拟执行操作
  5. 截取当前页面截图
  6. 将截图返回给前端显示

📝 改进方向

  • 使用 WebSocket 替代 HTTP,降低延迟
  • 支持多用户隔离(每个用户独立浏览器)
  • 添加音频传输支持
  • 优化截图传输(增量更新、视频流等)
  • 添加书签/历史记录功能
  • 支持调整视口大小
  • 添加密码保护
  • 支持文件上传下载

📄 License

MIT License