Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Патчер торрентов (AutoIt некорректно вносит изменения в торрент файлы)

Ответить
Настройки темы
[решено] Патчер торрентов (AutoIt некорректно вносит изменения в торрент файлы)

Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


Необходимо внести изменения в торрент файл (добавить ретрекер). Для начала пробую с помощью AutoIt (3.3.6.0) открыть файл и без изменений скопировать содержимое в новый файл.
Код: Выделить весь код
$file =  FileOpen("E:\tor.torrent")
dim $line[200]
dim $nl
While 1
    $line[$nl] = FileReadLine($file)
    If @error = -1 Then ExitLoop
    $nl=$nl+1
Wend
FileClose($file)
 
$file = FileOpen("E:\tor.torrent", 2)
for $a=0 to $nl-1
    FileWriteLine($file, $line[$a])
next
FileClose($file)
В результате торрент-файл неидентичен исходному (uTorrent выдает ошибку). AutoIt в конце каждой строки добавляет символ в шестнадцатеричном виде обозначенный OA. Подскажите как решить эту проблему не обращаюсь к бинарному режиму.

Библиотечные функции теряют в процессе выполнения скрипта почти все содержимое торрент файла. Например
Код: Выделить весь код
#Include <File.au3>
Dim $aRecords
_FileReadToArray("E:\tor.torrent",$aRecords)
_FileWriteFromArray("E:\tor2.torrent",$aRecords,1)
В результате в tor2.torrent записывается одна строчка исходного
Подскажите решение проблемы. Спасибо

Отправлено: 10:46, 17-04-2010

 

Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


kaster, очень прошу скомпилируйте патчер в exe. чтобы запрашивал какой трекер добавить в торрент-файл.

мне тоже нужна эта функция. сегодня весь день ищу. ничего не могу найти. а создавать заново по 30 минут торрент-файл для 10 трекеров только для изменения announce - смысла совсем нет

Последний раз редактировалось shadowbat, 14-06-2010 в 10:23.


Отправлено: 09:59, 14-06-2010 | #11



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

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


Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


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

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru


Отправлено: 15:14, 14-06-2010 | #12


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


не дождался, нашел сайт http://www.torrenteditor.com.
делает то, что мне нужно - загружает с компа торрент файл. я прописываю какие трекеры добавить (можно несколько) и сохраняю себе на комп назад торрент-файл с трекерами лучше чем ничего !

Отправлено: 15:36, 14-06-2010 | #13


Аватара для kaster

Старожил


Сообщения: 367
Благодарности: 91

Профиль | Отправить PM | Цитировать


shadowbat, рад за тебя

-------
Русское сообщество пользователей AutoIt
autoit@conference.jabber.ru - Конференция на jabber.ru

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:43, 14-06-2010 | #14


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


kaster, выложите тут програмку, вдруг кому то пригодится, все-таки тема то нужная

Отправлено: 15:49, 14-06-2010 | #15


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


shadowbat
надо было в личку стукнуть для оперативности. Сейчас посмотрю...

Отправлено: 21:13, 14-06-2010 | #16


Новый участник


Сообщения: 5
Благодарности: 0

Профиль | Отправить PM | Цитировать


shadowbat
Прежде чем писать патчер торрентов нужно разобраться в схеме работы обоих. Объяснение нашел вот тут. А за подробными разъяснениями обратился к Evolgr. За что ему большое спасибо. Переписка в личке:
Цитата:
Спасибо за простое изложение добавления ретрекера здесь . Вы рекомендуете добавлять ретрекер в свой (отдельный) анонс-лист. Но в этом случае он не отображается в списке трекеров в свойствах торрента, загруженного в uTorrent. Если открыть этот торрент файл в BEncode Editor, то видно 2 анонс листа и все трекеры. Действительно ли необходим отдельный анонс-лист?

два анонс-листа в торент файле быть не должно.

на сколько помню, если трекер только один, тогда может даже не быть ключа announce-list. только в этом случае нужно добавлять ключ announce-list в торент, содержимым которого будет трекер из поля announce + наш трекер (тогда торент-клиент будет игнорировать ключ announce и считывать трекеры с ключа announce-list).

если же ключ announce-list уже присутствует в торенте, тогда добавляем свой трекер в этот ключ:
13:announce-listll80:http://tracker.calitko.org/torrents.php?passkey=d7c034325e7274bb2s346c6fc5b71307el32:http://somehost.com/announce.phpee.

Понятно. А трекер и ретрекер, помещенные в один анонс-лист будут работать параллельно? или как Вы указали:
Цитата:
будут работать в случайном порядке (чтобы уменьшить нагрузку на сервера)
это зависит от того, как они записаны.

если два трекера (или трекер и ретрекер) записаны в одном списке (l...e), например 13:announce-listll80:http://tracker.calitko.org/torrents.php?passkey=d7c034325e7274bb2s346c6fc5b7130732:http://somehost.com/announce.phpee, тогда они будут работать в случайном порядке.

если же они записаны в разных списках (как в предыдущем моем сообщении), тогда они будут работать параллельно.
Вот эскиз:
Код: Выделить весь код
;открываю файл на чтение, который был передан в параметре командной строки торрент-патчера ($CmdLineRaw описан в справке)
$hRead = FileOpen($CmdLineRaw)
;читаю его содержимое
$Buf = FileRead($hRead)
FileClose($hRead)

;ищу позицию текста "7:comment"
$location=StringInStr($Buf, "7:comment")
;и перед ним вставляю свой ретрекер http://normex.no-ip.org:2710/announce
$Buf=StringLeft($Buf,$location-1) & "13:announce-listll37:http://normex.no-ip.org:2710/announceel31:http://retracker.local/announceee" & StringMid($Buf,$location)

;открываю файл на чтение и записываю новое содержание
$hWrite = FileOpen($CmdLineRaw, 2)
FileWrite($hWrite, $Buf)
FileClose($hWrite)

;добавление в utorrent
Run("C:\Program Files\uTorrent\uTorrent.exe" & " " & $CmdLineRaw)

Отправлено: 12:53, 20-06-2010 | #17


Старожил


Сообщения: 267
Благодарности: 8

Профиль | Отправить PM | Цитировать


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

Отправлено: 13:58, 20-06-2010 | #18



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Патчер торрентов (AutoIt некорректно вносит изменения в торрент файлы)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Торрент загружает ненужные файлы El Scorpio Хочу все знать 5 04-03-2013 15:02
Как сделать чтобы Autoit создавал исполняемые файлы wwe AutoIt 3 15-04-2010 15:18
Аддоны - [addon] Патчер ресурсов архиватора 7z. katok888 Оформление Windows XP 5 12-07-2009 10:35
Тормоза в играх при скачивании торрентов Analog Непонятные проблемы с Железом 17 15-01-2009 23:00
Тихий патчер GrandCat Автоматическая установка Windows 2000/XP/2003 0 09-04-2006 16:12




 
Переход