zengyufei/Hostly

GitHub: zengyufei/Hostly

基于 Tauri v2 + Rust 的超轻量跨平台 Hosts 管理工具,支持 GUI/CLI 双模式和远程订阅自动更新。

Stars: 29 | Forks: 6

# Hostly **语言**:English | [中文简体](./README_zh.md) ### Hostly (极简 Hosts 切换器) 一款基于 **Tauri v2 + Rust** 构建的**超轻量**、高性能 Hosts 管理工具。通过移除前端框架(迁移至 Vanilla JS),我们将体积与性能推向了极致。

Hostly Main Interface

## ✨ 核心特性 - 🚀 **极速**:基于 **JS + Native CSS** 构建。单文件应用体积仅 **~1MB**,毫秒级冷启动。 - 🎨 **现代化 UI 与个性化**:支持**侧边栏拖拽调整宽度**,内置**亮色/暗色**主题,以及**窗口大小记忆**。 - ⚡ **优化的启动体验**:针对多种系统环境优化了启动性能与视觉效果。 - 🔔 **非侵入式反馈**:内置轻量级 Toast 通知系统 —— 告别干扰性的确认对话框。 - 🛡️ **智能权限提升**:自动检测管理员权限并按需提升,支持直接编辑系统 Hosts 文件。 - ⚙️ **双模式运行**:完全支持 **GUI** 可视化操作与专业 **CLI** 命令行调用。 - 🤖 **无头 CLI**:提供独立的 `hostly-core` 二进制文件,专为服务器/CI 环境设计,无 GUI 依赖。 - 🔄 **迁移支持**:支持导入 **SwitchHosts** 配置,实现无缝迁移。 - ☁️ **远程订阅**:支持添加远程 Hosts 源 (HTTP/HTTPS),通过后台调度器静默自动更新。 - 🍎 **通用架构支持**:构建支持 **macOS** (Intel & Apple Silicon),以及 Windows 和 Linux。 - 🔌 **数据可移植性**:支持将完整配置导入/导出为文本文件。 ## 🧩 功能详解 - **UI 交互**: - **拖拽调整大小**:拖动左侧分隔线以自定义侧边栏宽度;应用会记住您的偏好。 - **主题跟随**:启动时自动应用系统或上次使用的主题,带来流畅的视觉体验。 - **侧边栏布局**:统一管理“系统备份”、“公共配置”和“自定义环境”。 - **多模式支持**: - **单选模式**:互斥切换,保持 Hosts 整洁。 - **多选模式**:可同时叠加并激活多个环境。 - **命令行 (CLI)**:完整的子命令支持,提供两种模式: - `hostly`:随 GUI 发行,适合桌面用户,支持 `open/list/export` 等命令。 - `hostly-core`:**纯 CLI 版本**,体积更小,无 GUI 依赖,是自动化脚本的理想选择。 - **远程配置与自动更新**: - **订阅**:添加 URL 以订阅远程配置,支持自定义更新间隔(默认:1 小时)。 - **交互式状态栏**:当选中远程配置时,底部状态栏显示实时更新状态,并提供一键强制刷新按钮。 - **后台调度**:内置智能调度器(启动 5 秒后激活)在后台静默执行更新,不阻塞 UI。

Hostly Main Interface

Hostly Main Interface

Hostly Main Interface

## 🚀 快速开始 ### 构建与运行 ``` # 克隆项目后 npm install # 进入开发模式 npm run tauri dev # 构建发布包(输出在 src-tauri/target/release/) npm run tauri build ``` ### 常用 CLI 命令 您可以使用 `hostly` 或 `hostly-core` 运行以下命令: | 命令 | 描述 | 示例 | | :--- | :--- | :--- | | `list` | 列出所有配置及其状态 | `hostly list` | | `open` | 激活一个或多个环境 | `hostly open --names Dev Test --multi` | | `close` | 停用指定环境 | `hostly close --names Dev` | | `multi / single` | 切换全局选择模式 | `hostly multi` | | `export` | 导出配置或备份 | `hostly export --target global.json` | | `import` | 导入配置或备份 | `hostly import --target`    global.json   single.txt   或 http/https URL | | `migration` | 迁移 SwitchHosts 备份 | `hostly migration --target swV4_backup.json` | ## 🛠️ 常见问题 **Q: 为什么生成的应用这么小?** **Q: 推荐下载哪个版本?** ⚠️ **macOS 用户注意**:如果您看到“app is damaged and can't be opened”(应用已损坏,无法打开),这是由于未签名应用的安全限制。请在终端运行以下命令进行修复: **Q: 双击无法打开或提示权限错误?** **Q: 在 macOS 或 Linux 上提示“Permission Denied”(权限被拒绝)?** **Q: 为什么运行 CLI 命令后会短暂弹出一个新窗口然后关闭?** **Q: 如何迁移我的 SwitchHosts 备份?** ## 📄 许可证 MIT
标签:CSV导出, GUI/CLI 双模式, Hosts 切换, Hosts 管理, IP 地址批量处理, LangChain, Rust, SwitchHosts 替代, Tauri v2, Windows 工具, 可视化界面, 开发辅助, 数据导入导出, 极简 UI, 桌面应用, 环境切换, 系统备份, 网络流量审计, 网络配置, 自动提权, 轻量级, 远程订阅, 通知系统