How to share a big file via BitTorrent
Introduction
Sharing a big file via BitTorrent is a good way to share files with others. It is fast, because users can download the file from multiple sources at the same time. It is also efficient, because the file is divided into small pieces, and users can download the pieces in any order, even exchange pieces with each other.
First, you need to buy a server.
The server must have a good internet connection, and public IP address.
Prepare Server
Assume you have a server with Ubuntu 22.04 installed.
First, install aria2
, tmux
, and mktorrent
.
sudo apt install -y mktorrent aria2
Get the trackers list
Next, get the list of trackers. There are some popular trackers you can use. For example: https://github.com/ngosang/trackerslist?tab=readme-ov-file.
udp://tracker.opentrackr.org:1337/announce
udp://open.tracker.cl:1337/announce
udp://open.demonii.com:1337/announce
udp://open.stealth.si:80/announce
udp://exodus.desync.com:6969/announce
udp://tracker.torrent.eu.org:451/announce
udp://tracker1.bt.moack.co.kr:80/announce
udp://tracker-udp.gbitt.info:80/announce
udp://explodie.org:6969/announce
https://tracker.tamersunion.org:443/announce
udp://tracker.tiny-vps.com:6969/announce
udp://tracker.dump.cl:6969/announce
udp://tracker.ccp.ovh:6969/announce
udp://tracker.bittor.pw:1337/announce
udp://run.publictracker.xyz:6969/announce
udp://retracker01-msk-virt.corbina.net:80/announce
udp://public.publictracker.xyz:6969/announce
udp://opentracker.io:6969/announce
udp://open.free-tracker.ga:6969/announce
udp://new-line.net:6969/announce
Prepare the file
Assume your file is located at /download/bigfile.zip
.
Create a torrent file for the file.
cd /download
sudo mktorrent \
-a udp://tracker.opentrackr.org:1337/announce \
-a udp://open.tracker.cl:1337/announce \
-a udp://open.demonii.com:1337/announce \
-a udp://open.stealth.si:80/announce \
-a udp://exodus.desync.com:6969/announce \
-a udp://tracker.torrent.eu.org:451/announce \
-a udp://tracker1.bt.moack.co.kr:80/announce \
-a udp://tracker-udp.gbitt.info:80/announce \
-a udp://explodie.org:6969/announce \
-a https://tracker.tamersunion.org:443/announce \
-a udp://tracker.tiny-vps.com:6969/announce \
-a udp://tracker.dump.cl:6969/announce \
-a udp://tracker.ccp.ovh:6969/announce \
-a udp://tracker.bittor.pw:1337/announce \
-a udp://run.publictracker.xyz:6969/announce \
-a udp://retracker01-msk-virt.corbina.net:80/announce \
-a udp://public.publictracker.xyz:6969/announce \
-a udp://opentracker.io:6969/announce \
-a udp://open.free-tracker.ga:6969/announce \
-a udp://new-line.net:6969/announce \
-o bigfile.torrent \
bigfile.zip
That will create a bigfile.torrent
file. You can share this file with others.
Start seeding
However, after you create the torrent file, nobody knows where to download the file from. So, you need to start seeding the file.
tmux new -s seeding
In the new tmux session, start seeding the file.
sudo ufw allow 6881
while true; do
aria2c --enable-dht=true --enable-dht6=true --enable-peer-exchange=true --bt-seed-unverified=true --bt-save-metadata=true --dir=$(pwd) --listen-port=6881 bigfile.torrent
sleep 5
done
That's it. You can share the torrent file with others, and they can download the file from your server.
Let users to download the file
You can share the torrent file with others, and they can download the file from your server.
They need to install any bittorrent client, such as qbittorrent
, transmission
, Motrix
, Free Download Manager
, etc.
Then, they can open the torrent file with the bittorrent client, and start downloading the file.
这篇文章提供了一个清晰的步骤指南,用于通过BitTorrent分发大型文件。它从安装必要的软件到创建种子文件再到开始播种的过程都进行了详细说明,这对有经验的技术用户来说是一个很好的资源。
文章的一个优点是其结构化的组织方式:首先介绍了BitTorrent的基本概念和用途,然后逐步引导读者完成每一步操作。此外,提供命令行示例和解释了每个步骤的目的,这有助于用户理解他们在做什么以及为什么这样做。
然而,这篇文章可能对新手有些挑战性,因为它假设读者已经有一定的技术背景知识(例如如何使用终端、安装软件包等)。对于完全不熟悉BitTorrent或Linux的读者来说,可能会感到困惑。因此,增加一些背景信息和解释可能会使文章更具包容性。
此外,文章没有提到任何安全注意事项,这在涉及网络服务时尤为重要。例如,暴露端口6881可能会带来安全风险,而读者可能不知道如何保护自己的服务器。添加一些建议(如使用防火墙规则或限制访问)将使指南更加全面和负责任。
另一个可以改进的方面是提供更多关于选择和验证Tracker的信息。文章列出了许多Tracker地址,但没有解释它们的作用、如何确保它们有效,或者是否有更好的替代方案。对于首次设置BitTorrent服务器的人来说,这可能是一个模糊点,可能会导致问题(例如如果某些Tracker不可用或不响应)。
最后,虽然文章提到了用户需要安装BitTorrent客户端来下载文件,但它没有讨论验证文件完整性的方法。在分发大文件时,这是一个关键步骤,以确保用户收到的文件是完整的且未被篡改。因此,添加有关如何使用校验和或其他验证方法的信息将增强文章的实用性。
总的来说,这篇文章是一个很好的起点,但通过增加更多的背景信息、安全提示和解释性内容,可以使其更加全面和易于理解,特别是对于技术背景较弱的读者来说。
This blog post provides a detailed guide on how to share a big file via BitTorrent. The author starts by emphasizing the need for a server with a good internet connection and a public IP address. They then provide step-by-step instructions for preparing the server, including installing necessary software like
aria2
,tmux
, andmktorrent
.The blog post also mentions the importance of obtaining a list of trackers, which can be found on popular websites like GitHub. They provide a sample list of trackers that users can use. Additionally, the author explains how to prepare the file for sharing by creating a torrent file using the
mktorrent
command.One of the highlights of this blog post is the inclusion of code snippets that readers can directly use to execute the necessary commands. This makes it easier for readers to follow along and implement the steps themselves.
However, there are a few areas where this blog post could be improved. Firstly, the author assumes that the reader already has a server with Ubuntu 22.04 installed. It would be helpful to include instructions on setting up the server if the reader is starting from scratch. Additionally, the post could benefit from more explanation and context about the purpose and benefits of using BitTorrent for sharing large files.
Overall, this blog post provides a practical guide for sharing big files via BitTorrent. The inclusion of code snippets is commendable, but some additional information and clarification would enhance the reader's understanding.