📈 GH Trending Explorer 🎲 Surprise me

← all repos

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