SmartHostsTool – 智能 Hosts 测速优化工具

项目介绍

SmartHostsTool 是一款专业的域名 IP 智能测速与 Hosts 文件优化工具,通过 高性能并发测速算法 自动筛选最优 IP 并写入系统 Hosts 文件。「智能主机测速工具」是一款帮助优化网络访问的实用工具。它能够自动获取域名的多个IP地址,测试各个IP延迟并排序,一键将最优化IP写入系统主机文件,还支持GitHub专属IP获取、自定义域名管理和可视化操作界面,让您轻松解决网络访问慢的问题。

项目截图

图片[1]-SmartHostsTool – 智能 Hosts 测速优化工具-识趣者资源

项目特点

▫️GitHub 等网站访问速度慢
▫️DNS 解析不稳定或被污染
▫️特定域名访问受限或超时
▫️需要频繁切换 IP 的场景

  • 顶部应用栏:标题 + 远程来源选择 + 核心操作按钮(刷新/测速/暂停/更多)
  • 左边配置区:三标签页面设计(远程主机 / 自定义默认 / 所有解析结果)
  • 右侧结果区:可交易测速结果列表 + 写入操作按钮
  • 底部状态栏:详细条 + 实时状态信息

详细使用指南

第一步:选择测速目标

选项A:使用远程主机(GitHub专用)

  1. 点击左边「🌐远程主机(仅限 GitHub)」标签页
  2. 在「自定义默认」中选中github.com
  3. 点击顶部「🔄刷新远程主机」按钮
  4. 等待数据获取完成(通常2-5秒)

远程 Hosts 优势

  • ✅ 无需手动解析 DNS
  • ✅ 获取 GitHub 全家桶域名(github.comgithubusercontent.comassets-cdn.github.com 等)
  • ✅ 数据来源可靠(由社区维护并定期更新)

选项 B:自定义域名解析

  1. 点击左侧 「自定义预设」 标签页
  2. 点击 「➕ 添加」 按钮,输入域名(如 google.comtwitter.com
  3. 按住 Ctrl 或 Shift 多选要测速的域名
  4. 点击 「批量解析」 按钮

自定义解析说明

  • 🔍 程序会通过 DNS 查询获取域名的所有 A 记录
  • ⚡ 使用 20 线程并发解析,速度极快
  • 📊 解析结果会显示在「🔍 所有解析结果」标签页

第二步:开始智能测速

  1. 确认左侧已有 IP 数据(远程 Hosts 或解析结果)
  2. 点击顶部 「▶ 开始测速」 按钮
  3. 观察右侧结果区域实时更新
  4. 如需中断,点击 「⏸ 暂停测速」

测速技术细节

  • 🚀 60 线程并发:同时测试多个 IP,速度快 10 倍
  • 🎯 TCP 80 端口探测:模拟真实 HTTP 访问,精准度高
  • 📏 三次取平均:每个 IP 测试 3 次取平均值,避免网络波动
  • ⏱️ 超时控制:单次测试超时 2 秒自动标记为「超时」
  • 🔄 节流排序:测速过程中每 300ms 刷新一次列表,避免卡顿

第三步:写入 Hosts 文件

方式 A:一键写入最优 IP(推荐)

  1. 测速完成后,点击底部 「一键写入最优 IP」 按钮
  2. 程序会自动为每个域名选择延迟最低的可用 IP
  3. 确认弹窗提示,等待写入完成

方式 B:手动选择 IP 写入

  1. 在右侧结果列表中,点击「选择」列的复选框
  2. 可多选不同域名的 IP 地址
  3. 点击底部 「写入选中到 Hosts」 按钮

适用场景

  • 🎯 需要为不同域名指定特定 IP
  • 🔀 测试不同 IP 的实际访问效果
  • 🛡️ 避免某些 IP 被运营商限速

第四步:刷新 DNS 缓存

写入 Hosts 后,点击顶部 「🧰 更多」 → 「🧹 刷新 DNS」 使配置立即生效。


⚙️ 高级功能

1. 远程数据源切换

点击顶部 「远程源:自动(按优先级)▾」 下拉菜单,可手动指定数据源。

2. 定时测速

点击 「🧰 更多」 → 「⏰ 定时测速设置」,配置定时自动测速:

  • 设置测速间隔(推荐 30-240 分钟)
  • 选择要测速的域名
  • 开启自动写入最优 IP
  • 支持托盘通知

3. 系统托盘

  • 最小化到托盘:关闭窗口时最小化到系统托盘而非退出
  • 快捷操作:右键托盘图标可快速测速、刷新 DNS
  • 后台运行:不占用任务栏空间

4. 测速配置

点击 「🧰 更多」 → 「⚙️ 测速配置」,自定义测速参数:

  • TCP 端口、超时时间、尝试次数
  • TLS/SNI 验证开关
  • ICMP 回退机制
  • 高级指标(抖动、稳定性)

5. 查看 Hosts 文件

点击 「🧰 更多」 → 「📄 查看 Hosts 文件」,程序会自动用系统默认编辑器打开 Hosts 文件。

模块说明

模块职责依赖
main.py程序入口,支持 GUI 模式和 writer mode(提权后写入 Hosts)ttkbootstrap, hosts_file, utils
main_window.py主窗口 UI 布局、事件处理、调用 services 完成业务逻辑ttkbootstrap, services, hosts_file, ui_visuals
about_window.py关于窗口、使用说明展开/收起ttkbootstrap, ui_visuals, utils
services.py远程 Hosts 获取、DNS 解析、TCP/TLS/ICMP 测速requests, socket, ssl, asyncio
hosts_file.pyHosts 文件读写、自动备份、回滚、DNS 刷新shutil, subprocess, codecs
config.py集中管理所有配置常量(远程源、超时、线程数等)
ui_visuals.py玻璃拟态背景绘制(渐变 + 光晕 + 噪点)Pillow(可选)
utils.py资源路径兼容 PyInstaller、管理员权限管理、原子写入ctypes, json, tempfile
tray_icon.py系统托盘图标、菜单、通知pystray, Pillow(可选)

设计亮点

  1. 分层清晰:UI 层不直接操作系统文件,通过 hosts_file.py 封装
  2. 模块解耦:services.py 不依赖 tkinter/ttkbootstrap,可独立测试
  3. 可配置性:所有配置集中在 config.py,便于后期扩展
  4. 兼容性:utils.py 提供资源路径兼容 PyInstaller
  5. 容错性:Pillow 不可用时自动降级为纯色背景
SmartHostsTool – 智能 Hosts 测速优化工具-识趣者资源
SmartHostsTool – 智能 Hosts 测速优化工具
此内容为免费资源,请登录后查看
积分
免费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞15赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片快捷回复

    暂无评论内容