shuma12303 / ip-optimizer
git clone https://github.com/shuma12303/ip-optimizer.git
v1.5 · 3d ago
数码解码 IP 优选器 —— Cloudflare IP 自动获取 / 三级测速 / 综合评分排名 / 稳定性复测(Windows 桌面版,免安装 exe 见 Releases)
—
stars, 24h
—
stars, 7 days
+170
stars, 30 days · #1,463
170
★ total
47
forks · 0 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguagePython
License—
Created2026-09-27 (23d ago)
Last push3d ago
Watchers0
OwnerUser
Links
README excerpt
# 数码解码 IP 优选器 V1.4 一个 Windows 桌面版的 IP 优选测速工具(Python + PySide6)。 > ### 📥 不想装 Python?直接下载 exe(免安装) > > 到 **Releases 页面** > 下载 **`IP-Optimizer-V1.4.2.exe`**(约 36 MB,Windows 10 / 11 64 位)。 > **双击即用,不需要安装 Python、不需要 `pip install`。** > 运行后的日志与导出结果在 **exe 同级**的 `logs\` 与 `output\` 目录里。 > 完整说明见 第 16 章 下载可执行文件(免安装版)。 当前已包含的功能(自动获取 IP + 三级测速 + 综合评分排名 + 稳定性复测): > TXT / 粘贴 / **自动获取 Cloudflare IP** → IP 验证 → **TCP 测速 → HTTP 测速 → 下载测速** → 并发测速 → **综合评分排名(TOP100 / 筛选)** → **稳定性复测(多轮重测)** → 界面显示结果 → 一键复制 / 导出 → 支持中途停止 V1.1 新增:**自动获取更多 IP**——软件自动请求 Cloudflare 官方公开 IPv4 网段(CIDR), 从网段中随机抽取候选 IP(不会遍历整个网段),自动去重、过滤后加入当前 IP 列表。 V1.2 新增:**TCP → HTTP → 下载 三级测速流程**—— 1. TCP 443 握手测延迟(V1.1 已有); 2. TCP 通过后发起 HTTPS 请求,测 HTTP 状态码与响应延迟; 3. HTTP 通过后下载固定大小数据(默认 1 MB),统计下载速度。 三个阶段逐级瀑布:**前一级失败,后面的阶段自动跳过**,不浪费流量与时间。 V1.3 新增:**综合评分 / 排名 / 筛选 / 一键复制 / 导出**—— 测速结束后所有成功 IP 得到 0~100 的综合评分并按评分排名,可筛选最低速度与最大延迟、 只看 TOP10/20/50/100,一键复制或导出 TXT / CSV。 V1.4 新增:**稳定性复测**——对 V1.3 排名中的 TOP IP **重复测试多轮**(默认 5 轮), 统计成功率与波动(变异系数 CV),算出每个 IP 的**稳定性评分**与**最终评分**: [code] 复测后表格按最终评分重新排名,**「一次快、多次抖」的 IP 会被排到后面**, 稳定可用的 IP 排到前面;V1.3 的评分与排名完全保留(表格里仍能看到)。 --- ## 1. 项目介绍 | 项目 | 说明 | | --- | --- | | 名称 | 数码解码 IP 优选器 V1.4 | | 类型 | Windows 桌面软件(GUI) | | 用途 | 批量导入 IP,通过 TCP → HTTP → 下载 三级测速 + 稳定性复测找出又快又稳的 IP | | 测速方式 | 三级流水:TCP 握手(默认 443 / 1000ms)→ HTTPS 连通(默认 3000ms)→ 下载 1MB(默认 10000ms) | | 并发方式 | asyncio 异步并发,默认并发 50,最多 500 | | 数据存储 | 不联网上传、不使用数据库、不收集个人信息 | 第一阶段**不使用**:MySQL、Redis、Docker、Web 服务器、用户系统、账号登录、会员系统。 所有功能都在本机运行,不会修改系统网络设置、不会修改 DNS。 --- ## 2. Python 版本要求 - Python **3.12 或更高版本**(3.12 / 3.13 均可) - Windows 10 / Windows 11 检查是否安装成功(在终端执行): [code] 正常应输出:`Python 3.12.x` > ⚠️ 如果提示「不是内部或外部命令」,或者显示的是 Windows 应用商店的提示, > 说明没有安装真正的 Python,请到 > 下载并安装(安装时务必勾选 **Add python.exe to PATH**)。 --- ## 3. 安装方法 ### 3.1 安装 Python 1. 打开官网 2. 下载 Python 3.12 的 `Windows installer (64-bit)` 3. 安装时勾选 **Add python.exe to PATH** 4. 安装完成后**重新打开终端**,执行 `python --version` 验证 ### 3.2 安装依赖 在项目根目录(也就是本 README 所在的目录)打开终端,执行: [code] > 建议(可选)先创建虚拟环境: > [code] --- ## 4. requirements.txt 说明 第一阶段只安装一个第三方依赖: | 依赖 | 用途 | | --- | --- | | `PySide6` | 桌面界面(GUI) | > **下载太慢怎么办?** > 完整的 `PySide6` 安装包约 250MB(包含大量本项目用不到的高级模块)。 > 如果下载很慢或经常中断,可以把 `requirements.txt` 里的 `PySide6>=6.6.0` > 换成官方精简版 `PySide6-Essentials>=6.6.0`(约 80MB): > [code] > 两者的导入方式完全一样(都是 `from PySide6.QtWidgets import ...`),本项目都能正常运行。 其余功能全部使用 **Python 标准库**,不需要额外安装: - `asyncio`:异步并发 - `socket`:TCP 连接测试 - `ipaddress`:IP 地址验证 - `urllib.request`:请求 Cloudflare 官方 API(自动使用系统代理) - `logging`:日志 - `pathlib`:跨平台路径处理 - `unittest`:单元测试 --- ## 5. 如何运行 ### 方式一:双击(最简单) 直接双击项目根目录下的 **`run.bat`** 即可启动。 ### 方式二:命令行 在项目根目录执行: [code] 程序启动后: 1. 日志会写入 `logs/app.log` 2. 主窗口标题为「数码解码 IP 优选器 V1.2」 > 想快速体验,可以在 **IP 来源** 区域点击【选择IP文件】, > 选中项目里的示例文件 **`sample_ips.txt`**,再点【导入IP】即可。 > 这个示例文件里故意混入了非法 IP、私有 IP、回环地址、IPv6 和重复行, > 用来演示程序的自动过滤与统计功能。 ### 在 VS Code 中运行(推荐给初学者) 1. 用 VS Code 打开**项目根目录**(也就是本 README 所在目录) 2. 安装 VS Code 扩展:**Python**(Microsoft 出品) 3. 按 `Ctrl + Shift + P`,输入并选择 **Python: Select Inte