A small distributed download manager to help bypass device-specific bandwidth limitations.

Overview

Distributed Download Manager

A small distributed download manager to help bypass device-specific bandwidth limitations.

Architecture

The download manager consists of 3 parts:

  • Tracker server: An always-on server, stores a list of available peer servers which can be fetched by the peer client
  • Peer client: Initiates the download, receives a list of available peer servers from the tracker and splits the download among them, and finally merges all the downloaded chunks together
  • Peer server: Informs tracker of its availability, receives chunks to download from peer server, downloads and sends back chunks

Usage

  • Setup a config file (Sample config). The config should contain:

    • TRACKER_IP -> IP address of the tracker (Should always be running)
    • TRACKER_PORT -> Port of the tracker
    • URL -> URL of file to be downloaded
    • PATH -> Path to save output file (on peer client)
    • CLIENT_SERVER_PORT -> Port for communication b/w client and server (can be hardcoded)
    • CLIENT_TRACKER_PORT -> Port for communication b/w client and tracker (can be hardcoded)
    • SERVER_CLIENT_PORT -> Port for communication b/w server and client (can be hardcoded)
    • SERVER_TRACKER_PORT -> Port for communication b/w server and tracker (can be hardcoded)
  • Run the tracker, all the peer servers (other machines) and then the peer client:

python3 tracker.py
python3 peer_server.py
python3 peer_client.py
You might also like...
Command-line program to download videos from YouTube.com and other video sites

youtube-dl - download videos from youtube.com or other video platforms

SABnzbd - The automated Usenet download tool

SABnzbd is an Open Source Binary Newsreader written in Python.

📼Command line tool based on youtube-dl to easily download selected channels from your subscriptions.
📼Command line tool based on youtube-dl to easily download selected channels from your subscriptions.

youtube-cdl Command line tool based on youtube-dl to easily download selected channels from your subscriptions. This tool is very handy if you want to

A Udemy downloader that can download DRM protected videos and non-DRM protected videos.
A Udemy downloader that can download DRM protected videos and non-DRM protected videos.

Udemy Downloader with DRM support NOTE This program is WIP, the code is provided as-is and i am not held resposible for any legal repercussions result

Scripts to download files and folders programmatically from Google Drive

Google Drive Downloader Scripts Every time I need to download a lot of files from Google Drive (e.g. a dataset), it's always incredibly frustrating an

This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces
This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces

CODEFORCES DOWNLOADER This is a python based web scraping bot for windows to download all ACCEPTED submissions of any user on Codeforces Requirements

A collection of modules I have created to programmatically search for/download imagery from live cam feeds across the state of California.
A collection of modules I have created to programmatically search for/download imagery from live cam feeds across the state of California.

A collection of modules that I have created to programmatically search for/download imagery from all publicly available live cam feeds across the state of California. In no way am I affiliated with any of these organizations and these modules/methods of gathering imagery are completely unofficial.

Python library to download bulk of images from Bing.com

Python library to download bulk of images form Bing.com. This package uses async url, which makes it very fast while downloading.

Owner
Anand Balaji
CTF player @teambi0s | Exploit dev & Systems Security Enthusiast | Currently exploiting browsers
Anand Balaji
Download Photo and Video from Wall of specific user or community

vkontakte-downloader Download Photo and Video from Wall of specific User or Community on https://vk.com Setup Clone the project git clone https://gith

null 4 Jul 20, 2022
bing image downloader app used to download bulk images for a specific search term created using streamlit and bing_image_downloader python packages

bing image downloader app bing image downloader app is used to download bulk images for a specific search term. bing image downloader app gets the sea

Siva Prakash 8 Apr 5, 2022
1Fichier Download Manager.

1fichier-dl 1Fichier Download Manager. Features ⭐ Manage your downloads ⭐ Bypass time limits Credits All icons, including the app icon, were provided

manuGMG 470 Oct 8, 2022
The free and open-source Download Manager written in pure Python

The free and open-source Download Manager written in pure Python

pyLoad 2.7k Dec 31, 2022
FireDM is a python open source (Internet Download Manager) with multi-connections, high speed engine, it downloads general files and videos from youtube and tons of other streaming websites .

python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM

null 1.6k Apr 12, 2022
Downloads photos you saved from a specific profile.

instagram-download-saved A python script that downloads photos you saved from a specific profile. The only dependency is instaloader, an open-source p

Aviv 1 Dec 19, 2021
A fast and small Torrent client made with Python 3.

pico-torrent A fast and small Torrent client made with Python 3. History and context It was programmed by a hacker known as Jazz_Man, around January o

Pindorama 9 Oct 4, 2022
A modern CLI to download animes automatically from Twist

Kurby Kurby is a nice and simple CLI that use Twist website, and their huge collection to download animes for free and automatically Animes from Twist

Alain BERRIER 48 Dec 22, 2022
Download courses from khanacademy.org

khan-dl A python script to download courses from Khan Academy using youtube-dl and beautifulsoup4.

rand-net 806 Jan 3, 2023