# access-github **Repository Path**: hihuzi/access-github ## Basic Information - **Project Name**: access-github - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-07 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Hosts 管理器 用 Rust 编写的高性能、安全的 hosts 文件管理工具。轻松管理 GitHub hosts 以提升访问速度。 ## 功能特性 - 🚀 从远程源获取最新 hosts - 🛡️ 修改前自动备份 - 🔄 轻松恢复和回滚 - 🎨 彩色 CLI 输出 - ⚡ 快速轻量 - 🔒 安全可靠 - 📱 跨平台支持(Linux、macOS、Windows) ## 安装 ### 从源码安装 1. 克隆或下载本仓库 2. 构建项目: ```bash cargo build --release ``` 3. 运行安装脚本(需要 sudo 权限): ```bash sudo ./install.sh ``` ### 手动安装 或者手动复制二进制文件: ```bash sudo cp target/release/hosts_manager /usr/local/bin/hosts sudo chmod +x /usr/local/bin/hosts ``` ## 使用方法 除 `fetch` 和 `status` 外,所有命令都需要 root 权限: ### 获取远程 Hosts 查看最新的远程 hosts 但不应用: ```bash sudo hosts fetch ``` ### 应用 Hosts 到系统 获取并应用最新的 hosts 到系统(自动创建备份): ```bash sudo hosts apply ``` ### 手动创建备份 备份当前的 hosts 文件: ```bash sudo hosts backup ``` ### 从备份恢复 从最新备份恢复: ```bash sudo hosts restore ``` 从指定备份恢复: ```bash sudo hosts restore hosts_backup_20240101_120000.txt ``` ### 列出所有备份 查看所有可用备份: ```bash hosts list ``` ### 显示状态 显示当前状态和配置: ```bash hosts status ``` ### 清理旧备份 仅保留最新的 N 个备份(默认:5): ```bash hosts clean ``` 保留最新 10 个备份: ```bash hosts clean -k 10 ``` ## 卸载 运行卸载脚本: ```bash sudo ./uninstall.sh ``` 或手动删除: ```bash sudo rm /usr/local/bin/hosts rm -rf ~/.hosts_manager_backups/ ``` ## 刷新 DNS 缓存 应用或恢复 hosts 后,请刷新 DNS 缓存: ### Linux ```bash sudo systemd-resolve --flush-caches # 或 sudo service dnsmasq restart ``` ### macOS ```bash sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder ``` ### Windows ```cmd ipconfig /flushdns ``` ## 项目结构 ``` hosts-manager/ ├── src/ │ └── main.rs # 主程序代码 ├── Cargo.toml # Rust 依赖配置 ├── install.sh # 安装脚本 ├── uninstall.sh # 卸载脚本 └── README.md # 本文件 ``` ## 依赖项 - **clap** - CLI 参数解析 - **reqwest** - HTTP 客户端(使用 rustls 提供 SSL) - **tokio** - 异步运行时 - **anyhow** - 错误处理 - **chrono** - 日期/时间工具 - **dirs** - 目录解析 - **colored** - 终端颜色 ## 技术亮点 - 使用 Rust 编写,确保内存安全和性能 - 使用 rustls 而非 OpenSSL,安全性更佳 - 任何修改前自动备份 - IP 地址验证 - 跨平台支持 - 清晰区分系统 hosts 和自定义条目 ## 许可证 MIT License ## 数据来源 Hosts 数据获取自:https://github.com/ineo6/hosts