3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DartAdvent Calendar 2020

Day 12

P2P なぜなにTorrent 2021 用 ネタ集め(1) プラットフォーマに依存しないサービス

Last updated at Posted at 2020-12-25

libtorrent の version 2 の RC版 が 出ました。
最近はP2P系の技術を追っていませんでしたが、良い機会なので、追ってみようかと思います。

で、そのレポートの1回目です。
今回の記事には以下の効用があります。

  • libtorrent の 開発環境の Dockerfile
  • libtorrent の hello world の コード

Index

プラットフォーマに依存しないサービス
Libtorrrent の使い方

プラットフォーマと検閲

2020年の アメリカの大統領選挙で、Google などのビックテックによる多くの検閲が行われました。
それによって、プラットフォーマーによる検閲が多くの人の知るところになりました。

以前から、Google Drive のファイルが勝手に消される
※ わかり易いところで 二次元のポルノなど https://news.yahoo.co.jp/byline/yamamotoichiro/20191124-00152188/
など、このような事は、一部の界隈では知られていましたが、今まで知られていませんでした。

今、検閲のしないプラットフォーマーが望まれています。
しかし、検閲のないプラッフォームはありません。宗教的倫理観やサービスの趣旨によって必ず検閲をする必要が出てきます。

わかり易いところだと、グロい画像や、暴力的な内容や、そもそもそのサービスの意図に沿わない内容の情報などです。

プラットフォーマに依存しない P2P

これらの検閲の問題は、プラットフォーマーの倫理観では解決できません。プロトコルによって解決すべきものです。

Bittorrent ネットワークでの 例 と 可能性

ここでは、Bittorrent を例に P2Pでこの問題が解決される例を上げます。

Torrent の  プロトコル では、 データーをダウンロードする人は、そのままデータの配信者になります。

プラットフォーマーが負っていた責任は、利用者が持つ事になり。プラットフォーマーが検閲を行う必要がなくなります。

Bittorrent の ネットワークに参加してみよう

実際に Bittorrent の ネットワークに参加してみましょう..

BitTorrent とは

Bittorrent は ファイル を共有する P2Pネットワークです。
https://ja.wikipedia.org/wiki/BitTorrent

データーのダウンロードする人が、データーの配信者になるという特徴をもっています。

libTorrent

この記事では、 Bittorrent に参加するのに、 libtorrent を利用します。
https://www.libtorrent.org/

開発環境

Docker 環境を用意しました。

準備

git clone https://github.com/kyorohiro/libtorrent_codeserver
cd libtorrent_codeserver
cd res 
git clone https://github.com/arvidn/libtorrent
cd libtorrent
git checkout RC_2_0
git submodule init 
git submodule update

code-server (vscode ) を立ち上げる

docker-compose build
docker-compose up -d

libtorrent も このタイミングでビルドしています。

起動してHello World

code-server が無事に立ち上がっていれば、 "http://127.0.0.1:8443/ "
※ 127.0.0.1 は 環境に依存します

ビルド

g++ main_simple_torrent.cpp  -ltorrent-rasterbar -lpthread

実行

./a.out xxx.torrent

xxx.torrent は あなたが指定した Torrent ファイル

次回

とりあえず動作させる事ができるようになったと思います。
次回は、torrent について、解説しながら
libtorrentの使い方をマスターしていきます。

PS

Code

REF

Other

dev.to にも投稿した
https://dev.to/kyorohiro/code-server-for-libtorrent-2-0-1m85

以前にまとめた Torrent 関連の情報
"なぜなに Torrent 2014" https://nazenani-torrent.firefirestyle.net/
Dart で書かれています。 Dart2系では動作しません。

3
2
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?