Offline-downloading is very well-known word in China. It’s a service to allow you to set downloading tasks and a server will prepare the downloaded file for you to fetch at a high speed.
However, the problem is that I don’t like the client itself. It’s full of ads, and I don’t even want to use it. Some net disk service does not allow you to use a third-party client to download, so you cannot use general offline downloading method to download a large file in a net disk. As well, it’s a kind of monopoly. Just take
Baidu Netdisk as an example, its downwards bandwidth is limited to 256KBps. If you want to download a large file, you have to keep your computer on and use their client to download your file. It’s immoral, but they provide free service.
Today, I will make offline downloading available for files in
Baidu Netdisk. The tool I’m using is
Make BaiduPCS run on non-root access Linux system
As the document on GitHub, it requires some packages like
openSSL. But the accademy VPS doesn’t allow me to install the package using system package manager.
At first, I thought I could make a
static compile from another Linux computer. But I changed my mind because that meant I had to maintain the
makefile which is not an easy job.
As a result, I decided to find a way to use a user library path, which I found is by
setting LD_LIBRARY_PATH env var. More details are here.
At the beginning, I make the project on my Linux, and I copied the executable to uni’s accademy VPS via SCP. I ran it, but it shows cannot find xxxx version number. So used such command to copy it from an existing device.
find | grep libcrypto.so.1.0.0
And then I got the full path, SCP again and again until the dependency problem fixed.
All my runtime libraries are stored in
~/libs so I have to specify the library path and the environment variable.
Because the Linux is using
CShell, I have to edit
.cshrc and add one line:
setenv LD_LIBRARY_PATH /....../libs
Then the application should be able to work. In my case, I copied all the libraries files from a certain directory from the compiling system and it worked.
Start offline downloading
To offline downloading, we need to start a
screen method. Generally, I like to run:
screen -R baidu/xxxx xxxxx
Then just follow the user namual, you should know how to download a file.
A quite reference for extarcting iso files
You know, some times you need to extract iso files without
su permissions. :P
xorriso -osirrox on -indev image.iso -extract / extracted_iso_image
MewX comments powered by Disqus