Git Product home page Git Product logo

baidu-pan-downloader's Introduction

:octocat: baidu-pan-downloader :octocat:

A Baidu-yun storage downloader script using Greasemonkey/Tampermonkey

This repository contains a stub project for developing usercript extensions with React+Redux+[toolkit]+Typescript.

It uses react-app-rewired to change the webpack configuration to complile React code so that it can be included in a userscript.

In Firefox or Chrome, install Greasemonkey or Tampermonkey. You can then test the userscript by installing it here. Navigate to google and you should see a react component inserted at the bottom of the page.

🎅 Development

Building

git clone https://github.com/dotennin/baidu-pan-downloader.git
cd baidu-pan-downloader/
npm install
npm run build

After the build is complete, you should have a new version of userscript located at dist/bundle.user.js.

Development and Dynamic loading

It's able to get the newest version of your script upon a page refresh when developing. To do this, copy the source from dist/react-userscripts-dev.user.js or click here. The dev script will dynamically load the extension from port 5000, so you can take advantage of create-react-app's ability to auto-recompile an app when the source changes.

and run

npm start

🎁 Feature

You can add checked files to download list Modal through the download icon In the lower right corner of the page(https://pan.baidu.com/disk/home)


❄ Browser support:

Chrome:  ✅
Edge:    ✅
Firefox: ✅⚠(Required TampermonkeyBETA v4.11.6115 or higher)
Opera:   ⁉
Safari:  ⁉

📑 Changelog

See👉 here to confirm Changelog


🀄 中文说明

点👉 here 查看中文版本说明

baidu-pan-downloader's People

Contributors

dependabot[bot] avatar dotennin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

baidu-pan-downloader's Issues

apk无法下载

这个下载好像也要看文件类型的?我下载压缩包可以用,下载apk文件就一直是error

对正常使用影响不大,不过我有点强迫症。

对正常使用影响不大,不过我有点强迫症。

如果下载列表中文件较多,会出现滚动条,但是滚动时会发现右边的删除按钮(X)不会跟随滚动
error之后再点击下载按钮,似乎不是立即禁用该按钮,而是会等回调后再禁用(?)。偶尔有一次回调时间太长,一时手痒多点了几次,然后它开始下载了,但是下载按钮仍然是可用的,停止按钮依然是禁用的……
没看源码,以上是瞎猜的……

第二点复现方式:快速双击下载按钮就会出现

Why is the user script so large and its development version so small?

As noted in the README here:

In Firefox or Chrome, install Greasemonkey or Tampermonkey.
You can then test the userscript by installing it here. Navigate to google 
and you should see a react component inserted at the bottom of the page.

The userscript used for testing is so huge: there are 9680 lines in it. Wile I also noticed that the corresponding development version of this script, i.e., the scripts located at here and here, are so small.

To summarize, my question is: Why is the user script so large and its development version so small?

Regards,
HZ

Use the `baidu-pan-downloader` with development and dynamic loading mode in `Tampermonkey`.

On Ubuntu 20.04.3 LTS, I want to directly use the baidu-pan-downloader in development and dynamic loading mode without the help of Greasemonkey. The detailed steps are as follows:

$ node --version
v16.10.0
$ git clone https://github.com/dotennin/baidu-pan-downloader.git baidu-pan-downloader.git 
$ cd baidu-pan-downloader.git 
$ npm install
$ npm run build
#https://stackoverflow.com/questions/51706882/create-react-app-how-do-i-npm-start-with-a-specific-browser
# If available, the Chrome browser will be used first.
# To use a different, use the following environment variable setting:
$ BROWSER=firefox npm start

Through the above method, the Firefox browser will automatically open and navigate to https://pan.baidu.com/disk/home. But I'm still not sure whether the above method will let me directly use the baidu-pan-downloader in development and dynamic loading mode without the help of Greasemonkey.

Any hints/comments/explanations will be highly appreciated.

Regards,
HZ

`npm run build` reports a TypeError

This's part of err-report. I'm not familiar with node. Please let me know if anything else is needed.

config-overrides.js:86
    config.entry = config.entry.filter((x) => !x.toLowerCase().includes('hotdev'))
                                ^

TypeError: config.entry.filter is not a function

Result of npm install is below.

npm WARN [email protected] No repository field.

audited 2349 packages in 8.886s

127 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

7z文件无法下载

7z文件无法下载,但只要把7z的文件扩展名删除后就能正常下载了

浏览器是 Edge 84.0.522.28 (官方内部版本) beta (64 位)

Problem during build step of installation

When I run npm run build after successfull npm install, this is what I get as error, do you know why this could be happening?

npm run-script build
[email protected] build /home/kadir/Documents/baidu-pan-downloader
npm run clean && react-app-rewired build && node user-script.js > ./dist/bundle.user.js && cat ./build/static/js/main.js >> ./dist/bundle.user.js
[email protected] clean /home/kadir/Documents/baidu-pan-downloader
rimraf build/*
/home/kadir/Documents/baidu-pan-downloader/node_modules/terser-webpack-plugin/node_modules/p-limit/index.js:30
} catch {}
^
SyntaxError: Unexpected token {
at createScript (vm.js:80:10)
at Object.runInThisContext (vm.js:139:10)
at Module._compile (module.js:616:28)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (/home/kadir/Documents/baidu-pan-downloader/node_modules/terser-webpack-plugin/dist/index.js:26:38)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] build: npm run clean && react-app-rewired build && node user-script.js > ./dist/bundle.user.js && cat ./build/static/js/main.js >> ./dist/bundle.user.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Download big size file stuck at 100%

Describe the bug
Download big size file stuck at 100%

To Reproduce
Steps to reproduce the behavior:

  1. Set "Don't ask for download save folder" in Edge
  2. Go to pan.baidu.com/disk/home, check a file with size 40M (or much smaller), click "+" to download. After 100%, Windows 10 prompts notification from Edge, and browser auto save the file
  3. Go to pan.baidu.com/disk/home, check a file 500M (or bigger), click "+" to download. After 100%, no Windows 10 notification, browser not saving the file, the progress stops at 100%
  4. Changing the script option "auto download" or Edge option "Don't ask for download save folder" didn't fix the issue

Desktop (please complete the following information):

  • OS: Windows 10
  • Browser Microsoft Edge
  • Version 版本 85.0.564.44 (官方内部版本) (64 位)
    Extension: Chrome store Violentmonkey
    Installed dist/bundle.user.js

Doesn't always work with the latest version of IDM & Microsoft Edge

Describe the bug
Recently I am no longer able to download from Baidu Cloud Storage. Used to work flawlessly without any issues and today I was able to download one file by using a small workaround. The link in "Local Chain/本地直链" didn't appear like usually when I select a file I need and decided to select the file again and press Download directly in the Baidu Cloud Storage to let it generate a link and that actually fixed it and a direct download link in "Local Chain/本地直链" appeared. Used IDM and the file downloaded successfully. Tried to replicate the workaround to download another file but it didn't work and no matter if I clear all my cookies in my browser and login again, nothing has fixed the issue and I am no longer able to download from Baidu. Downloading fails after some time in the script menu too. EDIT: After trying several times for hours, it started to download the second file. Could have been an extension conflict.

To Reproduce

  • Simply try to use the script as usual with Tampermonkey and you will not be able to download directly with IDM

Expected behavior

  • After selecting a file, a link should appear in "Local Chain/本地直链" and successfully download with IDM

Screenshot
Screenshot (20)
Screenshot (21)
Screenshot (22)

Desktop

  • OS: [Windows 10 Home 20H2]
  • Browser: [Microsoft Edge Version 87.0.664.57 - Official build - 64-bit]
  • Downloader: [Internet Download Manager Version 6.38 Build 14]

React fails to run on pan.baidu

It seems not running on pan but google.com does have Tampermonkey promption that React is running.

Also,
not sure I have this, 'Navigate to google and you should see a react component inserted at the bottom of the page', running. Any screenshot would be better.

THANKS

yong bu liao~help~

Hi OP, I try to download some files from my pan.baidu.com/disk/ but the download progress is stuck at 0% and no download speed is given. I just ran it in Chrome with tampermonkey add-in. Do I do anything wrong here? Thanks!!!!!

下载音频文件时报错

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]

Smartphone (please complete the following information):

  • Device: [e.g. iPhone6]
  • OS: [e.g. iOS8.1]
  • Browser [e.g. stock browser, safari]
  • Version [e.g. 22]

Additional context
Add any other context about the problem here.

插件自动下载后的文件存在哪里呀

Is your feature request related to a problem? Please describe.
插件自动下载完成后,会跳出选项框,选择保存的地点,那么下载过程中的文件是存在temp中了吗?
不小心关掉跳出的保存位置选项后,无法再次进入。只得再次下载。

Describe the solution you'd like
希望添加一个比较明显的选项,可以再度进入保存选项框。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.