Что ты такое?
BitTorrent - p2p (peer to peer, от человека к человеку) протокол обмена файлов по сети интернет. Один из многих, но при этом самый известный.
Все участники подобной сети являются равноправными и способны как скачивать, так и раздавать контент остальным участникам сети. В подобной модели отсутсвует какой-либо центральный сервер, что делает её наиболее устойчивой к отказам работы, независимо от их причины.
Как происходит загрузка файлов?
Для загрузки файлов в BitTorrent клиент подключается к трекеру, которому передает свой адрес и хэш-сумму (уникальное шестнацетиричное число, необходимое для того, чтобы убедиться в целостности и неизменности скачиваемого файла) необходимого торрент-файла.
Трекер в свою очередь выдаёт список доступых пиров (людей, раздающих торрент файл), после чего сам в процессе загрузки не учавствует.
Клиент загружает информацию частями, собирая по кусочку от каждого доступного пира. Чтобы убедиться, что подобный "пазл" собран правильно и файл не поврежден, необходима хэш-сумма. Её особенность состоит в том, что она очень сильно меняется даже при незначительном изменении файла (перекрасить один пиксель в одном единсвтенном кадре трёхчасового фильма будет вполне достаточно, чтобы хэш-сумма очень заметно изменилась), а потому она служит надежным способом убедиться, что загрузка завершена корректно.
По завершению загрузки клиент становится таким же пиром, и начинается раздавать файл остальным клиентам.
Схема работы торрента
Здесь:
- Торрент-файл - непосредственно файл для скачивания
- Сид - создатель раздачи
- Трекер - агрегатор торрентов, позволяющий эффективно их находить
- Пир - другие люди, скачавшие торрент-файл и раздающие его
Где это используется?
Везде, где требуется распределенная раздача контента. Например:
- PeerTube - любой, кто смотрит видео, автоматически начинает раздавать его остальным. За счёт этого нагрузка на сервер при большом наплыве пользователей снижается, что позволяет поднимать свои публичные сервера всем желающим, независимо от того, насколько большими ресурсами он обладает.
- ZeroNet - интернет на торрентах. Буквально. Всё, что вы так любите, но без единой точки отказа.
- Загрузка конкретных файлов - например, некоторые дистрибутивы GNU/Linux раздают образы своих ОС через торрент с целью снизить нагрузку на свои сервера
- Popcorn Time - торрент-клиент + видеопроигрыватель, так же известный как "Netflix для пиратов". Полагаю, этим всё сказано.
Клиенты BitTorrent
Для непосредственной работы с торрентами (их загрузкой и раздачей) необходим торрент-клиент.
Клиенты могут быть разными - веб-приложениями (т.е. разположенными на сайтах), мобильными, настольными, консольными, и т.д. и т.п. От клиентов не требуется слишком многого, поэтому программы могут быть самыми разными.
Перед началом работы стоит настроить порты. Вы можете выбрать что-то из диапазона 49152–65535 или использовать случайные порты.
Настройка портов в Transmission
Открыв программу, вам необходимо добавить новый файл.
Открытие файла
Это может быть как файл расширением .torrent
Папка с файлами
Так и magnet-ссылка - если вам не хочется качать файлы. К слову, браузеры автоматически предлагают открывать magnet-ссылки в торрент-клиентах
Firefox предлагает открыть magnet-ссылку в клиенте Transmission
Поиск торрентов
Само собой, перед тем, как начать загрузку торрент-файла, нужно найти соответсвующую раздачу. Для такого существуют различные агрегаторы и поскоивики.
Самый известными агрегаторами на данный момент являются
Из поисковиков можно порекомендовать LibreX. Будучи свободной поисковой системой, он так же позволяет искать контент в сети Tor или BitTorrent
Поиск торрентов в LibreX
Так же для просмотра видео в режиме онлайн-трансляции существует клиент Popcorn Time, так же известный как "Netflix для пиратов". Данный клиент позволяет смотреть фильмы и сериалы онлайн, а так же имеет собственный каталог.
Стартовая страница Popcorn Time
Главным неудобством при работе с торрентами являются ограничения, накладываемые провайдерами, особенно с мобильными. Это может быть как полная блокировка, так и взымание дополнительной платы за использование BitTorrent. Самым простым способом обхода таких ограничений является банальное использование VPN или Tor. Однако, я предлагаю вам рассмотреть ещё несколько возможных способов.
Принудительное шифрование трафика
Данная функция маскирует используемый программой трафик, благодаря чему провайдер не может его отследить и заблокировать.
Однако в таком случае, список источников торрент-файла будет ограничен лишь теми, у кого так же включено шифрование
Включение шифрования в Transmissiona
Использование I2P
Ещё одним сценарием использования BitTorrent является его работа в сети I2P. В этом случае работа с торрентами будет возмжно исключительно в данной сети, однако это вполне может того стоить хотябы потому, что такие торренты неблокируемые by design.
В качестве трекера здесь используется tracker2.postman.i2p
Главная страница сайта
Количество клиентов ограничено теми, которые умеют напрямую работать с I2P (нельзя просто настроить прокси, это не будет работать)
В качестве примера настроим клиент I2PSnark (для запуска необходима java)
Для клиента на java он доступен "из коробки", прямо в веб интерфейсе. Для i2pd же его необходимо качать отдельно
Перед использованием в i2pd так же необходимо включить i2pc. Для этого добавьте в i2pd.conf следующие строки:
[I2PC]
enabled = true
address = 127.0.0.1
port = 7654
После чего перезапустите i2pd
После запуска клиента он будет доступен по адресу http://127.0.0.1:8002
Веб-интерфейс I2PSnark
По принципу работы данный клиент ничем не отличается от других, разве что работает исключительно в сети i2p и, возможно, имеет не слишком привычный интерфейс