Как торрент файл сделать обычным

Обновлено: 06.07.2024

В этой инструкции расскажем, как пользоваться uTorrent на компьютере с ОС Windows. Инструкция состоит из нескольких частей, рекомендуем читать по порядку. Ссылки для быстрого перехода:

Что такое торрент-файл и magnet-ссылка

Фильмы, сериалы, игры и другой контент, скачиваемый через торрент, хранятся не на каком-то одном центральном сервере, а на обычных компьютерах обычных пользователей. И чтобы этот контент оттуда загрузить, программе uTorrent нужно:

  1. узнать, на каких именно компьютерах искать;
  2. получить техническую информацию о запрашиваемых файлах (имя, размер, хэш и т.д.).

Такая информация хранится в торрент-файле – маленьком файлике с расширением .torrent.

Если uTorrent был установлен правильно, то при клике по любому торрент-файлу будет предложено начать загружать его содержимое. Поэтому все, что нужно сделать – это найти такой торрент-файл. Где его можно найти? Через Гугл или Яндекс, на торрент-трекерах и других подобных тематических сайтах.

Просто вбейте в поисковую строку поисковой системы название фильма, игры или любого другого нужного контента и добавьте слово «торрент» рядом. Вот для примера ссылки на поиск бесплатной операционной системы Fedora в Google и Яндекс. Смотрите на скриншоты, сколько много сайтов найдено.

Поиск торрент-файла

На сайте вы увидите ссылки на торрент-файлы. Скачивайте любой и открывайте в uTorrent. Как это сделать в каждой конкретной версии клиента, написано ниже.

ссылки на торрент-файлы

Еще раз: если вам нужна игра, фильм, сериал или какой-то другой контент, то для начала вам нужно найти торрент-файл для этого контента.

На некоторых торрент-сайтах также можно увидеть magnet-ссылки.

Magnet-ссылки

Они, как и торрент-файлы, передают торрент-клиенту информацию о запрашиваемом контенте. Только magnet-ссылки, в отличии от файлов, не скачиваются на компьютер, а сразу открываются в торрент-клиенте. Поэтому их использовать удобнее.

В итоге у вас 2 варианта:

  1. либо сначала скачиваете торрент-файл, затем открываете его в uTorrent и потом уже качаете нужный контент (2 загрузки);
  2. либо кликаете на magnet-ссылку, она сразу открывается в uTorrent, и вы качаете нужный контент (1 загрузка).

Как пользоваться uTorrent Classic

Классическая версия uTorrent сложна для новичков. Ее интерфейс наполнен технической информацией и незнакомыми словами. Но во всем этом разбираться не обязательно. Главное уметь качать контент. Делается это просто.

1. Для начала определитесь, что хотите скачать. Фильм или музыку – не важно.

2. Определились? Найдите торрент-файл для вашего контента. Что это такое – писали выше.

3. Кликните по торрент-файлу либо просто перетащите его мышкой в интерфейс uTorrent.

3.1. Либо кликните по magnet-ссылке, и когда браузер спросит, в какой программе ее открыть – выберите uTorrent.

4. Откроется окно начала новой загрузки со всей информацией о загружаемых файлах. Проверьте, чтобы в папке для сохранения было достаточно свободного места. Сколько места требуется и сколько есть свободного – отображается справа. Если нужно – поменяйте папку. Затем нажмите ОК.

Как пользоваться uTorrent

5. Начнется загрузка. Дождитесь, когда ее шкала статуса полностью заполнится на 100%. После этого статус обычно меняется на «Раздается» или «В очереди раздач».

шкала статуса

6. Когда загрузка будет завершена, кликните по ней дважды, или выберите через клик правой мышкой команду «Открыть папку», чтобы показать ее в проводнике на компьютере.

Как пользоваться uTorrent Classic

Ненужные торрент-файлы в дальнейшем можно удалять из интерфейса uTorrent кнопкой Del на клавиатуре. Загруженный контент при этом останется на компьютере.

Как пользоваться uTorrent Web

uTorrent Web выглядит проще и понятнее, чем версия Classic. Но он больше «заточен» под загрузку видео файлов, так как здесь их можно сразу просматривать онлайн в удобном встроенном плеере. Загрузка файлов другого формата: игр, программ, музыки и т.д. – здесь также поддерживается, но в более ограниченном варианте.

1. Управление uTorrent Web происходит через веб-интерфейс – в отдельной вкладке стандартного браузера. Чтобы запустить клиент, кликните на его иконку на рабочем столе или в меню Пуск.

Как пользоваться uTorrent Web

2. Теперь определитесь, что хотите скачать через программу. Например – фильм.

3. Найдите торрент-файл для этого фильма (что это – писали выше). Либо самостоятельно через Яндекс, либо через встроенный в программу поиск – в таком случае вас все равно перенаправит на поисковую систему, правда уже в Google.

Найдите торрент-файл

4. Скачайте торрент-файл на компьютер, затем откройте его в uTorrent Web. Либо двойным кликом, либо перетащив во вкладку браузера, в которой запущен торрент-клиент, либо нажав на кнопку «Добавить торрент-файл с компьютера» в его интерфейсе под строкой поиска.

Добавить торрент-файл с компьютера

5. После этого откроется окно добавления загрузки. Проверьте папку сохранения и размер загружаемого файла. Убедитесь, что на диске достаточно места – эта информация отображается сверху. Если нужно – выберите папку на другом диске. Затем нажмите «Добавить».

окно добавления загрузки

6. Дождитесь окончания загрузки. Если качается фильм – его можно начать смотреть сразу после добавления, нажав на значок Play слева от названия.

значок Play

7. Когда файл будет загружен, кликните по нему дважды, чтобы показать в проводнике Windows.

Ненужные загрузки можно удалять из интерфейса кликнув по значку мусорной корзинки справа.

Торренты являются одним из самых популярных способов обмениваться файлами в Интернете, Если вы создаете свой собственный торрент-файл, вы позволяете другим людям загружать файлы прямо с вашего компьютера. В некоторых случаях это намного эффективнее, чем сначала загружать файлы на сайт онлайн-хранилища данных, а затем предлагать скачать их там.

Возможно, вы захотите создать торрент-файл, если вы обмениваетесь файлами, которые слишком велики для электронной почты, или если обычный способ обмена файлами не принимает действительно большие файлы или файл определенного типа. Торренты не различают тип и размер файла, поэтому вы можете делиться буквально всем, что захотите, так долго, как захотите.


Вы можете сделать торрент-файл онлайн или с помощью настольного торрент-клиента. Это все, что вам нужно знать об обоих методах.

Совет: Есть безопасные онлайн-сервисы передачи файлов если вы беспокоитесь о конфиденциальности.

Сделать торрент-файл автономным

Если на вашем компьютере уже есть торрент-программа, которая используется для загрузки торрентов, она также может позволить вам создавать свои собственные торрент-файлы. Если нет, несколько вариантов включают Передача инфекции, qBittorrent, Utorrent, а также BitComet, Есть также специальные торрент-клиенты, для которых вы можете использовать потоковое кино,

Эти программы чрезвычайно упрощают создание торрент-файла, и, поскольку они установлены на вашем компьютере, загрузка торрента с тем, чтобы другие могли загружать ваши файлы, выполняется в фоновом режиме, практически без усилий с вашей стороны.

Например, вот как можно сделать торрент-файл с помощью qBittorrent (он работает в Windows, Mac и Linux).


  • В верхней части окна создания торрента используйте кнопку «Выбрать файл» или «Выбрать папку», чтобы выбрать, что вы делитесь через торрент-файл. Вы также можете перетащить данные непосредственно в это текстовое поле, если хотите.


  • При желании отметьте любой из полей, которые вы считаете подходящими для вашего нового торрент-файла. Например, вы можете начать сеять торрент сразу же после его установки, если отметите эту опцию.
  • В текстовом поле URL-адреса трекера введите торрент-трекеры, которые облегчат связь между всеми пирами, загружающими ваши файлы. Список адресов этих серверов находится на Список торрент-трекеров если тебе нужна помощь


  • Выберите «Создать торрент» в нижней части окна «Создатель торрента», а затем сохраните файл .torrent где-нибудь запоминающимся.


qBittorrent теперь покажет, что торрент заполняется, что означает, что он готов к использованию людьми. Вы можете поделиться своим новым торрент-файлом с кем угодно, и все, что ему нужно, это загрузить его в торрент-клиент, чтобы получить ваши файлы.


Другие торрент-клиенты имеют действительно похожие процедуры для создания торрент-файлов. Просто найдите пункт меню под названием Создать торрент, Построить торрент, Новый Торрентили что-то подобное.

Используйте онлайн торрент создатель

Еще один способ сделать свой собственный торрент-файл с Онлайн торрент создательвеб-инструмент, который сделает всю работу за вас.


Все, что вам нужно сделать, чтобы сделать торрент с этим сайтом, это загрузить один файл или целую папку, полную файлов, по желанию отредактировать некоторые настройки, а затем загрузить файл .torrent на свой компьютер. Это так просто!

Вы всегда можете добавить URL-адреса трекера позже, когда загрузите торрент в свой клиент для заполнения, но при желании вы можете сделать это здесь. Тот же список трекеров, упомянутый выше, можно использовать здесь.

Когда вы создаете торрент-файл, независимо от того, используете ли вы онлайн или офлайн-инструмент, вам все еще нужен торрент-клиент для заполнения (совместного использования) реальных файлов данных. Любой из клиентов, о которых мы упоминали выше, будет работать хорошо, но есть и множество других на выбор, таких как Bitlord, потоп, Vuze, а также FrostWire,

Важно понимать, что торрент-файл отличается от файлов, которыми вы делитесь. Размер торрент-файла чрезвычайно мал, потому что это просто информация, которая объясняет торрент-клиенту, как обращаться с файлами, которыми вы делитесь.


Документы, видео, фотографии и т. Д., Которыми вы делитесь, остаются на вашем компьютере даже после того, как вы поделились торрент-файлом. Единственный раз, когда они копируются с вашего компьютера, это когда кто-то использует торрент для загрузки ваших файлов.

Вот краткое изложение того, как все это работает:

  1. Вы сказали клиенту, какими файлами поделиться.
  2. Клиент дал инструкции о том, как получить доступ к вашим данным.
  3. Вы делитесь списком направлений (торрент-файл) с кем-то еще.
  4. Торрент-клиент другого человека использует торрент, чтобы понять, как скачивать файлы с вашего компьютера.
  5. Ваш торрент-клиент связывается с клиентом другого человека для передачи файлов.

Все ваши файлы остаются на вашем компьютере столько, сколько вам нужно. Сколько бы человек ни скачивали ваши файлы через торрент, ваши данные остаются нетронутыми, потому что они скопированный на другие компьютеры, не перемещены.

Не так давно, а именно 5 июня хабрачеловек по имени alan008 задал вопрос. Чтобы не заставлять ходить за подробностями, приведу его здесь:

За несколько лет с разных трекеров (преимущественно c rutracker'а) разными клиентами (преимущественно uTorrent'ом) скачано много гигабайт разного полезного контента. Скачанные файлы впоследствии вручную перемещались с одного диска на другой, uTorrent их соответственно не видит. Многие .torrent файлы устарели сами по себе (например, велась раздача сериала путем добавления новых серий заменой .torrent файла).

Теперь сам вопрос: есть ли способ автоматически (не вручную) установить соответствие между имеющимися на компьютере .torrent файлами и содержимым, раскиданным по разным логическим дискам компьютера? Цель: удалить лишние (неактуальные) .torrent файлы, а для актуальных — поставить всё на раздачу. У кого какие идеи? :)

При необходимости (если это требуется) можно снова поместить все файлы данных в один каталог на одном логическом диске.

В обсуждениях сошлись на том, что если это и можно сделать, то только ручками. Мне же этот вопрос показался интересным, и после возвращения из отпуска я нашел время, чтобы в нем разобраться.

Потратив в общей сложности неделю на разбор формата .torrent-файла, поиск нормально работающей библиотеки для его парсинга, я приступил к написанию программы, которая позволит решить проблему затронутую в упомянутом вопросе.

  1. Получилось много, но не все.
  2. По формату файла .torrent будут даны лишь необходимые пояснения.
  3. Людей, чувствительных к временами некачественному коду, прошу меня заранее простить — я знаю, что многое можно было написать лучше, оптимальнее и безглючнее.

В данном случае имеется отличный способ решения — перекачать заново. Но мы же не ищем легких путей, да и предлагался такой вариант! Итак, будем решать задачу по сложному — не скачивать.

Приступая к написанию любой программы, необходимо сначала продумать хотябы базовый алгоритм ее работы. В нашем случае алгоритм, по сути, состоит из двух шагов:

  1. Найти и прочитать все .torrent-файлы;
  2. Найти в куче файлов тот, который соответствует описанному в .torrent, и переместить его в папку, соответствующую пути в .torrent.

Ну что же, приступим к решению поставленной задачи.

Ищем торренты и читаем их

Начнем с самого простого момента — чтения .torrent.

Строение .torrent-файла довольно простое — он представляет из себя словарь в формате bencode. В данном словаре нас интересует только пара с ключом info — блок описания файлов. Этот тоже является словарем и содержит в себе информацию об имени файлов, их размере. Кроме того, как многим известно, торрент хеширует файлы не целиком, а по кускам определенной длины, которая зависит от размера этих файлов. Информация о размере этого куска также содержится в словаре info.

Для хранения информации из прочитанного файла будем использовать такой класс Torrent :

Здесь поля хранят следующую информацию:

* Name — имя торрента (вообще говоря — имя папки или имя файла)
* Files — список файлов, которые нам надо будет в дальнейшем искать
* PieceLength — размер тех самых кусочков, хеш которых нам предстоит считать
* Hash — хеш строка всех файлов
* FileName — имя .torrent-файла на диске

Теперь стоит заострить внимание на строке хеша. Она составляется очень просто. Все файлы склеиваются в один (виртуально конечно) друг за другом, образуя при этом один БОЛЬШОООООООЙ воображаемый файл. В этом воображаемом файле берем кусок длины PieceLength , считаем SHA1 хеш, кладем хеш в строку, берем следующий кусок, считаем хеш, дописываем к концу строки с хешем предыдущего куска. Т. е. это обычная конкатенация хешей всех кусков.


Как мог заметить внимательный читатель, файл внутри класса — это не просто файл, а особый тип данных, в котором файл описывается некой конструкцией типа LostFile . Вот она:

Здесь все просто: имя файла и его размер. Кроме того этот класс содержит еще одно поле — BeginFrom . Оно описывает начало этого файла в том БОЛЛЬШОООООМ воображаемом файле. Он нужен, чтобы взять правильную часть файла для подсчета хеша — ведь длина файла очень редко кратна длине куска.


Подготовив структуры для хранения необходимой информации, можно приступать к их заполнению.

С помощью найденной на просторах интернета библиотеки BencodeLibrary мы читаем наш .torrent-файл и выкорчевываем из него блок info:


Далее из этого блока необходимо забрать данные об имени торрента, размере куска.


В этом месте мы передаем в метод `BencodingUtils.DecodeFile` вторым параметром информацию о кодировке. Это как раз тот момент, когда пришлось добавлять один метод в библиотеку — изначально codepage-437 была вшита в код.

Мы добрались до самого интересного момента в этой части — чтение информации о файлах. Торрент файлы бывают двух типов. Эти типы различаются тем, сколько файлов в них описано. При описании только одного файла в .torrent пишется его имя и размер.

Сначала разберем .torrent с описанием одного файла.


Тут все просто — имя торрента совпадает с именем файла. В случае, когда файлов в раздаче много, то в поле name пишется имя папки, в которую их надо положить (на самом деле может быть что угодно, но почему-то все пишут имя папки в которой эти файлы лежали при создании). Кроме того появляется список files в котором содержится информация о каждом файле: путь к нему и размер. Если размер — просто целое число, то путь к файлу представляет собой список из строк (имен директорий), пройдя по которым мы увидим этот файл.

Такое лучше пояснять на примере. Для файлов level_1\level_2_1\file_1.txt и level_1\level_2_2\file_2.txt , если мы захотим их раздавать, поле name будет содержать имя папки верхнего уровня ( "level_1" ), а список path для одного из файлов будет следующего вида: и для другого.

Нам для .torrent с несколькими файлами надо путь до каждого файла собрать в одну строку. Кроме того, надо хранить начало каждого файла в том БОЛЬШООООМ (не забыли, правда же?!):

Очень важно отметить, что порядок следования файлов в БОЛЬШОООООМ файле может быть любым, не обязательно по алфавиту или по размеру. Но порядок файлов в списке files будет точно таким же. Это ключевой момент для понимания принципа хеширования. Для примера, в ситуации, изображенной на первом рисунке, список файлов будет следующим: . Таким образом, считая хеш одного файла, мы знаем какой файл надо будет брать следующим.

Когда мы все это дело прочитали и посчитали — давайте создадим и вернем экземпляр Torrent :


Собирая теперь все чтение и разбор .torrent-файла воедино, получаем:

Теперь, когда у нас есть все необходимые данные, мы готовы к самому интересному — поиску наших файлов.

Ищем файлы

Мы вплотную подошли к реализации второго шага нашего алгоритма. Для этого будем использовать метод FindFiles такого вида:


Здесь files — список файлов, среди которых мы будем искать, destinationPath — путь до папки назначения, в которую будут помещаться найденные файлы.

Для каждого файла в .torrent мы будем перебирать все файлы из кучи и их сверять. Так как проверка хеша довольно затратна, то надо сначала отсеять явно левые файлы. Ну посудите сами: если я качал дискографию в .mp3 и переместил ее, то явно не менял расширения файлов. Имя мог поменять, а вот расширение вряд ли.


Также стоит проверять длину файла, но это уже сомнительно и иногда может давать ложные срабатывания. Только после того, как мы отсеяли по расширению явно левые файлы, можно приступать к проверке хеша.


После того как проверка завершена, и мы удостоверились в соответствии файла искомому — перемещаем его в папку назначения с правильным путем. Перед перемещением будем естественно проверять наличие директории, а также проверим есть ли уже такой файл или нет. copyFile — переменная передаваемая с формы пользователем, ее назначение, я думаю, понятно всем.


Есть в коде выше три важных для пояснения момента. Начну с двух последних — вот эти строки:


Я посчитал вполне логичным убирать уже отсортированные файлы из рассмотрения, что позволит несколько сократить время выполнения поиска. Во второй строке есть конструкция .RemoveAt(i--); так как из коллекции убирается текущий элемент, то указатель надо сдвинуть назад, чтобы на следующей итерации цикла брался следующий элемент, а не через один.

Теперь про первый момент. Я знаю про наличие foreach для списка, но его при использовании нельзя модифицировать этот спикок, то есть мы не сможем удалять уже ненужные более элементы. Итак, собирая все выше описанное в один метод, имеем:

Ну вот! Самое вкусное.

Проверка хеша

Как видно из кода выше, для проверки хеша мы передаем имя файла на диске и номер файла в списке файлов торрента. Это надо для того, чтобы не запускать поиск в списке файлов, а сразу взять его по номеру, раз он известен (еще одно "+1" циклу for ).


Теперь приступим к реализации нашего метода проверки хеша. На данном этапе мы знаем номер в списке файлов торрента и путь до файла на диске

  1. Нет необходимости дополнительно искать на диске соседние файлы;
  2. Длина куска для хеширования очень редко превышает 2-4 МБ, что дает нам еще один плюс — с точки зрения производительности и времени, докачать такие файлы намного проще, чем искать их на диске.

Когда торрент-клиент проводит хеширование файлов, он считает хеш по порядку, однако бывает так, что нет одного или нескольких файлов. Тогда торрент-клиенту надо знать какой следующий кусок брать и откуда он будет начинаться в следующем имеющемся файле. Для вычисления двух этих цифр будем использовать следующий код, в котором переменная firstChunkNumber содержит номер первого куска, который полностью содержится в данном файле, а bytesOverhead — количество байт от начала файла до начала этого куска. Для лучшего понимания этого момента взгляните на поясняющий рисунок после кода.


Ответить на вопрос «Почему номер куска разный для случая, когда его начало совпадает с началом файла, и для случая, когда кусок лежит внутри?» предлагается самостоятельно.

Сейчас, зная номер куска мы должны взять его хеш из торрента с помощью такой конструкции:


После этого, надо прочитать кусок из файла и посчитать его хеш:


Ну и самое важное — его проверить. У меня, почему-то не захотел работать ни один из методов Equals() , которые я смог найти, поэтому проверяем так:


Собирая воедино сие творение возбужденного мозга, получим метод следующего содержания:

На этой прекрасной ноте, рассказ о методах и алгоритмах заканчивается, и мы переходим к рассказу о реализации в реальной жизни данного творения. Вполне понятно, что данная задача мной решалась не для того, чтобы решить, а для того, чтобы реализовать. Поэтому привожу на суд общественности мое творение, которое реализует все то, о чем написано выше.

Программа

В процессе работы, после окончания обработки очередного файла, выводится результат — имя .torrent-файла на диске и количество обработанных файлов.


Чтобы запустить сканирование, необходимо выбрать три директории (с файлами .torrent, с файлами для сортировки и папку для отсортированного), по желанию указать две опции и запустить сканирование.

По поводу производительности. Она пока что низкая: обработка 10 больших torrent-файлов заняла около 5 минут.

Так как работает приложение в один поток, то во время выполнения интерфейс подвисает, но я над этим работаю. Также хочу напомнить, что файлы малого размера (меньше 2-х мегабайт) не будут перемещены по причине отсутствия возможности проверки хеша. Вполне вероятны ложные срабатывания из-за того, что проверяется только один кусок под номером firstChunkNumber . Пока что проверять все куски слишком затратно, но в планах есть.

Не ищите торренты рекурсивно, если они собраны в корне диска.
Копирование может занять много времени, поэтому интерфейс может подвиснуть — не пугайтесь.

Так как писалась эта программа 4fun, то качество кода там немного не то, которое хотелось бы, но у меня оно работает. Данная программа не тестировалась, исправлялись только очевидные ошибки, поэтому могут быть, да что скрывать-то, есть скрытые баги. ИСПОЛЬЗУЯ ДАННУЮ ПРОГРАММУ, ВЫ ИСПОЛЬЗУЕТЕ ЕЕ НА СВОЙ СТРАХ И РИСК.

Взять исходники можно на github. Распространяется по GPLv2. Там есть архив с исполняемым файлом. Для работы требуется библиотека Bencode Library, но не оригинальная, а модифицированная мною (есть у меня в репозитарии, подключена субмодулем).

Спасибо всем, кто проявил терпение и дочитал эту статью до конца. Рад услышать ваши вопросы, приветствуется всевозможная помощь в совершенствовании алгоритма и, в особенности, кода.

UPD1. По результатам обсуждения мне стало понятно, что правильней будет не ломать существующие коллекции выдергиванием файлов на раздачу, а наоборот — создавать хардлинки в нужном для раздачи месте на файлы внутри упорядоченных коллекций (фильмо и дискографий, например). В дальнейшем программа будет работать именно так.

UPD2. Если у тех, кто пользовался этой утилитой, есть еще какие-то пожелания по функционалу или баг репорты, то прошу оставлять их на github в issue-трекере.

Выберите файл или папку, из которой вы хотите создать торрент файл. Для примера, мы создали на рабочем столе папку, в которую поместили несколько картинок – с ней мы будем работать.

Папка с картинками

Шаг 2

Запустите uTorrent. Вам нужно войти в верхнее меню «файл» - «Создать новый торрент» или нажать сочетание клавиш CTRL + N.

Создание торрента

Появится такое окно:

Создание торрента

Шаг 3

Теперь нам нужно выбрать файлы, которые мы будем использовать в качестве источника. Так как мы решили сделать торрент-файл из заранее приготовленной папки, нажмем на кнопку «Папка» и выберем ее.

Выбрать из чего создавать торрент

Шаг 4

Нажмите на кнопку «Создать». Перед вами откроется окно, предлагающее выбрать место для сохранения будущего торрент-файла и его имя. Мы сохраним его на рабочем столе и назовем «mypictures». После выбора места и имени нажмите «ОК» - через мгновение торрент будет создан.

Выбор места сохранения торрента

Делитесь полученным файлом с друзьями, чтобы они могли скачать то что вы выбрали в качестве исходников во время его создания. Для того, чтобы нашу папку из примера могли скачать к себе на компьютер другие люди, нужно «стоять на раздаче», то есть не выключать uTorrent. Как только ваш торрент-файл будет многократно скачан, его содержимое также начнет раздаваться с компьютеров других пользователей.

На видео ниже вы можете посмотреть как я создал торрент из папки с файлами на своем компьютере:

Читайте также: