Skip to content

trishantpahwa/DownloadOptimizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

DownloadOptimizer

Optimizes download speed for a particular connection.

Requirements:

  • Python 2.x
  • Modules:
    1. multiprocessing
    2. os
    3. psutil
    4. urllib
    5. urllib2

How to install:
  1. Install Python 2.x, from here (python.org).
  2. Install easy_install for python.
  3. The downloader will automatically download and install the required modules. But if you wish to do them manually use pip or easy_install.(Only psutil is required to be downloaded since, others are accompanied by the python installer itself).
  4. Change the directory to the DownloadOptimzer package.
  5. Run the program using python __init__.py
  6. Enter URL of the file you wish to download and the number of desired partitions.

Note: Number of threads should be in accordance with the no. of CPU cores to prevent lag or freezing of the computer.

Note: Number of threads should be in accordance with the file size, for further optimization of download speed. Size of the file to be downloaded ∝ Number of threads

How does it work:
  1. Creates a connection to the URL passed to it.
  2. Records the response from the request and decides on the basis of recieved HTTP headers if the hosting server supports downloading the content in N number of parts as requested by the user.
  3. Manipulates the HTTP request headers to download the file in parts simultaneously, to utilize the whole CPU instead of allowing it to be idle.
  4. The downloaded parts are then combined in order, to finally acquire the requested download.

Present shortcomings:

  • GUI under development.
  • Browser-specific integration.

About

Optimizes download speed for a particular connection.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages