# rust-browser **Repository Path**: iamycb/rust-browser ## Basic Information - **Project Name**: rust-browser - **Description**: rust-browser - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-05 - **Last Updated**: 2025-10-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Rust Browser 一个基于 Rust 和 Tauri 构建的轻量级桌面浏览器,具有多标签页、历史记录管理等现代浏览器功能。 ## ✨ 功能特性 ### 🌐 核心浏览功能 - **多标签页管理** - 支持同时打开多个网页标签 - **地址栏导航** - 输入 URL 或搜索关键词直接访问 - **前进/后退** - 独立的浏览历史记录 - **页面刷新** - 重新加载当前页面 - **主页按钮** - 快速返回 Google 首页 ### 🖱️ 智能链接处理 - **普通点击** - 在当前标签页打开链接 - **Ctrl/Cmd + 点击** - 在新标签页打开链接 - **鼠标中键点击** - 在新标签页打开链接 - **target="_blank" 链接** - 自动在新标签页打开 ### 📊 标签页管理 - **创建标签页** - 点击 "+" 按钮新建标签 - **关闭标签页** - 点击标签上的 "×" 关闭 - **切换标签页** - 点击标签即可切换 - **显示页面标题** - 自动获取并显示网页标题 - **独立历史记录** - 每个标签页有独立的浏览历史 ### 🔍 搜索功能 - 在地址栏输入关键词自动使用 Google 搜索 - 智能识别 URL 和搜索词 ## 🚀 快速开始 ### 前置要求 在开始之前,请确保已安装以下工具: #### 1. 安装 Rust ```bash # Windows / Linux / macOS curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` 安装完成后,重启终端并验证: ```bash rustc --version cargo --version ``` #### 2. 安装 Tauri CLI ```bash cargo install tauri-cli --version "^2.0.0" ``` #### 3. 系统依赖 **Windows:** - 需要安装 [Microsoft Edge WebView2](https://developer.microsoft.com/en-us/microsoft-edge/webview2/)(Windows 10/11 通常已预装) **Linux (Ubuntu/Debian):** ```bash sudo apt update sudo apt install libwebkit2gtk-4.1-dev \ build-essential \ curl \ wget \ file \ libssl-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev ``` **macOS:** ```bash xcode-select --install ``` ### 📦 安装与运行 #### 1. 克隆项目 ```bash git clone https://github.com/yourusername/rust-browser.git cd rust-browser ``` #### 2. 项目结构 ``` rust-browser/ ├── Cargo.toml # Workspace 配置 ├── src-tauri/ │ ├── Cargo.toml # Rust 依赖配置 │ ├── build.rs # 构建脚本 │ ├── tauri.conf.json # Tauri 配置 │ ├── icons/ # 应用图标 │ ├── capabilities/ # 权限配置 │ │ └── default.json │ └── src/ │ └── main.rs # Rust 主程序 └── ui/ └── index.html # 前端界面 ``` #### 3. 生成图标(首次运行必需) ```bash cd src-tauri cargo tauri icon path/to/your-icon.png ``` 或使用 Tauri 生成默认图标: ```bash cargo tauri icon ``` #### 4. 开发模式运行 ```bash # 从项目根目录或 src-tauri 目录执行 cargo tauri dev ``` #### 5. 构建生产版本 ```bash cargo tauri build ``` 构建完成后,可执行文件位于: - **Windows**: `src-tauri/target/release/rust-browser.exe` - **Linux**: `src-tauri/target/release/rust-browser` - **macOS**: `src-tauri/target/release/bundle/macos/Rust Browser.app` ## 🎮 使用指南 ### 基本操作 1. **输入网址** - 在地址栏输入完整 URL(如 `https://www.google.com`) - 或直接输入域名(如 `google.com`),会自动添加 `https://` - 按 `Enter` 或点击"访问"按钮 2. **搜索内容** - 在地址栏输入搜索关键词(不含 `.` 的文本) - 自动使用 Google 搜索 3. **新建标签页** - 点击标签栏右侧的 "+" 按钮 - 默认打开 Google 首页 4. **导航控制** - 点击 `←` 按钮后退到上一页 - 点击 `→` 按钮前进到下一页 - 点击 `⟳` 按钮刷新当前页面 - 点击 `🏠` 按钮返回主页 ### 键盘快捷键 | 快捷键 | 功能 | |--------|------| | `Enter` | 访问地址栏中的 URL | | `Ctrl/Cmd + Click` | 在新标签页打开链接 | | `中键点击` | 在新标签页打开链接 | ## 🛠️ 技术栈 - **后端**: Rust + Tauri v2 - **前端**: 原生 HTML/CSS/JavaScript - **WebView**: 系统原生 WebView - Windows: WebView2 (Edge) - macOS: WKWebView (Safari) - Linux: WebKitGTK ## ⚙️ 配置说明 ### Tauri 配置文件 (`src-tauri/tauri.conf.json`) ```json { "productName": "Rust Browser", "version": "0.1.0", "identifier": "com.rustbrowser.app", "build": { "frontendDist": "../ui" }, "app": { "windows": [ { "title": "Rust Browser", "width": 1200, "height": 800 } ] } } ``` ### 权限配置 (`src-tauri/capabilities/default.json`) 控制浏览器的权限,当前配置为最小权限原则。 ## 🐛 故障排除 ### 问题 1: 编译错误 "icon not found" **解决方案**: 运行 `cargo tauri icon` 生成默认图标 ### 问题 2: 点击链接打开系统浏览器 **解决方案**: - 确保 `src-tauri/capabilities/default.json` 中没有 shell 权限 - 检查 iframe sandbox 配置是否正确 ### 问题 3: 某些网站无法加载 **原因**: 某些网站禁止在 iframe 中加载(X-Frame-Options) **解决方案**: 这是网站的安全策略,目前无法绕过 ### 问题 4: 跨域链接无法拦截 **原因**: 浏览器同源策略限制 **解决方案**: 这是正常现象,跨域页面的链接会按原生方式处理 ## 📝 开发计划 - [ ] 书签管理功能 - [ ] 历史记录查看 - [ ] 下载管理器 - [ ] 页面截图功能 - [ ] 隐私模式 - [ ] 扩展插件支持 - [ ] 自定义主题 - [ ] 密码管理器 - [ ] 开发者工具集成 ## 🤝 贡献指南 欢迎贡献!请遵循以下步骤: 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 ## 👨‍💻 作者 您的名字 - [@yourhandle](https://github.com/yourusername) ## 🙏 致谢 - [Tauri](https://tauri.app/) - 跨平台应用框架 - [Rust](https://www.rust-lang.org/) - 系统编程语言 - 所有贡献者和支持者 ## 📞 联系方式 - 项目链接: [https://github.com/yourusername/rust-browser](https://github.com/yourusername/rust-browser) - 问题反馈: [Issues](https://github.com/yourusername/rust-browser/issues) --- ⭐ 如果这个项目对你有帮助,请给个 Star!