Metadata-Version: 2.4
Name: cloudreve-tools
Version: 0.1.0
Summary: Small Cloudreve V4 upload helpers for note_server-backed sessions.
Author: luke
License-Expression: MIT
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.31

# cloudreve-tools

`cloudreve-tools` 是给自建 Cloudreve V4 用的小工具包，重点是从
`note_server` 读取 `login_hub` 保存的 Cloudreve 登录态，然后上传本地文件。

## 安装

```bash
pip install cloudreve-tools
```

本仓库开发态安装：

```bash
python3 -m pip install -e .
```

## 凭据

不要把 token、cookie、密码写进命令或文件。工具默认从环境变量读取：

```bash
export NOTE_SERVER_TOKEN='<note_server 普通 token>'
export NOTE_SERVER_URL='https://note.luke9012.cn'
export CLOUDREVE_BASE_URL='https://cloud.luke9012.cn'
```

`NOTE_SERVER_URL` 和 `CLOUDREVE_BASE_URL` 可省略，默认就是上面两个地址。

## 上传文件

`login_hub` 在 `note_server` 里的完整 key 是：

```text
login:{platform}:{account}:session
```

CLI 支持短 key：

- `cloudreve` -> `login:cloudreve:main:session`
- `cloudreve:main` -> `login:cloudreve:main:session`

上传命令：

```bash
cloudreve-tools upload cloudreve:main /我的软件/recon_reader/1.0.0 \
  "/Users/luke/Desktop/recon_reader/recon_reader 1.0.0.apk" \
  "/Users/luke/Desktop/recon_reader/recon_reader mac 1.0.0.zip"
```

输出 JSON：

```bash
cloudreve-tools upload --json cloudreve:main /我的软件/demo ./demo.zip
```

## 直链与自动更新域名

Cloudreve 直链、发布清单和 App 自动更新下载地址统一使用
`https://cloud.luke9012.cn`。不要把链接改写成 `img.luke9012.cn`。

后续如果新增 release / direct-link 命令，默认也应保留
`cloud.luke9012.cn` 作为公开下载域名。

## Python 用法

```python
from cloudreve_tools import CloudreveClient, CloudreveSession, NoteServerClient

bundle = NoteServerClient().load_session_bundle("cloudreve:main")
client = CloudreveClient(CloudreveSession.from_bundle(bundle))
result = client.upload("./demo.zip", "/我的软件/demo")
print(result.uri)
```
