MemRelay-Operation: checkpoint-save:rapt-checkpoint-httpx-proxy-20260927 MemRelay-Resource: 88cf5ef2-f89e-4270-8dda-d1743b3facf1
2.3 KiB
title, type, permalink, stable_id, scope, memory_type, project_id, usage_profile_id, status, revision, request_id, created_at, updated_at, tags
| title | type | permalink | stable_id | scope | memory_type | project_id | usage_profile_id | status | revision | request_id | created_at | updated_at | tags | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Checkpoint 2026-09-26 18:30:04 UTC [1f4ac8f6d5] | checkpoint | main/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/checkpoint-2026-09-26-18-30-04-utc-1f4ac8f6d5 | 88cf5ef2-f89e-4270-8dda-d1743b3facf1 | project | checkpoint | 280dd2a0-d23d-4a71-91e1-dce4353163be | 0c9feb46-d06e-43cd-9ef0-c5813c84a998 | active | 1 | rapt-checkpoint-httpx-proxy-20260927 | 2026-09-26T18:30:04.177958+00:00 | 2026-09-26T18:30:04.177958+00:00 |
|
完成:对外 HTTP 从 urllib 改为 httpx.Client;代理三种模式;登录页右下角齿轮按钮;设置弹窗用 n-tabs 分「设备信息」和「代理」两页,底部共用保存。 原因:统一对外客户端,并让代理跟随本机设置生效,且设备信息和代理不放在同一屏。 关键实现:rapt_scraper.configure_proxy / http_client_kwargs;不使用时 trust_env=False;系统代理来自 urllib.request.getproxies();自定义 HTTP 为 http://,SOCKS5 为 socks5h://。server/requirements.txt 为 httpx[socks],已从 server/.venv 卸掉 PySocks。设置存 localStorage 键 rapt-device-settings,打开页面 POST /api/proxy。登录后 use_device 绑定 token。ADB 从设备读取时只覆盖指纹和语言。 验证:小脚本确认关闭代理时 trust_env 为 False、缺地址报错、http 与 socks5 能组出代理参数并构造 Client(未真连外网)。ui 目录 vue-tsc --noEmit 通过。浏览器打开 http://127.0.0.1:52202/ :右下角齿轮,悬停提示「设置」;两页可切换且同一屏看不到另一页字段;自定义可选 HTTP/SOCKS5 和地址端口;空地址保存显示「请填写代理地址」且弹窗不关闭。设备页内容超出时在页内滚动,取消和保存仍在底部。浏览器已解锁。 问题:没有用真实外网代理做连通测试。 下一步:若要加快大量 ts 下载,再单独把同步 download_episode 改成 httpx.AsyncClient 并发约 8–16。不要继续抓包界面,不要调 /app/open/foryou。 给下个会话:Tauri 当前在跑 npm run tauri dev,地址 http://127.0.0.1:52202/。未提交。下载仍是同步 Client。swagger/serve.py 仍用 urllib,它不是对外 API 客户端。不要把代理密码、账号密码或 token 写进源码和普通记忆。