Патчер торрентов (AutoIt некорректно вносит изменения в торрент файлы)
Необходимо внести изменения в торрент файл (добавить ретрекер). Для начала пробую с помощью AutoIt (3.3.6.0) открыть файл и без изменений скопировать содержимое в новый файл.
Код:
$file = FileOpen("E:\tor.torrent") Библиотечные функции теряют в процессе выполнения скрипта почти все содержимое торрент файла. Например Код:
#Include <File.au3> Подскажите решение проблемы. Спасибо |
торрент файл не текст. поэтому для него символ перевода каретки даже если и есть то только потому, что это какой-нибудь байт от другого блока данных.
другими словами, надо считывать файл в двоичном виде. записывать тоже. Код:
$file = FileOpen("E:\tor.torrent", 16 + 0) |
vkupriyanov,
kaster, А у меня так работает: Код:
$sFile = @ScriptDir & '\1.torrent' А на Ваш код у меня SciTE ругается: Цитата:
|
Цитата:
Цитата:
вот так будет правильнее Код:
$file = FileOpen("E:\tor.torrent", 16 + 0) |
вот код добавляет трекер указанный в переменной $sNewTracker в общий список трекеров. если изначально в торрент-файле был всего один трекер то создает список трекеров из основного трекера и указанного трекера. если трекеров было изначально несколько то добавляет указанный в список последним
Код:
$sPath = "d:\tor1.torrent" |
а чем не устроила функция добавления трекеров, которая присутствует во мгоих клиентах?
|
madmasles, Ваш код мне подошел.
kaster, спасибо, что указали на различие в деле добавления возврата каретки в случае использования FileWriteLine. В русскоязычной справке от Valery Ivanov о FileWriteLine написано Цитата:
В оригинальной справке, идущей с версией 3.3.6.0: Цитата:
Цитата:
Цитата:
Цитата:
Вот примерный код, которым вношу изменения торрент файл (помещаю новый анонс-лист со списком трекеров перед фразой "7:comment" Код:
$hRead = FileOpen("E:\tor.torrent") p.s. kaster последний присланный Вами код изучаю Цитата:
|
Цитата:
Цитата:
Цитата:
|
Спасибо.
На счет анонс-листов я погорячился. Он всегда должен быть один. Если добавить второй, то он не отобразится в свойствах торрента, загруженного в uTorrent и, наверное, не будет работать. Тему закрою. |
vkupriyanov, так я не понял, мой скрипт тебе подошел или нет? я пробовал на своем клиенте, трекер исправно добавляется в список трекеров, неважно был там один или изначально несколько
|
kaster, очень прошу скомпилируйте патчер в exe. чтобы запрашивал какой трекер добавить в торрент-файл.
мне тоже нужна эта функция. сегодня весь день ищу. ничего не могу найти. а создавать заново по 30 минут торрент-файл для 10 трекеров только для изменения announce - смысла совсем нет |
shadowbat, уточни пож-та, что ты имеешь в виду. ты хочешь чтобы скрипт запрашивал каждый раз имя трекера? может подойдет вариант с созданием одного файла рядом со скриптом в котором по одному на строку перечислены все нужные трекеры? а скрипт просто считает оттуда нужные URL и внесет по одному в торрент?
|
не дождался, нашел сайт http://www.torrenteditor.com.
делает то, что мне нужно - загружает с компа торрент файл. я прописываю какие трекеры добавить (можно несколько) и сохраняю себе на комп назад торрент-файл с трекерами :) лучше чем ничего ! |
shadowbat, рад за тебя ;)
|
kaster, выложите тут програмку, вдруг кому то пригодится, все-таки тема то нужная
|
shadowbat
надо было в личку стукнуть для оперативности. Сейчас посмотрю... |
shadowbat
Прежде чем писать патчер торрентов нужно разобраться в схеме работы обоих. Объяснение нашел вот тут. А за подробными разъяснениями обратился к Evolgr. За что ему большое спасибо. Переписка в личке: Цитата:
Код:
;открываю файл на чтение, который был передан в параметре командной строки торрент-патчера ($CmdLineRaw описан в справке) |
я не программер, не жесткий автоитер, я писал о програмке (скомпилированном exe-файле), которая пригодится всем кто зайдет сюда и также не знаком с автоитом. поскольку тема торрентов - довольно широкая, а рабочей такой програмки что то в сети нет
|
Время: 20:53. |
Время: 20:53.
© OSzone.net 2001-