Metadata-Version: 2.4
Name: lanzou-resolver
Version: 0.1.0
Summary: Lanzou cloud (lanzou/蓝奏云) share URL resolver and downloader, standard library only
Author: kuank
License-Expression: Apache-2.0
Keywords: lanzou,lanzouyun,蓝奏云,网盘,downloader,resolver
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: license-file

# lanzou-resolver

蓝奏云（lanzou）分享链接解析/下载 Python 客户端，仅使用标准库，无任何第三方依赖。

- 支持新版页面（带密码 `kd=1` / 无密码 `kd=0`）
- 支持旧版无密码页面（iframe `/fn?` 流程）
- 自动处理 CDN `acw_sc__v2` JavaScript 挑战
- 解析落地页二次验证，直接返回最终直链
- 附带命令行工具，可选直接下载

## 安装

```bash
pip install lanzou-resolver
```

## Python 使用

```python
from lanzou_resolver import LanzouClient

client = LanzouClient()

# 无密码分享
result = client.resolve("https://wwbou.lanzouq.com/i9te83mgt7cf")

# 带密码分享
result = client.resolve("https://wwbou.lanzouq.com/i0zxZ3d30m8f", "fosv")

print(result.filename)
print(result.direct_url)

# 直接下载
path, sha256 = client.download(result, ".")
```

解析失败或缺少密码时抛出 `LanzouError`。

## 命令行

```bash
# 仅解析
lanzou-resolver "https://wwbou.lanzouq.com/i0zxZ3d30m8f" "fosv"

# 无密码分享可省略密码
lanzou-resolver "https://wwbou.lanzouq.com/i9te83mgt7cf"

# 解析并下载
lanzou-resolver --download --output-dir . "https://wwbou.lanzouq.com/i0zxZ3d30m8f" "fosv"
```

输出为 JSON，包含 `file_id`、文件名、落地页 URL、最终直链；下载模式额外输出保存路径和 SHA-256。

## 限制

- 非官方接口，站点随时可能更换字段、混淆、域名或验证方式，失效需重新逆向
- 不尝试绕过 CAPTCHA；若站点升级为交互式验证码，应停止并人工处理
