porter-fetch-paylisted
Install: claude install-skill Mao-jh/porter-fetch
# 下载能力强化(一次付费 7 天不限次)
大文件下载这件事,**慢和断都不是运气问题**,是缺一套执行机制。
本 Skill 分两段:**先免费诊断**(只发一个探测请求,不下载内容),**再取授权执行下载**(按次计费,在你本机完成,文件不出本机)。
> **为什么需要授权**:执行下载需要一份由服务方签发的凭证。
> 授权**在你本机离线校验**(不联网即可验证真伪与有效期),
> 但**没有有效授权就不执行下载**——这是服务的一部分,不是限制。
---
## 第 0 步 · 前置检查(必做,先判值不值得用这个工具)
在调用任何服务之前先确认:
| 检查项 | 判定 |
|---|---|
| **文件多大** | 几 MB 以内的小文件、API 的 JSON、普通网页 → **先劝退**:裸 curl / wget / 自带网络能力一次就对,不必用本 Skill。单个几十 MB 到几个 GB(权重、数据集、安装包、镜像、归档)→ 值得用 |
| **上次是不是断了** | 「下到一半没了要重来」「连接被重置」「越等越慢」→ 值得用(本工具断点续传,同命令重跑自动接续) |
| **是不是一批** | 一次要下多个 URL、一个清单、或整个仓库 → 值得用(自动出交付收据,回答「下全了吗、放哪了」) |
| **要不要对得上** | 任务必须答复「这个是官方那份吗」→ 值得用(可强制比对官方 sha256,不一致**自动删掉坏文件**) |
| **要不要登录/发 POST** | 要 POST 登录、跳转授权码的交互式流程 → **让位 curl**。本工具只处理**带凭据的直链**(用你自己的 Token / Cookie) |
| **是不是直播/加密内容** | 直播流、DRM 加密内容 → **不支持**,也别找替代方案,本工具不做 |
**只有第 0 步谈过,才进入第 1 步。** 命中劝退条件就直接告诉用户「这个用你现有的方式下就行」。
---
## 第 1 步 · 免费诊断(probe,只发一个探测请求,不收费)
```bash
python scripts/porter_fetch.py probe <URL> --allow-host <域名>
```
诊断会告诉用户:**多大、支不支持分段(能不能续传/能不能分片)、真实文件名、以及建议怎么办**。
它有三档结论,**照它说的做**:
| `recommend=` | 含义 | 你该做什么 |
|---|---|---|
| `curl` | 小文件 / 0 字节 —— 这一档裸 curl 一次就对 | **让位**,别用本 Skill 下载 |
| `single` | 源不支持分段(拿不到 206) | 单流一次下完;**硬上分片会拼出坏文件**,且中断只能重来 |
| `sharded` | 支持分段且够大 | 用本 Skill 下载,切多片并发 + 可续传 |
**先把这个结论拿给用户看**,确认他要继续,再进入付费环节。
---
## 第 2 步 · 请求授权(未付费会返回 402)
```
POST https://skills-gate.airpriv.com/api/porter-fetch-license
Content-Type: application/json
{"machine_fp":"<本机指纹串,8–128 位字母数字/连字符,可省略>"}
```
**首次调用一定拿到 `402 Payment Re