# Alltuu Downloader

喔图(alltuu.com)云摄影相册批量下载工具。当用户需要从 alltuu.com / m.alltuu.com...

- Repository: https://github.com/chujianyun/skills (750 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-10-15
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add chujianyun/skills --skill alltuu-downloader -g -a claude-code -y`
Codex: `npx skills add chujianyun/skills --skill alltuu-downloader -g -a codex -y`
Cursor: `npx skills add chujianyun/skills --skill alltuu-downloader -g -a cursor -y`
Gemini CLI: `npx skills add chujianyun/skills --skill alltuu-downloader -g -a gemini-cli -y`
Claude Code plugin marketplace: `/plugin marketplace add chujianyun/skills`

## Description

喔图(alltuu.com)云摄影相册批量下载工具。当用户需要从 alltuu.com / m.alltuu.com 相册批量下载原图时使用此技能。支持下载原图（6720x4480 级别），自动处理签名URL，并发下载。适用于 alltuu.com/album/ 相册链接。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 喔图相册下载器

从喔图云摄影（alltuu.com）相册批量下载原图。

## 使用场景

当用户提供以下类型的链接时使用此技能：
- `https://m.alltuu.com/album/XXXXXXXX/?menu=live`
- `https://www.alltuu.com/album/XXXXXXXX/`
- 任何包含 alltuu.com 的相册链接

## 前置条件

1. **Chrome Canary** 需要运行并开启远程调试端口（默认 9222）
2. **Node.js** 已安装
3. **ws** npm 包已安装（脚本会提示安装方式）

### 启动 Chrome Canary

```bash
/Applications/Google\ Chrome\ Canary.app/Contents/MacOS/Google\ Chrome\ Canary \
  --remote-debugging-port=9222 \
  --user-data-dir=/tmp/chrome-canary-debug-profile \
  --proxy-server="http://127.0.0.1:7890" &
```

### 安装 ws 依赖

```bash
cd /tmp && npm init -y && npm install ws
```

## 工作流程

### 1. 提取相册 ID

从 URL 中提取相册 ID（通常是 10 位数字或短码）。

**示例：**
- URL: `https://m.alltuu.com/album/1644727243/?menu=live`
- 相册 ID: `1644727243`

### 2. 创建下载目录

在用户指定位置创建目录（默认 `~/Downloads/alltuu`），也可自定义，如 `~/Downloads/樱花`。

### 3. 执行下载

```bash
cd /tmp && node <skill_dir>/scripts/download.js \
  --album <albumId> \
  --output <download_dir> \
  --concurrency 5
```

**参数说明：**

| 参数 | 说明 | 默认值 |
|------|------|--------|
| `--album` | 相册 ID（必需） | 无 |
| `--output` | 下载保存目录 | `~/Downloads/alltuu` |
| `--concurrency` | 并发下载数 | 5 |
| `--cdp-port` | Chrome CDP 端口 | 9222 |

### 4. 下载结果

脚本会显示每张照片的下载状态：
```
✅ photo_001.jpg (6720x4480) 11.6MB
✅ photo_002.jpg (6720x4480) 7.5MB
⏭️  photo_003.jpg (already exists, 4.4MB)
❌ Failed: HTTP 403

🎉 Done! Success: 60, Failed: 0
📁 Saved to: /Users/.../Downloads/樱花
```

## 技术原理

alltuu.com 是纯 SPA 应用，照片数据通过前端 JS 动态加载，图片存储在阿里云 OSS，需要签名 URL 才能访问。

脚本通过 Chrome CDP 协议：
1. 打开相册页面，等待 JS 渲染
2. 拦截 `v4c.alltuu.com` 的 `fpl`（fetch photo list）API 响应
3. 从响应 JSON 中提取各尺寸签名 URL
4. 优先下载 `ol`（original，原图），回退到 `url1920` → `bl` → `sl`

### URL 类型说明

| 字段 | 域名 | 说明 |
|------|------|------|
| `ol` | uio.alltuu.com | 原图（最大尺寸） |
| `url1920` | uip.alltuu.com | 1920px 版本 |
| `bl` | uib.alltuu.com | 大图 |
| `sl` | uis.alltuu.com | 缩略图 |
| `ssl` | uis.alltuu.com | 小方图（200x200） |

## 故障排查

The rest: https://github.com/chujianyun/skills/blob/HEAD/skills/alltuu-downloader/SKILL.md
