From caece7537a7b1f89623417d57f2490276e66ab9f Mon Sep 17 00:00:00 2001 From: "DESKTOP-77LRNCU\\dsx2016" Date: Wed, 8 Jul 2026 12:48:43 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=20Pro=20=E9=A2=91=E9=81=93?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E5=B9=B6=E8=A1=A5=E5=85=85=20README=20?= =?UTF-8?q?=E7=BD=91=E7=BB=9C/IP=20=E7=AB=A0=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新频道 2 的 YouTube 密钥与抖音源站列表;完善网络诊断、IP 画像与功能开关文档。 Co-authored-by: Cursor --- README.md | 49 ++++++++++++++++++- config/relay_pro/url_config.ch_1774436412.ini | 3 +- config/youtube_channels.json | 2 +- 3 files changed, 51 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index d4c1342..0c309d9 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ Windows 桌面端 **抖音 → YouTube 无人转播** 控制台:内置 Electro - [系统架构](#系统架构) - [仓库结构](#仓库结构) - [界面与功能](#界面与功能) +- [网络诊断与 IP 画像](#网络诊断与-ip-画像) +- [功能开关](#功能开关) - [web2 API](#web2-api) - [配置与数据路径](#配置与数据路径) - [单频道与多频道 Pro](#单频道与多频道-pro) @@ -126,6 +128,9 @@ uvicorn web2:app --host 127.0.0.1 --port 8001 --reload | 多频道 | `web2_relay_pro.py` | `youtube_channels.json`、`config/relay_pro/` | | 摄像头 | `web2_camera.py`, `camera_youtube.py` | DirectShow 采集、NVENC 推流 | | 拉流 | `web2_pull_stream.py`, `pull_stream_youtube.py` | RTMP/SRT/HLS/FLV/WHEP 拉流转推 | +| IP 画像 | `web2_ip_profile.py` | 出口 IP 类型、住宅/机房判定、WebRTC 泄露联动 | +| IP 质量 | `web2_ip_quality.py` | 风险评分、流媒体解锁探测(参考 xykt/IPQuality) | +| 功能开关 | `web2_feature_flags.py`, `electron/src/shared/featureFlags.ts` | 摄像头/拉流 UI 与 API 显隐 | | youLIVE | `electron/src/youlive/` | YouTube 监听、弹幕、账号、桌面通知 | | 主进程 | `electron/src/main/` | 运行时打包、IPC、本地 DB | | 界面 | `electron/src/renderer/` | React SPA | @@ -156,6 +161,7 @@ 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 ``` @@ -174,7 +180,9 @@ uvicorn web2:app --host 127.0.0.1 --port 8001 --reload **直播** 页面向抖音无人转播业务,含 Pro 多频道、三层链路诊断、转播历史等。 -**摄像头** / **拉流** 页各自独立 UI 与工作流,不复用直播页布局;侧栏深链可直达(见下表)。 +**摄像头** / **拉流** 页各自独立 UI 与工作流,不复用直播页布局;侧栏深链可直达(见下表)。默认构建中这两项为**隐藏**状态,见 [功能开关](#功能开关)。 + +**网络** 页采用链路管线布局:源站 / 分流 / YouTube / 上行四段可视化,配合实时测速曲线、境内外带宽对比、代理设置,以及 IP 画像与 IP 质量面板(见 [网络诊断与 IP 画像](#网络诊断与-ip-画像))。 | 深链参数 | 页面 | 说明 | |----------|------|------| @@ -217,6 +225,45 @@ 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,便于精简发布包。需要时分别修改前后端开关: + +| 开关 | 文件 | 变量 | +|------|------|------| +| 后端 API / worker 发现 | `web2_feature_flags.py` | `SHOW_CAMERA_FEATURE`, `SHOW_PULL_STREAM_FEATURE` | +| 前端导航与深链 | `electron/src/shared/featureFlags.ts` | `SHOW_CAMERA_UI`, `SHOW_PULL_STREAM_UI` | + +关闭时: + +- 侧栏不显示 **摄像头** / **拉流** 入口; +- 深链 `--nav=camera` / `--nav=pull` 自动回落到 **直播** 页; +- `GET /camera/*`、`GET/POST /pull_stream/*` 返回功能已禁用提示。 + +--- + ## web2 API 默认:`http://127.0.0.1:8001`(`WEB2_PORT` 可改)。 diff --git a/config/relay_pro/url_config.ch_1774436412.ini b/config/relay_pro/url_config.ch_1774436412.ini index 5bef370..cea48af 100644 --- a/config/relay_pro/url_config.ch_1774436412.ini +++ b/config/relay_pro/url_config.ch_1774436412.ini @@ -1 +1,2 @@ -https://live.douyin.com/11664523242 \ No newline at end of file +https://live.douyin.com/510162746831,主播: 海阳市叁娃面食店 +https://live.douyin.com/622059369101,主播: 于小胖的小摊日记 diff --git a/config/youtube_channels.json b/config/youtube_channels.json index 9f14001..ba5bc70 100644 --- a/config/youtube_channels.json +++ b/config/youtube_channels.json @@ -6,7 +6,7 @@ "id": "ch_1774436412", "name": "频道 2", "douyinUrl": "", - "youtubeKey": "112313123124124124124124124df" + "youtubeKey": "3pj0-q9k7-surm-kgc0-ce3p2" }, { "id": "ch_1774436414",