TRON 買下 BitTorrent Inc.

在「BitTorrent Inc. Officially Confirms Acquisition by TRON Foundation」這邊看到的消息,BitTorrent Inc. 這邊的新聞稿在「It’s Official: BitTorrent Is Now Part of TRON!」。

BitTorrent Inc. 一直找不到方向,結果被 cryptocurrency 這邊領域的買走了,後面的方向其實不太需要猜,一般使用者大概都不會愛...

client 的部份我跳船很久了,目前在 Ubuntu 下主要是以 RTorrent 為主,而 Windows 上有在用 qBittorrent。還沒跳船的趁這次可以參考一下...

在北美盜版 IPTV 產生的流量比 BitTorrent 還多

算是前陣子的新聞,在北美地區的盜版 IPTV 流量比 BitTorrent 的流量還多:「IPTV Piracy Generates More Internet Traffic Than Torrents」。

During peak hours, 6.5% of all downstream traffic on fixed networks is generated by TV piracy services.

To put this into perspective; this is more than all BitTorrent traffic during the peak hours, which was “only” 1.73% last year, and dropping.

如果把影音網站都考慮進去,最大的還是 YouTubeNetflix 這兩個啦,不過盜版的量也不小...

然後也有把最大的量分析出來,這裡面最大的量是 Indian Star Plus HD,應該是印度裔或是印度籍的人看家鄉的東西?

The most viewed of all in North America, with 4.6% of all pirated TV traffic, is the Indian Star Plus HD.

不過 Sandvine 一直都有方法分析整個北美流量,讓人感覺不太舒服...

直接在網頁上使用 WebTorrent

看到 GitHub 上的「mikeal/webtorrent-component」這個專案,可以很方便直接嵌入 BitTorrent 的資源,像是這樣嵌:

<script src="https://cdn.jsdelivr.net/npm/webtorrent-component@latest/dist/webtorrent-component.min.js"></script>

<web-torrent src="magnet:?xt=urn:btih:08ada5a7a6183aae1e09d831df6748d566095a10&dn=Sintel&tr=wss%3A%2F%2Ftracker.btorrent.xyz&tr=wss%3A%2F%2Ftracker.fastcast.nz&tr=wss%3A%2F%2Ftracker.openwebtorrent.com&ws=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2F&xs=https%3A%2F%2Fwebtorrent.io%2Ftorrents%2Fsintel.torrent" file="Sintel.mp4" />

如果拿來跟「Using BitTorrent with Amazon S3」用的話可以在量大的時候省一些頻寬,並且在量小的時候還是維持有 seed (透過 Amazon S3 的服務做)。

Tails 3.0 出了,然後又開始提供 BitTorrent 下載了...

Tails 是個 Tor 的獨立環境,可以直接用 USB 開機或是透過虛擬機上線,避免受到其他干擾而洩漏資訊。

剛剛看到了 Tails 發佈 3.0 版的消息:「Tails 3.0 is out」,比較特別的是在下載頁面發現 BitTorrent 的下載方式又被放回去了。

前陣子本來在「BitTorrent 對 SHA-1 的改善計畫?」這邊有提到 Tails 的團隊因應 SHA-1 的問題,在討論是否要繼續提供 BitTorrent 的問題 (因為 BitTorrent 裡使用 SHA-1 做很多事情),當時的決議其實是暫時使用 BitTorrent 發佈:「Biterrant attack」。

不過後續的更新這樣寫,所以看起來暫時會先恢復 BitTorrent 下載的方式:

After reading this discussion, my current conclusion is that we've totally misunderstood the impact of the attack, and that the security of our bittorrent downloads is still good enough. So I propose we revert to what we did before the 2.12 release, i.e. ship Torrents, for the foreseeable future when 2nd pre-image attacks are not realistic yet.

回到 Tails 3.0 本身,其中比較大的改變是放棄了 32bits 的支援:

Tails 3.0 works on 64-bit computers only and not on 32-bit computers anymore.

然後以前要在開機進到進階選單才有的語言設定,現在變成預設就會提醒了:

也許該再來測試看看注音輸入法好不好用的問題了 XD

BitTorrent 對 SHA-1 的改善計畫?

最新一版的 Tails 不再支援透過 BitTorrent 下載,會被導去「Biterrant attack」這邊的連結,裡面有一些關於在 SHA-1 打穿後要怎麼判斷。

BitTorrent 的討論 (包括 BitTorrent 發明人 Bram Cohen 的參與) 則是在 GitHub 上:「Transitioning to stronger hash function · Issue #58 · bittorrent/bittorrent.org」,不過看起來連要用什麼 hash algorithm 的定案都還沒有啊... 而且二月底比較熱鬧一點,三月後都沒什麼動作了。

看起來短時間也不會有動作了...

完全分散式的 BitTorrent 搜尋引擎

BitTorrent 已經有足夠的技術與環境 (ecosystem) 做出完全分散式架構的搜尋引擎了,類似於 eDonkey Network (或是說後來變成主流的 eMule) 上的 search 功能,但一直沒看到類似的東西...

magnetico 算是一個嘗試,完全透過 DHT 搜尋取得結果:

不過這套軟體的 license 是攻擊性超強的 AGPLv3,算是實驗性質吧。要真正普及應該要像 eMule 一樣直接做進 client 內...

把 rTorrent 跑到 Docker 裡

花了些時間研究如何把 rTorrent 丟進 Docker 裡跑,對應的設定都放在 GitHub 上的「gslin/rtorrent-docker」這邊。

使用的方式是傳入使用者的 uid 與 gid (-e USER_GID-e USER_UID),以及預期的 port (有兩個地方,一個是 -e PORT,另外一個是 -p 開 port forwarding,不然外面沒辦法直接連進來),然後把 TERM 變數丟進確保 console 的操作。剩下來把對應的目錄掛進 container 讓他可以寫入 (-v 的部份):

docker run \
    -e PORT=6991 -e TERM=${TERM} \
    -e USER_GID=`id -g` -e USER_UID=`id -u` \
    -i -p 6991:6991 -t -v "`pwd`:/srv/rtorrent" \
    gslin/rtorrent:latest

自己用這樣應該是夠用了... 把這串命令放到 shell 的 alias 裡面用就好了。

印度 ISP 跟 Torrent 站台合作加速下載

在「Indian ISPs Speed Up BitTorrent by ‘Peering’ With a Torrent Site」這篇講到印度的 ISP 跟 torrent 站台 TorBox 合作,加速下載的速度。

裡面提到了蠻有趣的加速技巧:

They help users to download content faster by linking them to local peers in their own network.

不知道是不是指 Local Peer Discovery (BEP-14) 的技術,如果是的話大概可以猜出作法... 這樣可以降低不少 ISP 對外頻寬的流量與成本。

Amazon S3 開放 IPv6 存取

開放 IPv6 存取 Amazon S3 了:「Now Available – IPv6 Support for Amazon S3」。

對應的 Endpoint 是 http://BUCKET.s3.dualstack.REGION.amazonaws.comhttp://s3.dualstack.REGION.amazonaws.com/BUCKET

值得注意的是所有功能都開放 IPv6 了,包括 BitTorrent (還記得嗎 XDDD 如果忘記的,可以參考「Using BitTorrent with Amazon S3 這篇的說明」):

S3 Feature Support – IPv6 support is available for all S3 features with the exception of Website Hosting, S3 Transfer Acceleration, and access via BitTorrent.

Update:寫太快發現早上匆匆忙忙出門寫錯了,是「不支援」,感謝 Twitter 上被提醒了:

接下來是等 Amazon EC2Amazon CloudFront 的支援...

用 BitTorrent DHT 分散架構的 Twitter

看到「Decentralized feeds using BitTorrent's DHT. Idea from Arvid and The_8472 "DHT RSS feeds" http://libtorrent.org/dht_rss.html」這個東西,基於 BitTorrentDHT 所開發出來,完全分散架構的 Twitter-like 系統。

目前的 client 界面長這樣:

也可以顯示外部圖片:

如同作者說的,BitTorrent 的 DHT 的抵抗力很好。的確是因為種種原因,有不少單位常常攻擊他,希望他掛掉或是不穩,而這麼多年下來,由於一開始的設計上就有考慮到這樣的攻擊,實戰也存活得很好:

BitTorrent's DHT is probably one of the most resilient and censorship-resistant networks on the internet. PeerTweet uses this network to allow users to broadcast tweets to anyone who is listening.

程式是用 Node.js 寫的,不過用到的東西比較多,安裝起來會比較麻煩一點,照著說明。