# Cover

![](https://385183190-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LALzEJb2OWieR8wsHSj%2F-LALzgq9p6QwaZ3VJBI6%2F-LALzkm3payTyqZyDaYy%2Fcover.jpg?generation=1524025474479101\&alt=media)\
[ By kyorohiro](http://kyorohiro.github.io/)

[イントロ](https://nazenani-torrent.firefirestyle.net/intro)

* [はじめに](https://nazenani-torrent.firefirestyle.net/intro/introduction)
* [Torrentとは](https://nazenani-torrent.firefirestyle.net/intro/about)
* [ゴール](https://nazenani-torrent.firefirestyle.net/intro/goal)
  * [Torrentファイルを読み込む](https://nazenani-torrent.firefirestyle.net/torrentfile)
* [About](https://nazenani-torrent.firefirestyle.net/torrentfile/about)
* [Bencode](https://nazenani-torrent.firefirestyle.net/torrentfile/bencode)
* [Bencodeの実装](https://nazenani-torrent.firefirestyle.net/torrentfile/implementation)
* [TorrentFileの中身](https://nazenani-torrent.firefirestyle.net/torrentfile/content)
  * [Httpサーバーを作成してみる](https://nazenani-torrent.firefirestyle.net/http)
  * [UPnpによるポートマップ](https://nazenani-torrent.firefirestyle.net/upnp)
* [UPnPによるポートマップ](https://nazenani-torrent.firefirestyle.net/upnp/about)
* [UPnPの実装](https://nazenani-torrent.firefirestyle.net/upnp/implementation)
  * [Trackerへアクセスしてみる](https://nazenani-torrent.firefirestyle.net/tracker)
* [About](https://nazenani-torrent.firefirestyle.net/tracker/about)
* [TrackerはHttpサーバ](https://nazenani-torrent.firefirestyle.net/tracker/http)
* [リクエストの中身](https://nazenani-torrent.firefirestyle.net/tracker/request)
* [レスポンスの中身](https://nazenani-torrent.firefirestyle.net/tracker/response)
* [テスト](https://nazenani-torrent.firefirestyle.net/tracker/test)
  * [ダウンロードゲームへ参加してみる](https://nazenani-torrent.firefirestyle.net/client)
* [About](https://nazenani-torrent.firefirestyle.net/client/about)&#x20;
* [ダウンロードゲーム](https://nazenani-torrent.firefirestyle.net/client/downloadgame)
* [ブロックデーターの実装](https://nazenani-torrent.firefirestyle.net/client/blockdata)
* [配信用、Peerを作成してみよう](https://nazenani-torrent.firefirestyle.net/client/updater)
* [基本戦術](https://nazenani-torrent.firefirestyle.net/client/basicss)
* [Chokeの実装](https://nazenani-torrent.firefirestyle.net/client/chokeimpl)
  * [DHTに対応してみる](https://nazenani-torrent.firefirestyle.net/dht)
* [About](https://nazenani-torrent.firefirestyle.net/dht/about)
* [Tracker無しでPeerを探す](https://nazenani-torrent.firefirestyle.net/dht/aboutdht)
* [KademliaのkBucketを利用している](https://nazenani-torrent.firefirestyle.net/dht/kbucket)
* [RootingTableを実装してみよう](https://nazenani-torrent.firefirestyle.net/dht/kbucketimpl)
* [FindNodeでネットワークの構築](https://nazenani-torrent.firefirestyle.net/dht/findnodes)
* [FindNodeを実装](https://nazenani-torrent.firefirestyle.net/dht/findnodesimpl)
* [GetPeersでInfoHashに対応するPeerを探す](https://nazenani-torrent.firefirestyle.net/dht/getpeers)
* [テスト](https://nazenani-torrent.firefirestyle.net/dht/test)
  * \[Dartの基礎]
* \[なぜDart]&#x20;
* [Hello World](https://nazenani-torrent.firefirestyle.net/dartno/helloworld)
* [Test/Debug](https://nazenani-torrent.firefirestyle.net/dartno/observatory)
  * [Get started with Observatory](https://nazenani-torrent.firefirestyle.net/dartno/observatory/observatory_getstarted)
