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

26 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Checkpoint 2026-09-26 18:30:04 UTC [1f4ac8f6d5]
type: checkpoint
permalink: main/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/checkpoint-2026-09-26-18-30-04-utc-1f4ac8f6d5
stable_id: 88cf5ef2-f89e-4270-8dda-d1743b3facf1
scope: project
memory_type: checkpoint
project_id: 280dd2a0-d23d-4a71-91e1-dce4353163be
usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998
status: active
revision: 1
request_id: rapt-checkpoint-httpx-proxy-20260927
created_at: '2026-09-26T18:30:04.177958+00:00'
updated_at: '2026-09-26T18:30:04.177958+00:00'
tags:
- 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 写进源码和普通记忆。