[{"title":"( 39 个子文件 121KB ) bit-torrent:使用Python + asyncio构建的BitTorrent客户端","children":[{"title":"bit-torrent-master","children":[{"title":"icons","children":[{"title":"pause.svg <span style='color:#111;'> 975B </span>","children":null,"spread":false},{"title":"file.svg <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"directory.svg <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false},{"title":"resume.svg <span style='color:#111;'> 1011B </span>","children":null,"spread":false},{"title":"logo.svg <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":"remove.svg <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"about.svg <span style='color:#111;'> 1.55KB </span>","children":null,"spread":false},{"title":"add.svg <span style='color:#111;'> 871B </span>","children":null,"spread":false}],"spread":true},{"title":"screenshot.png <span style='color:#111;'> 47.39KB </span>","children":null,"spread":false},{"title":"torrent_cli.py <span style='color:#111;'> 7.33KB </span>","children":null,"spread":false},{"title":"samples","children":[{"title":"debian-8.3.0-i386-netinst.iso.torrent <span style='color:#111;'> 25.02KB </span>","children":null,"spread":false}],"spread":true},{"title":"requirements.txt <span style='color:#111;'> 125B </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false},{"title":"torrent_client","children":[{"title":"control","children":[{"title":"server.py <span style='color:#111;'> 3.44KB </span>","children":null,"spread":false},{"title":"manager.py <span style='color:#111;'> 6.07KB </span>","children":null,"spread":false},{"title":"formatters.py <span style='color:#111;'> 3.17KB </span>","children":null,"spread":false},{"title":"client.py <span style='color:#111;'> 1.79KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 133B </span>","children":null,"spread":false}],"spread":true},{"title":"models.py <span style='color:#111;'> 18.40KB </span>","children":null,"spread":false},{"title":"utils.py <span style='color:#111;'> 1.43KB </span>","children":null,"spread":false},{"title":"file_structure.py <span style='color:#111;'> 3.36KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 0B </span>","children":null,"spread":false},{"title":"algorithms","children":[{"title":"speed_measurer.py <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"peer_manager.py <span style='color:#111;'> 5.33KB </span>","children":null,"spread":false},{"title":"announcer.py <span style='color:#111;'> 3.44KB </span>","children":null,"spread":false},{"title":"downloader.py <span style='color:#111;'> 17.01KB </span>","children":null,"spread":false},{"title":"torrent_manager.py <span style='color:#111;'> 3.48KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 56B </span>","children":null,"spread":false},{"title":"uploader.py <span style='color:#111;'> 3.63KB </span>","children":null,"spread":false}],"spread":true},{"title":"network","children":[{"title":"peer_tcp_server.py <span style='color:#111;'> 2.10KB </span>","children":null,"spread":false},{"title":"tracker_clients","children":[{"title":"udp.py <span style='color:#111;'> 6.47KB </span>","children":null,"spread":false},{"title":"http.py <span style='color:#111;'> 3.45KB </span>","children":null,"spread":false},{"title":"__init__.py <span style='color:#111;'> 816B </span>","children":null,"spread":false},{"title":"base.py <span style='color:#111;'> 1.20KB </span>","children":null,"spread":false}],"spread":false},{"title":"__init__.py <span style='color:#111;'> 161B </span>","children":null,"spread":false},{"title":"peer_tcp_client.py <span style='color:#111;'> 14.65KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"README.md <span style='color:#111;'> 4.25KB </span>","children":null,"spread":false},{"title":"LICENSE.txt <span style='color:#111;'> 1.06KB </span>","children":null,"spread":false},{"title":"torrent_gui.py <span style='color:#111;'> 20.56KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}]