Skip to content
This repository has been archived by the owner on Jun 6, 2024. It is now read-only.

Commit

Permalink
Merge pull request #87 from yuantuo666/dev
Browse files Browse the repository at this point in the history
准备版本更新2.1.3
  • Loading branch information
yuantuo666 authored Mar 14, 2021
2 parents d91d5f4 + 59957a2 commit 84e64df
Show file tree
Hide file tree
Showing 10 changed files with 290 additions and 59 deletions.
59 changes: 24 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ PanDownload 网页复刻版,PHP 语言版<br/>
## 💴Donate
[捐赠作者](https://imwcr.cn/?donate)

## 💻Demo
[暂不开放](http://imwcr.cn/api/bdwp/)<br />
因站长学习紧张加上精力有限,演示站没有时间维护,故暂时关闭。

## 🚧Blacklists
<!-- - http://down.5nb.me/ 1.4.5版本(站长拒不修改) -->
- https://pan.xiaoshuyun.cn/ 1.4.3版本 无密码
- https://pan.qiafan.vip/ 1.4.5版本 无密码
- http://www.dupan.cc/ (恶意篡改后台并加密,站长QQ33703259)
Expand Down Expand Up @@ -56,54 +59,40 @@ PanDownload 网页复刻版,PHP 语言版<br/>
- `Google Chrome 88+` [点此访问 Chrome 官网](https://www.google.cn/chrome/)
- `Firefox 85+` [点此访问 Firefox 官网](https://www.firefox.com.cn/)

# 🔧Setting
# 🔧Install & Setting
首先Clone项目或进入[Releases](https://github.com/yuantuo666/baiduwp-php/releases)下载项目文件。<br />
然后访问 `install.php` 文件并填写相关信息。<br />
如果使用数据库,则需要先点击 `检查数据库连接` 连接数据库,保证账号密码正确。<br />
最后点击提交即可。

## 💻Demo
[暂不开放](http://imwcr.cn/api/bdwp/)<br />
因站长学习紧张加上精力有限,演示站没有时间维护,故暂时关闭。

## 📦New Changes
- 当前版本:`2.1.1`
- 更新日期:2021-02-18
- 修改内容:
- ⚠错误修复
- 修复数据库中会员账号失效后一直刷新页面问题
- 修复旧版本无法正常升级问题

- 修改版本:`2.1.0`
- 更新日期:2021-02-17
<!-- 同志们,写更新日志要细致啊,不要写笼统的! -->
- 当前版本:`2.1.3`
- 更新日期:2021-03-14
- 修改内容:
- 💥新增功能
- 安装程序 `install.php` 自动检测旧版本配置文件 `config.php` 是否存在,若存在自动导入旧版本配置
- 增加选择是否取消下载次数提醒功能
- ✨安装时支持保留数据库数据
- ✨后台管理页面支持删除数据
- ✨增加四种SVIP账号切换模式
- 增加首页公告自定义功能
- 💪安全增强
- 安装程序 `install.php` 自动检测是否安装过,如果安装则需进入管理员页面登录
- 兼容老方法获取randsk(BDCLND) #84
- aria2推送时附上文件名 #78 Thanks to @kwxiaozhu
- ⚠错误修复
- 修复部分页面检查密码功能失效问题
- 修复首页小圆点无颜色错误
- 修复不支持色彩模式的浏览器无法显示 `Sweetalert2` 弹窗问题
- 修复解析数据一直为 `2.00GB` 问题
- 修复管理员密码错误不提示
- 安装页面未处理默认情况丢失前缀 #76
- ♻代码优化
- ✨将 `settings.php` 内部分请求方式改为 `ajax` ,增加加载提示框 <!-- 搞了四个小时,累死 -->
- 优化提示文本(语法、严谨程度等),给一些提示框增加图标
- 增加部分配置异常的处理程序
- 优化部分 PHP 和 JavaScript 代码
- 首页安装后状态提示完善 #76 #81
- 根页面获取失败提示完善
- 账号拉黑提示 #83 #84 #86

[查看更多](Update.md)

## 💡Contact
- 项目作者:Yuan_Tuo
- 作者邮箱:yuantuo666@gmail.com
- 作者邮箱:yuantuo666@gmail.com (一周内一定有回复)
- 备用:2659324610@qq.com (不会及时查看)
- 作者首页:https://imwcr.cn/
- Telegram:yuantuo666
- Telegram:
- [@yuantuo666](https://t.me/yuantuo666)
- [Telegram频道](https://t.me/baiduwp_php)

因为作者及合作者都是学生,所以没有办法及时解决问题。<br />
如果遇到问题请先仔细阅读此文档和[以前的issue](https://github.com/yuantuo666/baiduwp-php/issues?q=is%3Aissue),确实无法解决请提起issue,我们将很乐意为你解决🙂。<br />
所有的邮件我都会查看并回复的~

## 🔔Thanks
- [baiduwp JavaScript 版](https://github.com/TkzcM/baiduwp "GitHub 项目")
Expand Down
201 changes: 201 additions & 0 deletions Update.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
# Update
### `2.1.3` 版本:
- 更新日期:2021-03-14
- 修改内容:
- 💥新增功能
- 兼容老方法获取randsk(BDCLND) #84
- aria2推送时附上文件名 #78 Thanks to @kwxiaozhu
- ⚠错误修复
- 安装页面未处理默认情况丢失前缀 #76
- ♻代码优化
- 首页安装后状态提示完善 #76 #81
- 根页面获取失败提示完善
- 账号拉黑提示 #83 #84 #86

### `2.1.2` 版本:
- 更新日期:2021-02-20
- 备注:2.1.0版本和2.1.1版本存在安装问题,请勿安装
- 修改内容:
- ⚠错误修复
- 修复无法安装问题

### [不稳定] `2.1.1` 版本:
- 更新日期:2021-02-18
- 修改内容:
- ⚠错误修复
- 修复数据库中会员账号失效后一直刷新页面问题
- 修复旧版本无法正常升级问题

## [不稳定] `2.1.0` 版本:
- 更新日期:2021-02-17
<!-- 同志们,写更新日志要细致啊,不要写笼统的! -->
- 修改内容:
- 💥新增功能
- 安装程序 `install.php` 自动检测旧版本配置文件 `config.php` 是否存在,若存在自动导入旧版本配置
- 增加选择是否取消下载次数提醒功能
- ✨安装时支持保留数据库数据
- ✨后台管理页面支持删除数据
- ✨增加四种SVIP账号切换模式
- 增加首页公告自定义功能
- 💪安全增强
- 安装程序 `install.php` 自动检测是否安装过,如果安装则需进入管理员页面登录
- ⚠错误修复
- 修复部分页面检查密码功能失效问题
- 修复首页小圆点无颜色错误
- 修复不支持色彩模式的浏览器无法显示 `Sweetalert2` 弹窗问题
- 修复解析数据一直为 `2.00GB` 问题
- 修复管理员密码错误不提示
- ♻代码优化
- ✨将 `settings.php` 内部分请求方式改为 `ajax` ,增加加载提示框 <!-- 搞了四个小时,累死 -->
- 优化提示文本(语法、严谨程度等),给一些提示框增加图标
- 增加部分配置异常的处理程序
- 优化部分 PHP 和 JavaScript 代码

## [后台管理系统] `1.4.5` 赞助版:
- 更新日期:2021-01-25
- 修改内容
- 增加后台系统
- 增加数据统计功能
- 增加限速账号自动切换功能
- 增加API接口文件
- 增加解析记录查询
- IP黑白名单
- 下载次数限制修改
- [Commit记录](https://github.com/yuantuo666/baiduwp-php/commit/a2f76c9d9f4c70d349279631d0d0dba01cee07ef) (1,169 additions and 62 deletions.)

http://www.dupan.cc/ (站长QQ33703259) 所发布的源码已被篡改,添加了后台并加密,添加的bduss会被上传网站后台,请勿下载使用

很失望,最后以这种方式开源赞助版源代码。<br />
作者学习压力很大,可能近期不会再更新了。<br />
祝好。

## [稳定] `1.4.3` 版本:
- 更新日期:2020-10-21
- 修改内容
- 后台增加MySQL数据库,保存8小时内解析文件。
- 限制同一IP及设备的解析次数。

### `1.4.2` 版本:
- 更新日期:2020-08-29
- 修改内容
- 列表页面新增超时提醒,5min后弹窗提示。
- 修复在线播放功能,在设置UA情况下可以播放50MB以上文件。
- 优化代码,删除打开文件夹每次查询密码是否正确代码。
- 加入运行时间计算,在控制台中可以查看。
- 将SVIP的BDUSS分离开,便于后期维护。
- 隐藏旧链接显示的sharelinkXXX-XXX文件夹(此文件夹无法正常打开)。
- 增加调试模式,便于反馈问题。
- 增加自动从分享文本中提取验证密码功能。

### `1.4.1` 版本:
- 更新日期:2020-08-27
- 修改内容
- 修改POST内容,让调用接口暂时失效
- 增加直链解析,可以不设置UA下载(不过并不稳定,且只支持50MB以下文件)

### `1.4.0` 版本:
- 更新日期:2020-08-27
- 修改内容
- 增加推送至aria2功能
- 增加面包屑导航,便于寻找指定文件夹
- 完善错误提示,获取列表超时会提示
- 修复特殊路径报错(url传入时未编码)

### `1.3.7` 版本:
- 更新日期:2020-08-25
- 修改内容
- 修复密码验证问题
- 增加版本显示

### `1.3.6` 版本:
- 更新日期:2020-08-19
- 修改内容
- 修改了因为浮点数精度造成下载未知错误的问题 Thanks to @apiee (因为合并的问题,导致丢失了贡献者信息)

### `1.3.5` 版本:
- 更新日期:2020-08-17
- 修改内容:
- 优化后端逻辑和效率
- 优化代码
- 优化错误时提示
- 修复浏览器中点击下载链接,传递 Referer 导致概率性出错的问题
- 增加PHP版本过老提示

### `1.3.3` 版本:
- 更新日期:2020-08-17
- 修改内容:
- 修复缺少文件或直接访问 `config.php``functions.php` 时出错的问题

### `1.3.1` 版本:
- 更新日期:2020-08-16
- 修改内容:
- 优化错误时提示

### `1.3.0` 版本:
- 更新日期:2020-08-15
- 修改内容:
- 支持打开子文件夹
- 支持下载子文件夹内的文件
- 使用 SESSION 保存客户端登录状态

### `1.2.3` 版本:
- 更新日期:2020-08-15
- 修改内容:
- 优化文件加载
- 将一些可能会丢失的远程文件复制到本地
- 减少访问百度 API 的次数
- 优化代码
- 正在支持文件夹中(仍在实现中)
- 此版本可能不稳定,谨慎升级!

### `1.2.2` 版本:
- 更新日期:2020-08-14
- 修改内容:
- 配置、函数与程序分离(`后端`
- 优化后端逻辑和效率
- 优化用户体验
- 优化发生错误时的用户体验

### `1.2.1` 版本:
- 更新日期:2020-08-14
- 修改内容:
- 配置、函数与程序分离(`php`
- 修复 POST 方法访问 `?download` 参数不齐全出错的问题
- 修复未配置或配置了普通用户的 `BDUSS``STOKEN` 时显示空链接的问题
- 优化程序效率
- 使用函数减少重复工作的代码量
- 增加注释
- 优化前端代码

### `1.2.0` 版本:
- 更新日期:2020-08-14
- 修改内容:
- 优化打开文件夹的表现(原来是直接提示不可用,现在可以跳转到百度网盘官方的分享页面)
- 样式、JavaScript 与页面分离(`前端`

### `1.1.2` 版本:
- 更新日期:2020-08-14
- 修改内容:
- 修复 GET 方法访问 `index.php?download` 出错的问题
- 修复 POST 方法访问 `index.php?download` 参数不齐全出错的问题
- 修复未配置或者配置了普通用户的 BDUSS 和 STOKEN 时无法获取下载链接显示空链接的问题
- 优化数据传输
- 优化用户体验


### `1.1.1` 版本:
- 更新日期:2020-08-13
- 修改内容:
- 修复 errno 不是 -21 且不正常时 HTTP 500 服务器错误的问题
- 格式化代码


### `1.1` 版本:
- 更新日期:2020-08-13
- 修改内容:
- 选择是否需要密码功能
- 配置与程序分离

### `1.0` 版本:
- 更新日期:2020-08-11
- 修改内容:项目创建
4 changes: 2 additions & 2 deletions api.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
* @link https://space.bilibili.com/88197958
*
*/
$programVersion_API = '2.1.0';
$programVersion_API = '2.1.3';
session_start();
define('init', true);
if (version_compare(PHP_VERSION, '7.0.0', '<')) {
Expand Down Expand Up @@ -256,7 +256,7 @@
"sviptips" => $SvipTips
));
} else {
EchoInfo(-1, array("msg" => "数据库中没有数据", "sviptips" => "Unknown"));
EchoInfo(-1, array("msg" => "数据库中没有状态数据,请解析一次大于50MB文件以刷新账号状态", "sviptips" => "Unknown"));//防止产生误解,把提示写完全
}
} else {
// 未开启数据库
Expand Down
44 changes: 36 additions & 8 deletions functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
* @link https://space.bilibili.com/88197958
*
*/
$programVersion_Functions = '2.1.0';
$programVersion_Functions = '2.1.3';
if (!defined('init')) { // 直接访问处理程序
header('Content-Type: text/plain; charset=utf-8');
if (!file_exists('config.php')) {
Expand Down Expand Up @@ -159,16 +159,26 @@ function getSign(string $surl, $randsk)
// 如果不修改这里,则要修改配置文件ini
$result = get($url, $header);
if (preg_match('/yunData.setData\((\{.*?\})\);/', $result, $matches)) {
$result = json_decode($matches[1], true, 512, JSON_BIGINT_AS_STRING);
$result_decode = json_decode($matches[1], true, 512, JSON_BIGINT_AS_STRING);
if (DEBUG) {
echo '<pre>getSign():';
var_dump($result);
var_dump($result_decode);
echo '</pre>';
}
return $result;
return $result_decode;
} else {
//有可能是账号被百度拉黑,导致获取到的页面不同 #83 #86
if (DEBUG) {
echo '<pre>getSign():no match</pre>';
var_dump(htmlspecialchars($result));
}

if (strstr($result, "neglect:1") != false) {
dl_error("根目录yunData获取失败", "当前账号已经被百度拉入黑名单<br />无法正常获取文件名及文件内容,请联系站长更换config.php中普通账号的BDUSS和STOKEN<br />此错误出现与会员账号及后台设置无关");
exit;
} else {
dl_error("根目录yunData获取失败", "页面未正常加载,或者百度已经升级页面,无法正常获取根目录yunData数据。");
// exit;
}
return 1;
}
Expand Down Expand Up @@ -268,11 +278,29 @@ function get_BDCLND($surl, $Pwd)
return $bdclnd;
} else {
if (DEBUG) {
echo '<pre>get_BDCLND():';
var_dump($header);
echo '<pre>【获取bdclnd失败,可能是不需要此参数】get_BDCLND():';
var_dump($result);
echo '</pre>';
}
return '';
echo '<script>Swal.fire("使用提示","检测到当前链接异常,保存到网盘重新分享后可获得更好的体验~","info");</script>';
// 尝试使用老方法获取
$header = head("https://pan.baidu.com/s/" . $surl, []);
$bdclnd = preg_match('/BDCLND=(.+?);/', $header, $matches);
if ($bdclnd) {
if (DEBUG) {
echo '<pre>【老版本方法】get_BDCLND():';
var_dump($matches[1]);
echo '</pre>';
}
return $matches[1];
} else {
if (DEBUG) {
echo '<pre>【老版本方法】get_BDCLND():';
var_dump($header);
echo '</pre>';
}
return '';
}
}
}
function connectdb(bool $isAPI = false)
Expand Down Expand Up @@ -305,7 +333,7 @@ function GetList(string $Shorturl, string $Dir, bool $IsRoot, string $Password)

$Root = ($IsRoot) ? "1" : "0";
$Dir = urlencode($Dir);
$Data = "shorturl=$Shorturl&dir=$Dir&root=$Root&pwd=$Password&page=1&num=2000&order=time";
$Data = "shorturl=$Shorturl&dir=$Dir&root=$Root&pwd=$Password&page=1&num=1000&order=time";
$header = array("User-Agent: netdisk", "Referer: https://pan.baidu.com/disk/home");
$result = json_decode(post($Url, $Data, $header), true);
if (DEBUG) {
Expand Down
Loading

0 comments on commit 84e64df

Please sign in to comment.