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
Owner
Anand Balaji
CTF player @teambi0s | Exploit dev & Systems Security Enthusiast | Currently exploiting browsers
Anand Balaji
Youtube Downloader is a simple but highly efficient Youtube Video Downloader, made completly using Python

Youtube Downloader is a simple but highly efficient Youtube Video Downloader, made completly using Python

Arsh 2 Nov 26, 2022
Source code of paper: "HRegNet: A Hierarchical Network for Efficient and Accurate Outdoor LiDAR Point Cloud Registration".

HRegNet: A Hierarchical Network for Efficient and Accurate Outdoor LiDAR Point Cloud Registration Environments The code mainly requires the following

Intelligent Sensing, Perception and Computing Group 3 Oct 06, 2022
Pypixiv - A fully-typed, asynchronous api wrapper for pixiv

pypixiv this library is a fully-typed, asynchronous api wrapper for pixiv. featu

DeltaLaboratory 2 Nov 16, 2022
Vinetrimmer-DRM-TOOL - Widevine DRM downloader and decrypter for AMZN|NF|STAN And all

πŸƒ βœ‚οΈ Vinetrimmer Widevine DRM downloader and decrypter. Thanks to wvleaks for t

Vlad Tănăsescu 20 Jan 13, 2022
A program which takes an Anime name or URL and downloads the specified range of episodes.

super-anime-downloader A console application written in Python3.x (GUI will be added soon) which takes a Anime Name/URL as input and downloads the ran

Sayyid Ali Sajjad Rizavi 26 Jul 18, 2022
nextdl - download videos from youtube.com or other video platforms

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

3 Feb 02, 2022
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

4 Jul 20, 2022
ASF Sentinel-1 Metadata Download tool

ASF Sentinel-1 Metadata Download tool Copyright: 2021-2022 Antonio Valentino Small Python tool (asfsmd) that allows to download XML files containing S

Antonio Valentino 9 Dec 04, 2022
Code to scrape , download and upload to youtube daily

Youtube_Automated_Channel Code to scrape , download and upload to youtube daily INSTRUCTIONS Download the Github Repository Download and install Pytho

Atsiksdong 2 Dec 19, 2021
Download your bandcamp collection using this python script.

bandcamp-downloader Download your Bandcamp collection using this python script. It requires you to have a browser with a logged in session of bandcamp

72 Dec 20, 2022
ζŠ–ιŸ³ζ‰Ήι‡δΈ‹θ½½εŠ©ζ‰‹

ζŠ–ιŸ³ζ‰Ήι‡δΈ‹θ½½εŠ©ζ‰‹

HuangSK 303 Jan 05, 2023
Youtube Downloader Telegram Bot πŸ˜‰

Youtube Dl bot πŸ˜‰ Prerequisite ffmpeg install dependencies pip3 install -r requirements.txt Setup Bot - Change configuration config.py File - insta

Aryan Vikash 285 Dec 06, 2022
Music and video downloader, Made with love by Bryan Herrera

Python-Mp3Mp4-Downloader Music and video downloader, Made with love by Bryan Herrera Requirements CHOCOLATELY windows command If your system does not

ርᚱ1αŠ“α‰°α›° αš»αˆ…αš₯α‰°αƒžαš± 104 Dec 27, 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
Convert BMS songs to osu! With options to convert keysounds and convert to 7key.

bmx2osu Convert BMS to osu! With options to: convert keysounds to one song file using BMX2WAV include 7k version change Overall Difficulty and HP Drai

7 Nov 28, 2022
Libretrofuzz - Fuzzy Retroarch thumbnail downloader

Fuzzy Retroarch thumbnail downloader In Retroarch, when you use the manual scann

8 Nov 26, 2022
The tool allows to download a list of tiktok sounds

dependencies: pip install requests how to use LAUCH THE PROGRAM file (option f)

carpal 3 Jan 21, 2022
Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a Kindle or other similar reading devices.

Arxiv2Kindle is a simple script written in python that converts LaTeX source downloaded from Arxiv and recompiles it to better fit a read

Soumik Rakshit 8 Jul 09, 2022
Used Insta Loader to download high quality images from instagram account

Insta Dp Downloader Project Description: In this project, I have used "Insta Loader" to download high quality images from instagram account. You only

Hassan Shahzad 3 Oct 31, 2022
Download India Stocks Historical Data

Kite Helper - Download Stock Market Data 🌎 Website Simple Application to Download any stock market data in .csv format using Kite πŸƒβ€β™‚οΈ Running Serve

Pishang Ujeniya 12 Dec 06, 2022