蓝奏云超过100M 文件上传方案 原生 PHP 分片上传下载合并 API 源码

蓝奏云超过100M 文件上传方案 原生 PHP 分片上传下载合并 API 源码

csd
csd
7小时前发布 /正在检测是否收录...
广告 广告 广告 广告 广告 广告 广告 广告 广告 广告
蓝奏云超过100M 文件上传方案 原生 PHP 分片上传下载合并 API 源码 - 陆伍博客 - 你的互联网资源库
蓝奏云超过100M 文件上传方案 原生 PHP 分片上传下载合并 API 源码
此内容为付费阅读,请付费后查看
¥9.9
立即购买
您当前未登录!建议登陆后购买,可保存购买订单
付费阅读
已售 0

突破蓝奏云100M上传限制与无缝下载合并附纯原生PHP Web API源码+算法分析+演示

🛡️ 狗凯源码库 · 安全审计

突破蓝奏云 100M 上传限制

审计报告与部署教程

一套蓝奏云网盘的 Web API 中转程序:登录、直链解析、分片大文件上传/合并下载、网盘管理全家桶,自带面向小白的完整接口文档。本质是对蓝奏云网页协议的逆向实现,不含数据库、部署极简。本报告拆解其原理与风险,并给出宝塔部署教程。

技术栈:PHP 7.4+(无数据库)规模:9 文件 / 3303 行核心代码危险等级:低(协议工具类)审计:2026-09-25

01审计结论与原理拆解

“突破 100M”到底是怎么做到的

蓝奏云官方网页端限制单文件 100MB,但其客户端协议的分片上传通道并不受此限制。本程序的做法:

大文件切片:前端把大文件分片,通过 action=prepare_bigfile 初始化切片目录,逐片调用 action=upload 上传;

索引归档:全部切片传完后调 action=finish_bigfile 生成索引档案上传到网盘;

合并下载:下载端解析到索引档案后,用 action=download_folder&stream=1 以 SSE 实时进度把分片按序拉回、服务端流式合并输出给浏览器,全程不占服务器磁盘(中转临时文件 fetch_transit 用完即焚)。

文件构成

src/LanZouCloud.php(1927 行,协议核心:登录/直链/上传/管理)+ src/Models.php + src/Utils.php + api.php(843 行,30+ 个 action 的统一 Web 入口)+ index.html(前端界面)

功能清单

免登录直链解析、分片合并下载、账号 Cookie 登录校验、目录/文件管理(建删移改名/提取码/描述/分享链接)、大文件切片、IP 风控诊断

文档质量

README.md 是一份难得的高质量中文接口文档(错误码速查表、新手 Cookie 指南俱全),可直接当 API 手册用

品牌现状

版权声明文件已是狗凯源码库(bbbb.bid)版本,无第三方广告残留

测试数据

无(纯工具类,无数据库与用户数据)

⚖️

合规提示:此程序属于逆向第三方平台协议的工具:绕过的是蓝奏云网页端的产品限制,使用它需要自担账号风控风险(内置 action=check_ip 正是为了诊断服务器 IP 是否已被蓝奏云风控),也需注意蓝奏云用户协议约束。仅供学习研究 HTTP 协议逆向与分片传输技术。

02风险点

部署前必看

风险说明等级账号 Cookie 暴露面api.php?action=login 接受蓝奏云账密并保管 Cookie——若把 api.php 暴露在公网,等于把网盘控制权交给任何访问者高无鉴权设计程序本体不带用户体系,”谁来访问谁能用”。自用务必配 local_only 思路:IP 白名单、Basic Auth 或仅内网高平台风控服务端高频请求可能触发蓝奏云验证码(CAPTCHA_ERROR 状态码已内置)或 IP 封禁中临时文件堆积中转/切片文件依赖正常流程清理,异常中断后建议定期清理临时目录低

03宝塔部署教程

零数据库,5 分钟跑通

1

环境准备

宝塔安装 Nginx + PHP 7.4/8.0,PHP 需开启 curl、openssl、mbstring、zip 扩展;upload_max_filesize 与 post_max_size 按切片大小设置即可(单片不大,100M 足够)。无需数据库、无需 composer(纯 curl 实现)。

2

上传源码

整包上传到站点根目录(如 /www/wwwroot/lz.demo),确保目录可写(切片临时目录需要写入权限,755 递归)。

3

访问与自检

浏览器打开 http://你的域名/ 进入前端界面。接口自检:

环境检查(PHP 版本 / curl / 可写)

curl "http://你的域名/api.php?action=ping"

服务器 IP 风控状态诊断

curl "http://你的域名/api.php?action=check_ip"

全部接口与参数见 README.md——文档写得足够细,按目录逐节调用即可。

4

安全加固(强烈建议)

演示环境建议只在内网使用。若必须公网,在站点配置里对 api.php 加访问限制:

Nginx:只允许指定 IP 调用接口

location = /api.php {

allow 192.168.1.0/24;   # 换成你的内网段
deny all;
include enable-php-80.conf;

}

5

验证大文件链路

登录蓝奏云 Cookie 后:先用 action=prepare_bigfile 初始化 → 分片上传 → action=finish_bigfile 归档;换一台设备访问分享链接,用 action=parse_file 解析并 stream=1 合并下载,观察 SSE 进度输出,即可完整看到”突破 100M”的分片合并全过程。

截图

截图

截图

截图

今天把全套后端 API 源码与大文件切片合并算法一并分享给大家!

核心两大突破性功能

  1. 突破 100MB 上传限制 (伪装切片 + 索引归档)
    – 当上传的文件超过 100MB 阈值(可自定义 10~100MB)时,程序会自动在蓝奏云创建一个专属大文件目录。
    – 将文件切割为若干个合规大小的切片数据块,并随机赋予合法伪装后缀(如 .zip/.docx/.apk)。
    – 切片全部上传完成后,自动生成 record.txt JSON 索引文件,记录文件名、总大小及切片列表,完成大文件归档。
  2. 自动分段无缝拼接合并下载
    – 解析大文件目录时,API 会自动解析 record.txt 索引并按顺序获取所有 part_xxx 切片的直链。
    – 后端逐块下载切片,自动识别并裁剪切片尾部的 512B 伪装数据,然后通过流式 Buffering 追加拼合为原始文件。
    – 下载接口支持 SSE (Server-Sent Events) 长连接,实时推送【1.分段下载 -> 2.服务器合并校验 -> 3.客户端保存与中转自动销毁】。

核心突破代码解析

  1. 大文件切片无缝拼接合并与去除 512B 报尾 Padding
    这是大文件无缝合并下载的核心算法。下载时不仅要按索引按顺序拉取切片,还要自动识别并截断切片尾部 512B 的随机防屏蔽 Padding,再进行 4MB 数据流追加拼合:
  2. 流式输出与临时中转缓存“秒删销毁”
    为保证服务端做代理合并下载时磁盘0 残留,后端通过流式 Output 推送给客户端,传输完成后立刻销毁中转目录
  3. ESA acw_sc__v2 挑战算法纯 PHP 逆向求解
    当蓝奏云触发 ESA 防爬校验时,后端直接通过代码解密混淆算法,求解 acw_sc__v2 Cookie 响应头
    后端 API 调用与接口测试截图
    部署好 api.php 后,你的第三方客户端、小程序或 Python 脚本即可方便调用:
  4. 免登录单文件直链解析 API

curl "http://你的域名/api.php?action=parse_file&url=https://pan.lanzouo.com/i123456&;pwd=1234"

返回 JSON 结构:

{
"code": 0,
"msg": "解析成功 (已识别为切片合并大文件)",
"data": {
"name": "超大软件安装包.zip",
"size": "350.5 MB",
"is_big_file": true
}

}

资源下载

喜欢就支持一下吧
点赞 0 分享 赞赏
评论 抢沙发
OωO
取消
广告