Files
MemRelay/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/Checkpoint 2026-09-26 18-30-04 UTC [1f4ac8f6d5].md
T
memrelay af65bf6f5d create: Checkpoint 2026-09-26 18:30:04 UTC [1f4ac8f6d5]
MemRelay-Operation: checkpoint-save:rapt-checkpoint-httpx-proxy-20260927
MemRelay-Resource: 88cf5ef2-f89e-4270-8dda-d1743b3facf1
2026-09-27 02:30:06 +08:00

2.3 KiB
Raw Blame History

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
httpx
proxy

完成:对外 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 写进源码和普通记忆。