Flowpan-light 是一个面向 115 网盘的本地服务,包含文件管理、分享转存、STRM 同步、媒体整理与刮削、Emby 播放代理、通知互动和辅助插件。
本仓库同时发布 Flowpan 外部 115 存储 SDK。完整部署与设置请阅读 使用指南,外部应用接入请阅读 外部 115 存储 API 标准 和 SDK 文档。
准备好 Flowpan 服务源码与 Docker 环境后,在服务源码根目录执行:
docker compose up -d --build
docker compose logs -f --tail=200浏览器访问 http://<服务器IP>:8080,首次创建 Flowpan 管理员账号,再按顺序完成:
- 账号:扫码登录 115 主账号。
- 其他设置:按需配置 HTTP 代理、OpenAPI、通知、AI 和外部 API。
- STRM 配置:选择本地输出目录和 115 源目录,保存后执行首次同步。
- Emby 代理:填写 Emby 地址与 API Key,选择
302或本地代理模式。
默认 Docker Compose 使用:
services:
flowpan:
ports:
- "8080:8080" # 管理后台、API、STRM 跳转
- "8081:8081" # Emby 本地代理
volumes:
- ./config:/config # 设置、Cookie、SQLite、更新状态
- ./logs:/logs # 运行日志
- ./media:/media # 本地媒体、STRM 或有声书目录config/ 保存管理员账号、115 登录状态和所有 Web 设置。不要删除它;升级镜像前先备份整个目录。
- 删除、移动、转存和回收站清理会操作 115 云端文件,执行前确认当前账号和目录。
- Emby 功能提供播放代理、Webhook 通知、媒体库刷新和用户播放策略;不提供“Emby 删除媒体后删除 115 文件”的联动能力。
- 外部应用应使用独立外部 API Token 调用
/api/v1/storage/115/...,不能复用管理员密码、115 Cookie 或通知密钥。
SDK 调用 Flowpan 的标准接口:
/api/v1/storage/115/{driver}/{action}
它允许其他后端项目使用 Flowpan 暴露的 115 存储能力,而不会拿到 Flowpan 管理员账号、115 Cookie 或 OpenAPI 凭据。
支持的 driver:
auto:推荐。OpenAPI 已授权时使用 OpenAPI,否则使用 Cookie。open:强制 OpenAPI。cookie:强制 Cookie。
Go:
go get github.com/yyllaa/Flowpan-light@v0.2.0Python:
pip install .package main
import (
"context"
"fmt"
"github.com/yyllaa/Flowpan-light/sdk/go/flowpan115"
)
func main() {
client := flowpan115.New("http://127.0.0.1:8080", "external-token")
ctx := context.Background()
client.SetDefaultDriver(flowpan115.DriverAuto)
usage, err := client.Usage(ctx, "")
if err != nil {
panic(err)
}
fmt.Println(usage.Driver, usage.Result.Used, usage.Result.Available)
}from sdk.python.flowpan115 import DRIVER_AUTO, Flowpan115Client
client = Flowpan115Client("http://127.0.0.1:8080", "external-token")
client.set_default_driver(DRIVER_AUTO)
usage = client.usage()
print(usage.driver, usage.result["used"], usage.result["available"])在 Flowpan 的 其他设置 启用外部 API,生成独立 Token 后使用:
Authorization: Bearer <external_api_token>按调用方需要授予最小权限:
read:列表、搜索、文件详情、用量、下载链接。write:新建目录、移动、复制、粘贴、重命名、星标。upload:上传桥接操作。delete:删除。
不要复用 MoviePilot 事件密钥、Flowpan 管理员密码或 115 Cookie。
SDK 只会对读取类动作和上传状态/签名查询重试短暂故障;不会盲目重试移动、复制、重命名、删除或上传完成,因为网络超时后写入操作可能已经在服务端成功。
两个 SDK 都会拒绝非法 driver 和格式错误的 action 路径。业务必须固定使用某条 115 链路时,应显式选择 open 或 cookie。上传初始化的 typed helper 会返回完整会话信息,调用方应原样保存 session_id、upload_id、回调数据与分片元数据。