| Name | cms_enhance JSON |
| Version |
2025110401
JSON |
| download |
| home_page | None |
| Summary | CMS Enhanced Module (Compiled Binary Only - No Source Code) |
| upload_time | 2025-11-04 11:32:07 |
| maintainer | None |
| docs_url | None |
| author | None |
| requires_python | >=3.12 |
| license | None |
| keywords |
cms
enhancement
compiled
binary
|
| VCS |
 |
| bugtrack_url |
|
| requirements |
No requirements were recorded.
|
| Travis-CI |
No Travis.
|
| coveralls test coverage |
No coveralls.
|
# CloudMediaSync 增强版



在CloudMediaSync基础上增强了页面和消息渠道的一些功能,并增加了一些开放接口,便于其他程序调用
## 部署
### 基于原版安装教程
#### 1. 下载增强文件
进入CloudMediaSync部署目录,全选复制以下命令并执行,自动识别系统架构并下载对应文件(macOS 的 arm64 将自动映射为 aarch64):
```bash
arch=$(uname -m)
case "$arch" in
x86_64|amd64)
pkg_arch="x86_64"
;;
arm64|aarch64)
pkg_arch="aarch64"
;;
*)
echo "不支持的架构: $arch" >&2
exit 1
;;
esac
URL="https://cnb.cool/ilay1678/cloud-media-sync-enhanced/-/git/raw/master/dist/usercustomize.cpython-312-${pkg_arch}-linux-gnu.so"
echo "Downloading $URL ..."
if command -v wget >/dev/null 2>&1; then
wget -O usercustomize.so "$URL"
else
curl -L "$URL" -o usercustomize.so
fi
echo "Saved to ./usercustomize.so"
```
#### 2. 修改docker-compose.yaml文件
挂载增强文件并增加环境变量:
```yaml
services:
cloud-media-sync:
privileged: true
container_name: cloud-media-sync
image: imaliang/cloud-media-sync:latest # 使用原版镜像
restart: always
network_mode: bridge
volumes:
- "./config:/config"
- "./logs:/logs"
- "./cache:/var/cache/nginx/emby"
- "/data/media:/media"
# 挂载增强文件
- "./usercustomize.so:/cms/cms-api/usercustomize.so"
ports:
- "9527:9527"
- "9096:9096"
environment:
- PUID=0
- PGID=0
- UMASK=022
- TZ=Asia/Shanghai
- RUN_ENV=online
- ADMIN_USERNAME=admin
- ADMIN_PASSWORD=admin
- CMS_API_TOKEN=cloud_media_sync
- EMBY_HOST_PORT=http://172.17.0.1:8096
- EMBY_API_KEY=xxx
- DONATE_CODE=CMS_XXX_XXX
# Nullbr配置(增强功能所需)
- NULLBR_APP_ID=your_app_id_here
- NULLBR_API_KEY=your_api_key_here
- NULLBR_BASE_URL=https://api.nullbr.online
# Panso配置(可选的额外搜索源)
- PANSO_URL=http://your_panso_server_url # 不配置则不启用Panso
- PANSO_USERNAME=your_username # 可选,不配置表示无需认证
- PANSO_PASSWORD=your_password # 可选,不配置表示无需认证
```
#### 3. 启动服务
```bash
docker-compose up -d
```
#### 注意事项
- 增强功能需要配置Nullbr相关环境变量才能正常工作
- Panso是可选的额外搜索源,如果不配置PANSO_URL则不会启用
- 如果Panso服务不需要认证,可以不配置PANSO_USERNAME和PANSO_PASSWORD
## 页面增强
### 热门推荐的订阅按钮增加nullbr资源弹窗

## 消息渠道增强
### 功能概述
为 `CloudMediaSynC`的Telegram 机器人和企业微信渠道提供了增强功能,集成了 Nullbr 和 Panso API 实现智能媒体搜索和转存。
### 主要功能
#### 智能媒体搜索
- **触发方式**: 以 `?` 或 `?` 开头发送消息
- **示例**: `? 三体`、`? 复仇者联盟`
- **功能**: 自动搜索电影、电视剧等媒体资源
- **搜索源**:
- 优先使用 Nullbr 搜索(如果已配置)
- 如果 Nullbr 不可用,自动使用 Panso 搜索(如果已配置)
- **返回**: 搜索结果列表,支持查看详情
#### Panso 搜索源
Panso 作为额外的搜索源,提供网盘链接聚合服务:
- **搜索结果格式**: 按网盘类型分组(百度网盘、阿里云盘、夸克网盘等)
- **支持操作**:
- 显示各类型网盘的资源链接
- 回复 p1、p2、p3... 查看详细链接并自动转存
- 直接复制链接手动转存
## 开放接口
### 添加分享下载任务
**接口地址:** `POST /api/open/add_share_down?token=cloud_media_sync`
**功能描述:** 添加一个分享下载任务到系统中
#### 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| url | string | 是 | 分享链接URL |
#### 请求示例
```json
{
"url": "https://example.com/share/123456"
}
```
#### 响应格式
**成功响应:**
```json
{
"code": 200,
"msg": "操作成功"
}
```
**失败响应:**
```json
{
"code": 400,
"msg": "参数错误"
}
```
或
```json
{
"code": 500,
"msg": "具体错误信息"
}
```
#### 响应状态码说明
| 状态码 | 说明 |
|--------|------|
| 200 | 操作成功 |
| 400 | 参数错误(缺少url参数) |
| 500 | 服务器内部错误 |
#### 注意事项
- 成功添加分享下载任务后,系统会自动触发整理任务(5秒后执行)
- URL参数不能为空
- 请确保提供的分享链接有效
---
### Panso 搜索接口
Panso 作为额外的搜索源,本系统提供了代理接口访问远程Panso服务。
#### 工作原理
- 当配置了 `PANSO_URL` 后,系统会自动连接到远程Panso服务
- 如果配置了 `PANSO_USERNAME` 和 `PANSO_PASSWORD`,系统会自动向远程Panso服务认证
- 用户无需手动登录,系统内部自动处理认证和token管理
#### 本地代理接口 - POST /api/panso/search
通过本地API代理访问远程Panso服务的搜索功能。
**请求参数:**
| 参数名 | 类型 | 必填 | 描述 |
|--------|------|------|------|
| kw | string | 是 | 搜索关键词 |
| channels | string[] | 否 | 搜索的频道列表,不提供则使用默认配置 |
| conc | number | 否 | 并发搜索数量,不提供则自动设置 |
| refresh | boolean | 否 | 强制刷新,不使用缓存 |
| res | string | 否 | 结果类型:all/results/merge,默认merge |
| src | string | 否 | 数据来源:all/tg/plugin,默认all |
| plugins | string[] | 否 | 指定搜索的插件列表 |
| cloud_types | string[] | 否 | 指定返回的网盘类型列表 |
| ext | object | 否 | 扩展参数,传递给插件的自定义参数 |
**请求示例:**
```json
{
"kw": "三体",
"res": "merge",
"cloud_types": ["baidu", "aliyun", "quark"]
}
```
**响应字段:**
| 字段名 | 类型 | 描述 |
|--------|------|------|
| total | number | 搜索结果总数 |
| results | object[] | 搜索结果数组,包含详细信息 |
| merged_by_type | object | 按网盘类型分组的链接 |
**响应示例:**
```json
{
"total": 10,
"merged_by_type": {
"baidu": [
{
"url": "https://pan.baidu.com/s/xxxxx",
"password": "1234",
"note": "三体全集 4K",
"datetime": "2024-01-01T00:00:00Z",
"source": "tg:某频道",
"images": ["https://example.com/image.jpg"]
}
],
"aliyun": [
{
"url": "https://www.aliyundrive.com/s/xxxxx",
"password": "",
"note": "三体 蓝光原盘",
"datetime": "2024-01-02T00:00:00Z",
"source": "plugin:某插件"
}
]
}
}
```
#### GET方式搜索 - GET /api/panso/search
也支持GET方式搜索,参数通过query string传递:
```
GET /api/panso/search?kw=三体&res=merge&cloud_types=baidu,aliyun
```
#### 注意事项
- 系统会自动处理与远程Panso服务的认证,无需手动登录
- 如果环境变量配置了PANSO_USERNAME和PANSO_PASSWORD,系统会自动认证
- 如果未配置认证信息,系统将尝试无认证访问远程Panso服务
- Token管理完全自动化,包括过期重新获取
- 建议使用POST方式传递复杂参数
Raw data
{
"_id": null,
"home_page": null,
"name": "cms_enhance",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.12",
"maintainer_email": null,
"keywords": "cms, enhancement, compiled, binary",
"author": null,
"author_email": "iLay1678 <your.email@example.com>",
"download_url": null,
"platform": null,
"description": "\n# CloudMediaSync \u589e\u5f3a\u7248\n\n\n\n\n\u5728CloudMediaSync\u57fa\u7840\u4e0a\u589e\u5f3a\u4e86\u9875\u9762\u548c\u6d88\u606f\u6e20\u9053\u7684\u4e00\u4e9b\u529f\u80fd\uff0c\u5e76\u589e\u52a0\u4e86\u4e00\u4e9b\u5f00\u653e\u63a5\u53e3\uff0c\u4fbf\u4e8e\u5176\u4ed6\u7a0b\u5e8f\u8c03\u7528\n\n## \u90e8\u7f72\n\n### \u57fa\u4e8e\u539f\u7248\u5b89\u88c5\u6559\u7a0b\n\n\n#### 1. \u4e0b\u8f7d\u589e\u5f3a\u6587\u4ef6\n\n\u8fdb\u5165CloudMediaSync\u90e8\u7f72\u76ee\u5f55\uff0c\u5168\u9009\u590d\u5236\u4ee5\u4e0b\u547d\u4ee4\u5e76\u6267\u884c\uff0c\u81ea\u52a8\u8bc6\u522b\u7cfb\u7edf\u67b6\u6784\u5e76\u4e0b\u8f7d\u5bf9\u5e94\u6587\u4ef6\uff08macOS \u7684 arm64 \u5c06\u81ea\u52a8\u6620\u5c04\u4e3a aarch64\uff09\uff1a\n\n```bash\narch=$(uname -m)\ncase \"$arch\" in\n x86_64|amd64)\n pkg_arch=\"x86_64\"\n ;;\n arm64|aarch64)\n pkg_arch=\"aarch64\"\n ;;\n *)\n echo \"\u4e0d\u652f\u6301\u7684\u67b6\u6784: $arch\" >&2\n exit 1\n ;;\nesac\n\nURL=\"https://cnb.cool/ilay1678/cloud-media-sync-enhanced/-/git/raw/master/dist/usercustomize.cpython-312-${pkg_arch}-linux-gnu.so\"\necho \"Downloading $URL ...\"\nif command -v wget >/dev/null 2>&1; then\n wget -O usercustomize.so \"$URL\"\nelse\n curl -L \"$URL\" -o usercustomize.so\nfi\necho \"Saved to ./usercustomize.so\"\n```\n\n#### 2. \u4fee\u6539docker-compose.yaml\u6587\u4ef6\n\n\u6302\u8f7d\u589e\u5f3a\u6587\u4ef6\u5e76\u589e\u52a0\u73af\u5883\u53d8\u91cf\uff1a\n\n```yaml\nservices:\n cloud-media-sync:\n privileged: true\n container_name: cloud-media-sync\n image: imaliang/cloud-media-sync:latest # \u4f7f\u7528\u539f\u7248\u955c\u50cf\n restart: always\n network_mode: bridge\n volumes:\n - \"./config:/config\"\n - \"./logs:/logs\"\n - \"./cache:/var/cache/nginx/emby\"\n - \"/data/media:/media\"\n # \u6302\u8f7d\u589e\u5f3a\u6587\u4ef6\n - \"./usercustomize.so:/cms/cms-api/usercustomize.so\"\n ports:\n - \"9527:9527\"\n - \"9096:9096\"\n environment:\n - PUID=0\n - PGID=0\n - UMASK=022\n - TZ=Asia/Shanghai\n - RUN_ENV=online\n - ADMIN_USERNAME=admin\n - ADMIN_PASSWORD=admin\n - CMS_API_TOKEN=cloud_media_sync\n - EMBY_HOST_PORT=http://172.17.0.1:8096\n - EMBY_API_KEY=xxx\n - DONATE_CODE=CMS_XXX_XXX\n # Nullbr\u914d\u7f6e\uff08\u589e\u5f3a\u529f\u80fd\u6240\u9700\uff09\n - NULLBR_APP_ID=your_app_id_here\n - NULLBR_API_KEY=your_api_key_here\n - NULLBR_BASE_URL=https://api.nullbr.online\n # Panso\u914d\u7f6e\uff08\u53ef\u9009\u7684\u989d\u5916\u641c\u7d22\u6e90\uff09\n - PANSO_URL=http://your_panso_server_url # \u4e0d\u914d\u7f6e\u5219\u4e0d\u542f\u7528Panso\n - PANSO_USERNAME=your_username # \u53ef\u9009\uff0c\u4e0d\u914d\u7f6e\u8868\u793a\u65e0\u9700\u8ba4\u8bc1\n - PANSO_PASSWORD=your_password # \u53ef\u9009\uff0c\u4e0d\u914d\u7f6e\u8868\u793a\u65e0\u9700\u8ba4\u8bc1\n```\n\n#### 3. \u542f\u52a8\u670d\u52a1\n\n```bash\ndocker-compose up -d\n```\n\n#### \u6ce8\u610f\u4e8b\u9879\n\n- \u589e\u5f3a\u529f\u80fd\u9700\u8981\u914d\u7f6eNullbr\u76f8\u5173\u73af\u5883\u53d8\u91cf\u624d\u80fd\u6b63\u5e38\u5de5\u4f5c\n- Panso\u662f\u53ef\u9009\u7684\u989d\u5916\u641c\u7d22\u6e90\uff0c\u5982\u679c\u4e0d\u914d\u7f6ePANSO_URL\u5219\u4e0d\u4f1a\u542f\u7528\n- \u5982\u679cPanso\u670d\u52a1\u4e0d\u9700\u8981\u8ba4\u8bc1\uff0c\u53ef\u4ee5\u4e0d\u914d\u7f6ePANSO_USERNAME\u548cPANSO_PASSWORD\n## \u9875\u9762\u589e\u5f3a\n### \u70ed\u95e8\u63a8\u8350\u7684\u8ba2\u9605\u6309\u94ae\u589e\u52a0nullbr\u8d44\u6e90\u5f39\u7a97\n\n## \u6d88\u606f\u6e20\u9053\u589e\u5f3a\n\n### \u529f\u80fd\u6982\u8ff0\n\n\u4e3a `CloudMediaSynC`\u7684Telegram \u673a\u5668\u4eba\u548c\u4f01\u4e1a\u5fae\u4fe1\u6e20\u9053\u63d0\u4f9b\u4e86\u589e\u5f3a\u529f\u80fd\uff0c\u96c6\u6210\u4e86 Nullbr \u548c Panso API \u5b9e\u73b0\u667a\u80fd\u5a92\u4f53\u641c\u7d22\u548c\u8f6c\u5b58\u3002\n\n### \u4e3b\u8981\u529f\u80fd\n\n#### \u667a\u80fd\u5a92\u4f53\u641c\u7d22\n- **\u89e6\u53d1\u65b9\u5f0f**: \u4ee5 `?` \u6216 `\uff1f` \u5f00\u5934\u53d1\u9001\u6d88\u606f\n- **\u793a\u4f8b**: `? \u4e09\u4f53`\u3001`\uff1f \u590d\u4ec7\u8005\u8054\u76df`\n- **\u529f\u80fd**: \u81ea\u52a8\u641c\u7d22\u7535\u5f71\u3001\u7535\u89c6\u5267\u7b49\u5a92\u4f53\u8d44\u6e90\n- **\u641c\u7d22\u6e90**: \n - \u4f18\u5148\u4f7f\u7528 Nullbr \u641c\u7d22\uff08\u5982\u679c\u5df2\u914d\u7f6e\uff09\n - \u5982\u679c Nullbr \u4e0d\u53ef\u7528\uff0c\u81ea\u52a8\u4f7f\u7528 Panso \u641c\u7d22\uff08\u5982\u679c\u5df2\u914d\u7f6e\uff09\n- **\u8fd4\u56de**: \u641c\u7d22\u7ed3\u679c\u5217\u8868\uff0c\u652f\u6301\u67e5\u770b\u8be6\u60c5\n\n#### Panso \u641c\u7d22\u6e90\nPanso \u4f5c\u4e3a\u989d\u5916\u7684\u641c\u7d22\u6e90\uff0c\u63d0\u4f9b\u7f51\u76d8\u94fe\u63a5\u805a\u5408\u670d\u52a1\uff1a\n- **\u641c\u7d22\u7ed3\u679c\u683c\u5f0f**: \u6309\u7f51\u76d8\u7c7b\u578b\u5206\u7ec4\uff08\u767e\u5ea6\u7f51\u76d8\u3001\u963f\u91cc\u4e91\u76d8\u3001\u5938\u514b\u7f51\u76d8\u7b49\uff09\n- **\u652f\u6301\u64cd\u4f5c**: \n - \u663e\u793a\u5404\u7c7b\u578b\u7f51\u76d8\u7684\u8d44\u6e90\u94fe\u63a5\n - \u56de\u590d p1\u3001p2\u3001p3... \u67e5\u770b\u8be6\u7ec6\u94fe\u63a5\u5e76\u81ea\u52a8\u8f6c\u5b58\n - \u76f4\u63a5\u590d\u5236\u94fe\u63a5\u624b\u52a8\u8f6c\u5b58\n\n\n\n## \u5f00\u653e\u63a5\u53e3\n\n### \u6dfb\u52a0\u5206\u4eab\u4e0b\u8f7d\u4efb\u52a1\n\n**\u63a5\u53e3\u5730\u5740\uff1a** `POST /api/open/add_share_down?token=cloud_media_sync`\n\n**\u529f\u80fd\u63cf\u8ff0\uff1a** \u6dfb\u52a0\u4e00\u4e2a\u5206\u4eab\u4e0b\u8f7d\u4efb\u52a1\u5230\u7cfb\u7edf\u4e2d\n\n#### \u8bf7\u6c42\u53c2\u6570\n\n| \u53c2\u6570\u540d | \u7c7b\u578b | \u5fc5\u586b | \u8bf4\u660e |\n|--------|------|------|------|\n| url | string | \u662f | \u5206\u4eab\u94fe\u63a5URL |\n\n#### \u8bf7\u6c42\u793a\u4f8b\n\n```json\n{\n \"url\": \"https://example.com/share/123456\"\n}\n```\n\n#### \u54cd\u5e94\u683c\u5f0f\n\n**\u6210\u529f\u54cd\u5e94\uff1a**\n```json\n{\n \"code\": 200,\n \"msg\": \"\u64cd\u4f5c\u6210\u529f\"\n}\n```\n\n**\u5931\u8d25\u54cd\u5e94\uff1a**\n```json\n{\n \"code\": 400,\n \"msg\": \"\u53c2\u6570\u9519\u8bef\"\n}\n```\n\n\u6216\n\n```json\n{\n \"code\": 500,\n \"msg\": \"\u5177\u4f53\u9519\u8bef\u4fe1\u606f\"\n}\n```\n\n#### \u54cd\u5e94\u72b6\u6001\u7801\u8bf4\u660e\n\n| \u72b6\u6001\u7801 | \u8bf4\u660e |\n|--------|------|\n| 200 | \u64cd\u4f5c\u6210\u529f |\n| 400 | \u53c2\u6570\u9519\u8bef\uff08\u7f3a\u5c11url\u53c2\u6570\uff09 |\n| 500 | \u670d\u52a1\u5668\u5185\u90e8\u9519\u8bef |\n\n#### \u6ce8\u610f\u4e8b\u9879\n\n- \u6210\u529f\u6dfb\u52a0\u5206\u4eab\u4e0b\u8f7d\u4efb\u52a1\u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u89e6\u53d1\u6574\u7406\u4efb\u52a1\uff085\u79d2\u540e\u6267\u884c\uff09\n- URL\u53c2\u6570\u4e0d\u80fd\u4e3a\u7a7a\n- \u8bf7\u786e\u4fdd\u63d0\u4f9b\u7684\u5206\u4eab\u94fe\u63a5\u6709\u6548\n\n---\n\n### Panso \u641c\u7d22\u63a5\u53e3\n\nPanso \u4f5c\u4e3a\u989d\u5916\u7684\u641c\u7d22\u6e90\uff0c\u672c\u7cfb\u7edf\u63d0\u4f9b\u4e86\u4ee3\u7406\u63a5\u53e3\u8bbf\u95ee\u8fdc\u7a0bPanso\u670d\u52a1\u3002\n\n#### \u5de5\u4f5c\u539f\u7406\n\n- \u5f53\u914d\u7f6e\u4e86 `PANSO_URL` \u540e\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u8fde\u63a5\u5230\u8fdc\u7a0bPanso\u670d\u52a1\n- \u5982\u679c\u914d\u7f6e\u4e86 `PANSO_USERNAME` \u548c `PANSO_PASSWORD`\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u5411\u8fdc\u7a0bPanso\u670d\u52a1\u8ba4\u8bc1\n- \u7528\u6237\u65e0\u9700\u624b\u52a8\u767b\u5f55\uff0c\u7cfb\u7edf\u5185\u90e8\u81ea\u52a8\u5904\u7406\u8ba4\u8bc1\u548ctoken\u7ba1\u7406\n\n#### \u672c\u5730\u4ee3\u7406\u63a5\u53e3 - POST /api/panso/search\n\n\u901a\u8fc7\u672c\u5730API\u4ee3\u7406\u8bbf\u95ee\u8fdc\u7a0bPanso\u670d\u52a1\u7684\u641c\u7d22\u529f\u80fd\u3002\n\n**\u8bf7\u6c42\u53c2\u6570\uff1a**\n\n| \u53c2\u6570\u540d | \u7c7b\u578b | \u5fc5\u586b | \u63cf\u8ff0 |\n|--------|------|------|------|\n| kw | string | \u662f | \u641c\u7d22\u5173\u952e\u8bcd |\n| channels | string[] | \u5426 | \u641c\u7d22\u7684\u9891\u9053\u5217\u8868\uff0c\u4e0d\u63d0\u4f9b\u5219\u4f7f\u7528\u9ed8\u8ba4\u914d\u7f6e |\n| conc | number | \u5426 | \u5e76\u53d1\u641c\u7d22\u6570\u91cf\uff0c\u4e0d\u63d0\u4f9b\u5219\u81ea\u52a8\u8bbe\u7f6e |\n| refresh | boolean | \u5426 | \u5f3a\u5236\u5237\u65b0\uff0c\u4e0d\u4f7f\u7528\u7f13\u5b58 |\n| res | string | \u5426 | \u7ed3\u679c\u7c7b\u578b\uff1aall/results/merge\uff0c\u9ed8\u8ba4merge |\n| src | string | \u5426 | \u6570\u636e\u6765\u6e90\uff1aall/tg/plugin\uff0c\u9ed8\u8ba4all |\n| plugins | string[] | \u5426 | \u6307\u5b9a\u641c\u7d22\u7684\u63d2\u4ef6\u5217\u8868 |\n| cloud_types | string[] | \u5426 | \u6307\u5b9a\u8fd4\u56de\u7684\u7f51\u76d8\u7c7b\u578b\u5217\u8868 |\n| ext | object | \u5426 | \u6269\u5c55\u53c2\u6570\uff0c\u4f20\u9012\u7ed9\u63d2\u4ef6\u7684\u81ea\u5b9a\u4e49\u53c2\u6570 |\n\n**\u8bf7\u6c42\u793a\u4f8b\uff1a**\n```json\n{\n \"kw\": \"\u4e09\u4f53\",\n \"res\": \"merge\",\n \"cloud_types\": [\"baidu\", \"aliyun\", \"quark\"]\n}\n```\n\n**\u54cd\u5e94\u5b57\u6bb5\uff1a**\n\n| \u5b57\u6bb5\u540d | \u7c7b\u578b | \u63cf\u8ff0 |\n|--------|------|------|\n| total | number | \u641c\u7d22\u7ed3\u679c\u603b\u6570 |\n| results | object[] | \u641c\u7d22\u7ed3\u679c\u6570\u7ec4\uff0c\u5305\u542b\u8be6\u7ec6\u4fe1\u606f |\n| merged_by_type | object | \u6309\u7f51\u76d8\u7c7b\u578b\u5206\u7ec4\u7684\u94fe\u63a5 |\n\n**\u54cd\u5e94\u793a\u4f8b\uff1a**\n```json\n{\n \"total\": 10,\n \"merged_by_type\": {\n \"baidu\": [\n {\n \"url\": \"https://pan.baidu.com/s/xxxxx\",\n \"password\": \"1234\",\n \"note\": \"\u4e09\u4f53\u5168\u96c6 4K\",\n \"datetime\": \"2024-01-01T00:00:00Z\",\n \"source\": \"tg:\u67d0\u9891\u9053\",\n \"images\": [\"https://example.com/image.jpg\"]\n }\n ],\n \"aliyun\": [\n {\n \"url\": \"https://www.aliyundrive.com/s/xxxxx\",\n \"password\": \"\",\n \"note\": \"\u4e09\u4f53 \u84dd\u5149\u539f\u76d8\",\n \"datetime\": \"2024-01-02T00:00:00Z\",\n \"source\": \"plugin:\u67d0\u63d2\u4ef6\"\n }\n ]\n }\n}\n```\n\n#### GET\u65b9\u5f0f\u641c\u7d22 - GET /api/panso/search\n\n\u4e5f\u652f\u6301GET\u65b9\u5f0f\u641c\u7d22\uff0c\u53c2\u6570\u901a\u8fc7query string\u4f20\u9012\uff1a\n\n```\nGET /api/panso/search?kw=\u4e09\u4f53&res=merge&cloud_types=baidu,aliyun\n```\n\n#### \u6ce8\u610f\u4e8b\u9879\n\n- \u7cfb\u7edf\u4f1a\u81ea\u52a8\u5904\u7406\u4e0e\u8fdc\u7a0bPanso\u670d\u52a1\u7684\u8ba4\u8bc1\uff0c\u65e0\u9700\u624b\u52a8\u767b\u5f55\n- \u5982\u679c\u73af\u5883\u53d8\u91cf\u914d\u7f6e\u4e86PANSO_USERNAME\u548cPANSO_PASSWORD\uff0c\u7cfb\u7edf\u4f1a\u81ea\u52a8\u8ba4\u8bc1\n- \u5982\u679c\u672a\u914d\u7f6e\u8ba4\u8bc1\u4fe1\u606f\uff0c\u7cfb\u7edf\u5c06\u5c1d\u8bd5\u65e0\u8ba4\u8bc1\u8bbf\u95ee\u8fdc\u7a0bPanso\u670d\u52a1\n- Token\u7ba1\u7406\u5b8c\u5168\u81ea\u52a8\u5316\uff0c\u5305\u62ec\u8fc7\u671f\u91cd\u65b0\u83b7\u53d6\n- \u5efa\u8bae\u4f7f\u7528POST\u65b9\u5f0f\u4f20\u9012\u590d\u6742\u53c2\u6570\n",
"bugtrack_url": null,
"license": null,
"summary": "CMS Enhanced Module (Compiled Binary Only - No Source Code)",
"version": "2025110401",
"project_urls": {
"Homepage": "https://github.com/iLay1678/cloud-media-sync-enhanced",
"Issues": "https://github.com/iLay1678/cloud-media-sync-enhanced/issues",
"Repository": "https://github.com/iLay1678/cloud-media-sync-enhanced.git"
},
"split_keywords": [
"cms",
" enhancement",
" compiled",
" binary"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "2383fcd2153c6951cb004fa0f4eee5b85b9df79e1adc62d7224812a6adb94b87",
"md5": "d438779aac84de58287ae8d9a7b97657",
"sha256": "3aa7252beef0eb9421ff74964a88ef3c6ebff7efdc68a02599367f72b988b438"
},
"downloads": -1,
"filename": "cms_enhance-2025110401-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"has_sig": false,
"md5_digest": "d438779aac84de58287ae8d9a7b97657",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 3191953,
"upload_time": "2025-11-04T11:32:07",
"upload_time_iso_8601": "2025-11-04T11:32:07.730286Z",
"url": "https://files.pythonhosted.org/packages/23/83/fcd2153c6951cb004fa0f4eee5b85b9df79e1adc62d7224812a6adb94b87/cms_enhance-2025110401-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "0c805df9019f59c38c8b0d108ddfe62cb843f55320675391eda16f46625c21b3",
"md5": "d58766aa41eabf8aafa3d300d2a30bd5",
"sha256": "d63952a596d40ad59f91c49912482526c48ce338500a79430124f6942ac2933b"
},
"downloads": -1,
"filename": "cms_enhance-2025110401-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"has_sig": false,
"md5_digest": "d58766aa41eabf8aafa3d300d2a30bd5",
"packagetype": "bdist_wheel",
"python_version": "cp312",
"requires_python": ">=3.12",
"size": 3344595,
"upload_time": "2025-11-04T11:31:28",
"upload_time_iso_8601": "2025-11-04T11:31:28.212537Z",
"url": "https://files.pythonhosted.org/packages/0c/80/5df9019f59c38c8b0d108ddfe62cb843f55320675391eda16f46625c21b3/cms_enhance-2025110401-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-11-04 11:32:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "iLay1678",
"github_project": "cloud-media-sync-enhanced",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "cms_enhance"
}