V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
ZiShuo
V2EX  ›  分享创造

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

  •  
  •   ZiShuo · 2017-08-27 18:07:34 +08:00 · 8035 次点击
    这是一个创建于 2646 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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
    

    运行界面

    wxpay.jpg

    wxpay.jpg


    更新日志

    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

    13 条回复    2017-09-06 15:32:35 +08:00
    lekai63
        1
    lekai63  
       2017-08-27 18:12:49 +08:00 via iPhone
    好棒 关注后续 目前没可开 docker 的路由
    ZiShuo
        2
    ZiShuo  
    OP
       2017-08-27 18:14:53 +08:00
    @lekai63 直接到项目主页获取 python 程也是可以直接运行在路由上的
    RqPS6rhmP3Nyn3Tm
        3
    RqPS6rhmP3Nyn3Tm  
       2017-08-28 04:59:44 +08:00 via iPad
    群晖自带百度云超级慢
    cuit4017
        4
    cuit4017  
       2017-08-28 09:12:32 +08:00
    一直想把 baidu 上存的大文件扒下来,持续关注
    Wolfsin
        5
    Wolfsin  
       2017-08-28 09:53:10 +08:00 via iPhone
    支持,bypy 好像也能在路由器中部署吧?但是没有接口过期的提醒,不知道速度方面怎么样
    snk100
        6
    snk100  
       2017-08-28 12:08:44 +08:00 via Android
    关注一波,希望以后能够有个替代的。
    fantasts
        7
    fantasts  
       2017-08-29 01:27:14 +08:00 via Android
    git 的 baidupcs 也很不错。
    Thiece
        8
    Thiece  
       2017-08-29 10:13:40 +08:00
    好耶,可以在小米路由器 hd 上跑了
    Tink
        9
    Tink  
       2017-09-05 15:38:16 +08:00
    没看懂,没有具体的配置文件?
    ZiShuo
        10
    ZiShuo  
    OP
       2017-09-05 15:40:25 +08:00
    @Tink 其实就是以前的 Syncy 路由插件 配置和那个是一模一样的,只不过增加一个 token 选项,用来获取 accesstoken 的
    nolo
        11
    nolo  
       2017-09-05 16:16:06 +08:00
    百度 PCS 开放的 API 现在还能申请吗
    Tink
        12
    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
        13
    markeseo  
       2017-09-06 15:32:35 +08:00
    M 下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   874 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:00 · PVG 05:00 · LAX 13:00 · JFK 16:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.