GithubHelp home page GithubHelp logo

bittorrent-protocol-simple-implementation's Introduction

simple bittorrent client

just for exercise

implement:

  • parse torrent file
  • use http or udp method accroding to torrent to get peers(ip, port) from tracker
  • establish tcp connection from other peers and download single file

need to fix:

  • download multiple files
  • multiple error conditions check
  • use torrent announce list
  • udp tracker connect and announce resp check
  • udp tracker timeout get resp fail and send request agian automatically
  • handshake info_hash and peer_id check
  • upload file(s)
  • DHT
  • rarest strategy
  • reconnect if peer drop connection
  • add a graphic user interface
  • look for more peers periodically
  • pause and resume downloading
  • NATs traversal

reference

-- how-to-make-your-own-bittorrent-client excelent !!! i try do this project from this blog

-- How to Write a Bittorrent Client nice article ! guide you how to do step by step

-- wiki bittorrent nice website from that you can find infomation

ψ(`∇´)ψ

  • use wireshark to catch packet and analyze it
  • without google and stackoverflow , i can't code (´ཀ`」 ∠)

bittorrent-protocol-simple-implementation's People

Contributors

huhu2356 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

estevamorais

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.