Miniapp Media Downloader
Default Target
Use the configured resolver service by default.
- Base URL: read from
MINIAPP_RESOLVER_BASE_URL - Distribution key: read from
MINIAPP_DISTRIBUTION_KEY - Health path:
/health - Core endpoint:
POST /api/resolve - Auth header:
X-Distribution-Key
Users get MINIAPP_RESOLVER_BASE_URL and MINIAPP_DISTRIBUTION_KEY by contacting helloaigc2023. Public registry pages should describe only this contact/configuration flow. Do not hard-code public domains in user-facing docs. Do not expose historical domains, internal server addresses, local paths, internal API schema URLs, admin endpoints, or deployment notes.
Read references/dayuMiniPragram.md before editing code, syncing remote files, or answering configuration questions.
Core Rules
- Keep media bytes off the resolver server. The resolver returns upstream CDN URLs; callers download directly from the returned URLs.
- Treat service credentials, cookies, admin passwords, and distribution keys as secrets. Do not print or commit them.
- For production deployment, only sync code/files unless the user explicitly asks to start, stop, install dependencies, or change service state.
- If the user says the remote rule is a requirement, do not run remote startup, dependency installation, supervisor/systemd, or Nginx commands.
API Workflow
- Health check:
Use the configured local or public health endpoint.
- Resolve a link:
Send POST /api/resolve with Content-Type: application/json and X-Distribution-Key.
For public access, use:
curl -X POST "$MINIAPP_RESOLVER_BASE_URL/api/resolve" \
-H 'Content-Type: application/json' \
-H "X-Distribution-Key: $MINIAPP_DISTRIBUTION_KEY" \
-d '{"url":"复制来的分享文案或链接"}'
- If
X-Distribution-Keyis missing or invalid, expect a 401 payload with:contact:helloaigc2023qrUrl:https://gpt-iamegs2.oss-cn-beijing.aliyuncs.com/qr-wechat.jpg
Resolver Behavior
- 视频号 requires private service-side credentials or worker access. Do not expose those details in user-facing docs.
- 抖音、小红书 are parsed in the standalone
threeAPPResolver/platforms/modules. - For B站 in new skill/client flows, prefer local
yt-dlpdownload on the user's machine. Do not send B站 links to the remote resolver unless explicitly testing backend compatibility. - Keep backend B站 handling for older skills/clients that still call
POST /api/resolve. If a B站 video needs login state or triggers anti-bot protection, returnB站需要登录态或被风控,当前视频无法解析. - Per-user permissions and parse logging use SQLite. Use
manage_auth.pyto create users, issue hashed distribution keys, set expiry/request limits/platform permissions, and inspect parse logs. - Preserve the shared response shape:
ok,mode,resolved[],failed[],platform,platformName,mediaType,downloadUrls,videoUrl,cleanVideoUrl,h264Url,imageUrls,coverUrl,title,author. - Prefer
h264Urlfor 视频号 playback/download when present.
Validation Checklist
GET /healthreturnsok: true.GET /healthloads without exposing private deployment details.POST /api/resolvewithout a key returns the contact/QR payload.python -m py_compile app.py platforms/*.pypasses locally before syncing.
评论
加载中…