Как подменить файл в торренте

Обновлено: 04.07.2024

небольшая вырезка. для затравки копипастить все не буду. сами почитаете кому интересно

На форумах трекеров часто задают вопросы: что делать, если нужно переместить все торрент-файлы, задействованные в клиенте, на другой диск или в другую директорию? Как переместить все раздачи, связанные с этими торрентами? Можно ли за один заход переименовать все файлы в списке раздачи, если знаешь, что хеш совпадает, а имена отличаются? Можно ли сменить пасскей для всех раздач, не перезакачивая все торренты?

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

Однако уже больше года существует замечательный инструмент, помогающий в таких случаях: BEncode Editor. Программа поддерживает групповую замену строк и регулярные выражения, причём позволяет редактировать как торрент-файлы, так и базы данных uTorrent, ведь и то, и другое создаётся на одном языке разметки — на BEncode. (Подробнее об этом языке можно почитать здесь или здесь, со структурой торрент-файлов можно ознакомиться здесь: некоторый теоретический минимум необходим для того, чтобы понимать процесс редактирования и уберечься от критических ошибок).

Будьте осторожны! Обязательно сохраняйте резервные копии редактируемых файлов!
.

офф сайт BEncoder там можно и почитать и найти линк на последнюю версию

Download
[v0.7.1.0] x64, Unicode

P.S.кто ищет тот найдет!
как оказалось решение уже давно давно существует! ЮХУ!


_________________
DNS323 Firmware Version: 1.08
fun-plug 0.5
Transmission 2.42 Отличная информация - на днях как раз таким извратом страдал.
В мемориз - однозначно.
_________________
DNS-323(HW A1/FW 1.09/fun_plug/fancontrol/Transmission 2.04/2 x SAMSUNG HD154UI) + Apple Airport Extreme + Egreat EG-R1

облом подкрался незаметно

имена файлов и папка куда качать как раз находятся в этом контейнере info, и при его изменении меняется и infohash- контрольная сумма и трекер дает отворот поворот


_________________
DNS323 Firmware Version: 1.08
fun-plug 0.5
Transmission 2.42

по поводу переименования папок в Transmission

на данный момент рулит ssh + команда ln -s папка линк_папка
хоть это не то как изящно как в uTorrent, нажал правую кнопку и исправил как хочешь
transmission пока что не умеет этого


_________________
DNS323 Firmware Version: 1.08
fun-plug 0.5
Transmission 2.42 Возможно я сделаю какой-нить удобный менеджер ссылок между файлами/папками со временем. Идеи есть, осталось найти время.
Еще в списке задач - добавление поддержки локализации, я там далеко продвинулся, но пока застопорился в одном месте, будет время - продолжу.

Часовой пояс: UTC + 3 часа

Кто сейчас на форуме

Не так давно, а именно 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-трекере.

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

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

Чтобы переименовывать или перемещать раздающиеся файлы, необходимо исследовать возможности своего торрент-клиента – есть ли в нём операции переименования и перемещения. Например, одна из популярнейших программ для работы с торрент-сетями uTorrent предусматривает такие операции в числе дополнительных опций в контекстном меню на раздающемся файле, но работают они только в платной версии программы Pro . Для смены пути хранения раздающегося файла мы выбираем опцию «Загружать в…», а для переименования – опцию «Выбрать имя назначения».

uTorrent

Если же у вас бесплатная версия uTorrent или другой торрент-клиент, который не предусматривает возможностей переименования и перемещения раздающихся файлов, не беда, можем поступить следующим образом. Копируем в торрент-клиенте Magnet -ссылку раздачи нашего файла, а потом её удаляем. Но важно: удаляем только раздачу, не удаляем сам скачанный файл.

uTorrent

Далее делаем свои подвижки – переименовываем как надо или перемещаем файл куда надо. А потом добавляем в торрент-клиент загрузку с помощью скопированной Magnet -ссылки.

uTorrent

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

uTorrent

Вот и всё: файл не будет загружаться по новой, торрент-клиент просто перепроверит его идентичность и целостность.

Favorite

В закладки

Как скачать через торрент любой файл. Это просто и легально

Многие наивно полагают, что торренты нужны только для выкачивания из сети нелегального контента. Это не так.

Сама система изначально создана для передачи больших файлов. Пиратство — лишь субпродукт.

Если нужно передать через интернет проект видеоролика, подборку снимков с фотосессии, архив рабочих документов — это проще всего сделать через торренты.

Нет смысла заливать несколько гигабайт в облако, а потом делиться ссылками. Смотрите как правильно пользоваться торрентами:

Как создать новую раздачу через любой торрент-клиент



qBittorrent с активной раздачей файла

1. Чтобы создать новую раздачу, для начала нужен торрент-клиент. На Mac проще всего использовать Transmission или qBittorrent — они бесплатные и практически не подводят.

Что интересно, μTorrent, загруженный с официального сайта, на macOS 10.15 Catalina не заводится, потому что не поддерживает 64 бита. Жаль.

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

Для этого достаточно перетащить необходимые данные из Finder, используя drag-and-drop.

3. После этой нехитрой манипуляции торрент-клиент тут же откроет окно создания раздачи. В нем нужно выбрать путь для сохранения торрент-файла и определить его имя, убрать любую информацию из поля «Трекер» («Трекеры», «Адреса трекеров») и обязательно перевести в неактивное положение переключатель «Частный трекер».

После этого нужно подтвердить намерение создать новую раздачу с помощью соответствующей кнопки.



Окно qBittorrent для создания нового торрента

4. Файл формата TORRENT появится на рабочем столе или в другом месте Finder, которое было выбрано на предыдущем шаге.

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

Как загрузить информацию через любой торрент-клиент



Начало загрузки файла через Transmission

1. Файл формата TORRENT, который был создан в предыдущем пункте статьи, получатель должен скачать удобным образом. А после этого открыть в любом торрент-клиенте.

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

После добавления торрента в клиент придется подождать от нескольких секунд до пары минут, пока начнется скачивание.

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

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



Файл загрузился на 100% через Transmission

4. После окончания загрузки документ или папка с файлами появится в выбранном на предыдущих шагах месте.

Если в раздаче больше нет необходимости, ее желательно прервать как на компьютере отправителя, так и на устройстве получателя. Для этого нужно удалить соответствующий пункт из перечня Transmission, qBittorrent или любого другого трекера.

Как раздать данные сразу нескольким пользователям

Как использовать magnet-ссылки для размещения в блоге



Копирование magnet-ссылки через Transmission

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

Создать magnet-ссылку обычно можно через контекстное меню конкретной раздачи в торрент-трекере. После нажатия на нее закачка откроется автоматически.

Как сделать свою раздачу максимально безопасной



Создание архива с паролем через «Терминал»

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

Важные файлы можно собрать в архив, защищенный паролем. Извлечь их из него любым обманным путем будет практически невозможно. Жаль, архиваторы с необходимым функционалом для Mac достаточно дорогие — за тот же WinZip просят 2 290 руб.

Немногие знают, что для создания архивов с паролем на Mac можно использовать «Терминал». Подойдет следующая команда:

zip -ejr [path/archive_name] [path_to_folder_or_file]

Здесь [path/archive_name] — путь и имя архива, а [path_to_folder_or_file] — путь и имя исходного файла.

Чтобы добавить и первый, и второй набор из пути к файлу и его имени, достаточно просто перетянуть в «Терминал» необходимые документы из Finder с использованием drag-and-drop.

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

Какие термины из мира торрентов желательно знать



Сиды и прочая «нечисть» в приложении qBittorrent

Пользователи торрентов активно использует несколько терминов, вот они:

Пир. Так называют пользователя, который принимает участие в обмене файлами через систему торрентов.

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

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

Лич. Так называют пользователя, который еще не успел скачать файл, который ему раздают через торренты. Как только он закончит делать это, его автоматически переведут в состав сидов.

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

Рейтинг. Это соотношение объема информации, которую удалось отдать, к тому, который был загружен, — все это существует в рамках одной конкретной раздачи.

Как передавать файлы через торренты, если кратко



Дополнительная информация о загружаемом торренте в Transmission

1. Сначала нужно создать раздачу. Для это нужно перетянуть документ или папку с файлами в торрент-клиент и снять галочку с пункта «Частный трекер».

2. Потом нужно передать файл с расширением TORRENT получателю любым удобным образом.

3. После получатель должен открыть файл TORRENT в торрент-клиенте, дождаться начала и окончания загрузки.

4. После окончания загрузки раздачу из всех торрент-клиентов можно удалить.

5. Чтобы сделать передачу данных как можно более безопасной, желательно добавить файлы в защищенный паролем архив — в этом поможет команда ZIP для «Терминала».

В общем, передавать большие объемы данных через торренты — это быстро и удобно. Пробуйте.

(45 голосов, общий рейтинг: 4.56 из 5)

Favorite

В закладки

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

Также, данное руководство вы можете использовать, если вы переносите / переименовываете папку, а не файл. Суть та же, просто выполняете на 1 шаг меньше.

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

Итак, приступим:

1. Если торрент уже загружен в uTorrent, кликните правой кнопкой мыши по нему и нажмите "Стоп". Если же вы добавляете торрент, имена файлов которого вы изменили, то убедитесь, что вы добавляете его в режиме "Остановлен"
2. В нижней части окна торрент-клиента выбираем вкладку "Файлы". Если у вас отсутствует нижняя панель, нажмите кнопку "Настройка" и установите флажок "Подробная информация"
3. Кликаем правой кнопкой мыши по файлу и выбираем в списке меню пункт "Переместить. "
4. В появившемся окне, находим расположение нашего переименованного / перемещенного файла и нажимаем "Сохранить". Если же вы меняли название папки или переносили её, то выбирать стоит саму папку.
5. Теперь нам следует кликнуть правой кнопкой мыши по торренту и выбрать из списка "Обновить хеш"
6. Теперь вы можете "Запустить" торрент, нажав на соответствующую кнопку и если вы сделали всё правильно, то начнется раздача файла

Как вы видите, ничего сложного в этом нет, главное, чтобы файл оставался неизменным!

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