整理 README:合并重复章节,补充网络诊断、IP 画像与功能开关说明。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-08 12:49:35 +08:00
parent caece7537a
commit 1287b72193

View File

@@ -17,7 +17,6 @@ Windows 桌面端 **抖音 → YouTube 无人转播** 控制台:内置 Electro
- [系统架构](#系统架构)
- [仓库结构](#仓库结构)
- [界面与功能](#界面与功能)
- [网络诊断与 IP 画像](#网络诊断与-ip-画像)
- [功能开关](#功能开关)
- [web2 API](#web2-api)
- [配置与数据路径](#配置与数据路径)
@@ -161,7 +160,6 @@ uvicorn web2:app --host 127.0.0.1 --port 8001 --reload
├── pull_stream_youtube.py # 外部拉流→YouTube worker
├── douyin_youtube_ffplay.py # 抖音→YouTube 转播
├── youtube2.py # YouTube worker
├── third_party/IPQuality/ # IP 质量检测参考脚本ip.sh
├── docs/ # 补充文档
└── requirements.txt
```
@@ -182,7 +180,7 @@ uvicorn web2:app --host 127.0.0.1 --port 8001 --reload
**摄像头** / **拉流** 页各自独立 UI 与工作流,不复用直播页布局;侧栏深链可直达(见下表)。默认构建中这两项为**隐藏**状态,见 [功能开关](#功能开关)。
**网络** 页采用链路管线布局:源站 / 分流 / YouTube / 上行四段可视化,配合实时测速曲线、境内外带宽对比、代理设置,以及 IP 画像与 IP 质量面板(见 [网络诊断 IP 画像](#网络诊断-ip-画像))。
**网络** 页采用链路管线布局:源站 / 分流 / YouTube / 上行四段可视化,配合实时测速曲线、境内外带宽对比、代理设置,以及 IP 画像与 IP 质量面板(见 [网络诊断 / IP 画像 / 代理](#网络诊断--ip-画像--代理))。
| 深链参数 | 页面 | 说明 |
|----------|------|------|
@@ -225,28 +223,6 @@ uvicorn web2:app --host 127.0.0.1 --port 8001 --reload
---
## 网络诊断与 IP 画像
**网络** 页在原有测速与代理基础上,新增出口画像与质量评估,帮助在推流前判断代理/VPN/机房 IP 是否适合 YouTube 转播。
| 能力 | 说明 |
|------|------|
| **链路管线** | 四段状态条:抖音源站可达性 → 分流路径 → Google/YouTube 延迟 → 上行带宽 |
| **测速曲线** | 境内外下载/上传 Mbps 实时采样与历史折线 |
| **IP 画像** | 本机默认出口与代理后海外出口对比ISP、ASN、住宅/机房/代理类型、洁净度评分 |
| **WebRTC 泄露** | 渲染进程轻量 STUN 探测本地私网候选,结果上报 `ip_profile` 参与评分 |
| **IP 质量** | 多源风险评分ipinfo、ipapi.is 等)、代理/VPN/Tor/机房因子、YouTube/TikTok/Netflix 等媒体解锁状态 |
| **代理设置** | FFmpeg 代理开关与 HTTP/SOCKS 地址,写入 `config/ffmpeg_proxy.ini` |
后端模块:
- `web2_ip_profile.py`:数据源 ip-api.com、ping0.cc、ipify
- `web2_ip_quality.py`Python 化集成 [xykt/IPQuality](https://github.com/xykt/IPQuality) 思路;参考脚本见 `third_party/IPQuality/ip.sh`
> IP 检测依赖外部公开 API结果仅供参考不构成安全或合规保证。
---
## 功能开关
摄像头直推与外部拉流转推在代码中完整保留,但**默认关闭** UI 与相关 API便于精简发布包。需要时分别修改前后端开关
@@ -260,7 +236,8 @@ uvicorn web2:app --host 127.0.0.1 --port 8001 --reload
- 侧栏不显示 **摄像头** / **拉流** 入口;
- 深链 `--nav=camera` / `--nav=pull` 自动回落到 **直播** 页;
- `GET /camera/*``GET/POST /pull_stream/*` 返回功能已禁用提示
- `GET /camera/*``GET/POST /pull_stream/*` 返回功能已禁用提示
- PM2 / 进程发现列表忽略 `camera_*``pull_stream_*` worker。
---
@@ -391,6 +368,8 @@ Electron 主进程自动注入 API 鉴权头。
`GET/POST /proxy_config` 读写 `config/ffmpeg_proxy.ini`,供 `youtube2` 等 worker 拉流时使用,与 Windows 系统代理设置独立。
> IP 检测依赖外部公开 API结果仅供参考不构成安全或合规保证。
---
## 推流诊断 / 质量守卫 / 转播历史
@@ -504,19 +483,6 @@ Electron 主进程自动注入 API 鉴权头。
---
## 功能开关
摄像头直推与外部拉流转推默认**关闭**(导航隐藏、相关 API 返回 404、PM2 忽略对应 worker以降低首屏复杂度。需要时分别修改
| 位置 | 常量 | 默认 |
|------|------|------|
| `electron/src/shared/featureFlags.ts` | `SHOW_CAMERA_UI``SHOW_PULL_STREAM_UI` | `false` |
| `web2_feature_flags.py` | `SHOW_CAMERA_FEATURE``SHOW_PULL_STREAM_FEATURE` | `False` |
前后端开关需保持一致。深链 `--nav=camera` / `--nav=pull` 在关闭时会回落到 **直播** 页。
---
## 开发与构建
| 组件 | 版本 |
@@ -575,6 +541,7 @@ pnpm dist
| Google 不可达 / 分流未生效 | **网络** 页查看链路快检;配置 TUN/规则代理;填写 FFmpeg 代理 |
| IP 画像显示机房/代理 | 更换住宅出口或调整代理节点;关注 WebRTC 泄露提示 |
| IP 质量检测超时 | 外网 API 偶发慢;稍后刷新;检查本机防火墙 |
| 摄像头/拉流入口不见 | 默认功能开关为关,见 [功能开关](#功能开关) |
| 配置误改 | 直播页 **历史备份**`POST /config/restore` |
日志: