挖了个百度网盘的坑,有没有人一起往里跳?

2017-08-27 18:07:34 +08:00
 ZiShuo

Syncy 简介

SyncY--可在路由上运行的百度网盘同步软件 SyncY 是一款通过调用百度 PCS 开放的 API 接口实现基于 linux 内核系统的文件上传、下载和同步的程序,可运行于 open-wrt、dd-wrt、centos 等 linux 内核的系统之上,也可运行于部分厂商的 nas 产品上,可实现文件的上传、下载和同步。 SyncY 从发布至今深受广大用户的喜欢和支持,如今已发展到第二版,在 V2 版中更是增加了多任务多线程的支持,实现了更高速度的上传和下载。 SyncY 官方网址: http://www.syncy.cn


魔改说明

提取了群晖的 PCS API 接口魔改而来,因为还有刷新 accesstoken 没破译出来,所以授权有效期为 30 天,不过到期前会发送一则微信消息提醒,点击消息即可对接口进行续期,因为涉及到了微信提醒,所以使用了微信的一次性订阅消息接口(无需关注公众号),具体操作为扫码后确认接收消息服务,然后登录百度账号对 PCS 接口授权,跳回接口域名再次同意一次即可获取到设备绑定的 token。

配置与运行

初次运行配置

拉取镜像,挂载下载目录和配置文件目录,并进行初次运行配置。其中/localpath 需修改为为宿主机下载目标路径

浏览器中打开

https://pan.api.shekd.com/baidu/login

使用微信扫描浏览器显示的二维码后进行相关授权操作,获得授权 token 后,将所获得的 token 填入配置文件 syncy 第三行 token 处,再次启动容器程序将自动拉取您的授权信息(默认授权信息有效期为 30 天,在到期前 3 天内微信将会发送消息提醒你进行续期操作,直接点击微信消息按首次方法即可进行授权续期)。

INFO: Get device token success.

显示以上日志内容即为已经成功获取了您百度网盘的授权信息,程序已经可以正常工作。

程序具体配置说明请参考 http://www.syncy.cn/index.php/syncyconfighelp/

运行 Syncy

执行以下命令运行 Syncy

sudo docker start syncy

执行以下命令查看 Syncy 运行状态

sudo docker logs syncy

自动启动

/etc/rc.local 中添加以下命令,使 syncy 随宿主机自动启动(需要先配置好 docker 自动启动)

docker start syncy

运行界面


更新日志

2017/8/27

第一次研究 Python 第一次使用 Docker,程序不排除有 bug,欢迎提交,尽力修复

  1. 改为用 Dockerfile 构建镜像
  2. 修改配置文件路径为 /config/syncy
  3. 修改默认下载路径为 /downloads/
  4. 挂载配置目录为 /config/
  5. 挂载下载目录改为 /downloads/

参考

项目主页 https://github.com/DarkiT/Syncy

镜像仓库 https://dev.aliyun.com/detail.html?&repoId=67348

原作者 https://github.com/wishinlife

7843 次点击
所在节点    分享创造
13 条回复
lekai63
2017-08-27 18:12:49 +08:00
好棒 关注后续 目前没可开 docker 的路由
ZiShuo
2017-08-27 18:14:53 +08:00
@lekai63 直接到项目主页获取 python 程也是可以直接运行在路由上的
RqPS6rhmP3Nyn3Tm
2017-08-28 04:59:44 +08:00
群晖自带百度云超级慢
cuit4017
2017-08-28 09:12:32 +08:00
一直想把 baidu 上存的大文件扒下来,持续关注
Wolfsin
2017-08-28 09:53:10 +08:00
支持,bypy 好像也能在路由器中部署吧?但是没有接口过期的提醒,不知道速度方面怎么样
snk100
2017-08-28 12:08:44 +08:00
关注一波,希望以后能够有个替代的。
fantasts
2017-08-29 01:27:14 +08:00
git 的 baidupcs 也很不错。
Thiece
2017-08-29 10:13:40 +08:00
好耶,可以在小米路由器 hd 上跑了
Tink
2017-09-05 15:38:16 +08:00
没看懂,没有具体的配置文件?
ZiShuo
2017-09-05 15:40:25 +08:00
@Tink 其实就是以前的 Syncy 路由插件 配置和那个是一模一样的,只不过增加一个 token 选项,用来获取 accesstoken 的
nolo
2017-09-05 16:16:06 +08:00
百度 PCS 开放的 API 现在还能申请吗
Tink
2017-09-05 16:22:49 +08:00
@ZiShuo #10 看懂了,但是启动不了,群晖 docker 里

2017-09-05 08:22:25 Starting SyncY
Traceback (most recent call last):
File "/syncy.py", line 2228, in <module>
sy = SyncY(sys.argv[1:])
File "/syncy.py", line 231, in __init__
responses = json.loads(responses)
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 382, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
markeseo
2017-09-06 15:32:35 +08:00
M 下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/386157

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX