IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
Программирования патчера
boris_z
сообщение 21.6.2009, 4:00
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 7
Регистрация: 21.6.2009
Пользователь №: 2 005



Вопрос наверно к разработчикам. У меня встала проблема, написать свой патчер для ретеркера. Но опыта с BitTorrent по части кодинга не имел. Попытался ручками менять файл(*.torrent) не выходит. Вот даже не знаю, что и делать. Как туда прописать ретрекер. А так вроде принцип понятен. Спасибо надеюсь кто поможет.
Перейти в начало страницы
 
+Цитировать сообщение
boris_z
сообщение 21.6.2009, 20:57
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 7
Регистрация: 21.6.2009
Пользователь №: 2 005



Все разобрался ответ нашел тут http://wiki.depthstrike.com/index.php/P2P:...ns:Multitracker dry.gif
Перейти в начало страницы
 
+Цитировать сообщение
Evolgr
сообщение 22.6.2009, 14:50
Сообщение #3


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 31.5.2009
Пользователь №: 1 791



тоже недавно написал свой. работает вроде, даже лучше чем Torrent Patcher smile.gif если будут вопросы - спрашивай, попробую ответить.
Перейти в начало страницы
 
+Цитировать сообщение
boris_z
сообщение 22.6.2009, 15:47
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 7
Регистрация: 21.6.2009
Пользователь №: 2 005



Можете пояснить с announce-list, вы его в конец документа помещаете так ?
Какой он должен иметь формат announce-list, а то я уже по битово начел разбирать документ. Может ссылочку подкинете.
Перейти в начало страницы
 
+Цитировать сообщение
Evolgr
сообщение 22.6.2009, 21:08
Сообщение #5


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 31.5.2009
Пользователь №: 1 791



Цитата(boris_z @ 22.6.2009, 15:47) *
Можете пояснить с announce-list, вы его в конец документа помещаете так ?
Какой он должен иметь формат announce-list, а то я уже по битово начел разбирать документ. Может ссылочку подкинете.

ну в Torrent Patcher'е он почему-то записывается в конец, хотя ето неправильно, т.к. ключи (announce, announce-list и т.д.) должны идти в алфавитном порядке. надо его писать сразу после ключа announce. в той спецификации вроде нормально описано: надо свой ретрекер поместить в отдельный список, чтобы он работал паралельно основному. иначе (если поместить его в тот самый список где знаходится и основной) они будут работать в случайном порядке (чтобы уменьшить нагрузку на сервера).

тут еще есть спецификации:
http://wiki.theory.org/index.php/BitTorrentSpecification
http://www.bittorrent.org/beps/bep_0000.html

в процессе еще нарыл такой проектик: http://trac.calitko.org/changeset/releases....6.2%2C110.1.11
Перейти в начало страницы
 
+Цитировать сообщение
boris_z
сообщение 22.6.2009, 23:39
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 7
Регистрация: 21.6.2009
Пользователь №: 2 005



Цитата(Evolgr @ 22.6.2009, 22:08) *
в процессе еще нарыл такой проектик: http://trac.calitko.org/changeset/releases....6.2%2C110.1.11


Процесс реализации требует декодирования самого *.torrent файл. Или можно обойтись
просто чтением файла, вставкой элементов announce-list c данными торрента-трекера и ретрекера ?
Если просто найти вставить свои данные просто не работают. mellow.gif Как говорится, если лесть в дебри, нужно знать, а нужно ли это делать. dry.gif
Перейти в начало страницы
 
+Цитировать сообщение
Evolgr
сообщение 23.6.2009, 1:40
Сообщение #7


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 31.5.2009
Пользователь №: 1 791



Цитата(boris_z @ 22.6.2009, 23:39) *
Процесс реализации требует декодирования самого *.torrent файл. Или можно обойтись
просто чтением файла, вставкой элементов announce-list c данными торрента-трекера и ретрекера ?
Если просто найти вставить свои данные просто не работают. mellow.gif Как говорится, если лесть в дебри, нужно знать, а нужно ли это делать. dry.gif

по тому проекту не знаю..

а почему не работает? может неправильно вставляешь?
может сдесь будет более наглядно видно: http://trac.calitko.org/browser/releases/c....6.2%2C110.1.11
после announce добавляем announce-list с трекером из announce + наш трекер. должно получится как-то так:
Код
8:announce        => 80:http://tracker.calitko.org/torrents.php?passkey=d7c034325e7274bb2s346c6fc5b71307
13:announce-list  =>
        l
                l
                        80:http://tracker.calitko.org/torrents.php?passkey=d7c034325e7274bb2s346c6fc5b71307
                e
                l
                        32:http://somehost.com/announce.php
                e
        e
Перейти в начало страницы
 
+Цитировать сообщение
boris_z
сообщение 23.6.2009, 2:33
Сообщение #8


Новичок
*

Группа: Пользователи
Сообщений: 7
Регистрация: 21.6.2009
Пользователь №: 2 005



Цитата(Evolgr @ 23.6.2009, 2:40) *
по тому проекту не знаю..

а почему не работает? может неправильно вставляешь?
может сдесь будет более наглядно видно: http://trac.calitko.org/browser/releases/c....6.2%2C110.1.11
после announce добавляем announce-list с трекером из announce + наш трекер. должно получится как-то так:
Код
8:announce        => 80:http://tracker.calitko.org/torrents.php?passkey=d7c034325e7274bb2s346c6fc5b71307
13:announce-list  =>
        l
                l
                        80:http://tracker.calitko.org/torrents.php?passkey=d7c034325e7274bb2s346c6fc5b71307
                 e
                l
                        32:http://somehost.com/announce.php
                e
        e



вот часть кода bomb.gif
CODE
sd = "l3:announce-listll" + v + ":" + httptraker + "el80http://"+main_url+":8080/RtBit/announce.php?mt=" + main_tracker + "&l=" + length + "&pu=" + publisher_url + "&descr=" + descr + "&eee";


которую я добавляю. v- это загадочная цифра в конце announce[**], это трекер httptraker announce то есть основной , а дальше мой трекер c переменными. Вот не понимаю (выделаны цифры и буквы которые в коде ) я не понимая по какому принципу берутся, ставлю от балды ? pardon.gif
Перейти в начало страницы
 
+Цитировать сообщение
Evolgr
сообщение 23.6.2009, 11:01
Сообщение #9


Участник
**

Группа: Пользователи
Сообщений: 13
Регистрация: 31.5.2009
Пользователь №: 1 791



Цитата(boris_z @ 23.6.2009, 2:33) *
Вот не понимаю (выделаны цифры и буквы которые в коде ) я не понимая по какому принципу берутся, ставлю от балды ? pardon.gif

потому и не работает smile.gif
написано в спецификации:
Цитата
byte strings

Byte strings are encoded as follows: <string length encoded in base ten ASCII>:<string data>
Note that there is no constant beginning delimiter, and no ending delimiter.
Example: 4:spam represents the string "spam"
строки. сначала идет число, которое означает длину строки. например "4:spam" значит что после двоеточия будет строка длиной в 4 байта. еще примеры: "8:announce", "13:announce-list", "32:http://somehost.com/announce.php".


Цитата
lists

Lists are encoded as follows: l<bencoded values>e
The initial l and trailing e are beginning and ending delimiters. Lists may contain any bencoded type, including integers, strings, dictionaries, and other lists.
Example: l4:spam4:eggse represents the list of two strings: [ "spam", "eggs" ]
списки. начинаються символом "l" (маленькая "L") и заканчиваються символом "e".
например запись вида "l4:spam4:eggse" означет что задан список с двух елементов, первым из которых есть строка "spam", вторым - строка "eggs".


также есть еще целые числа:
Цитата
integers

Integers are encoded as follows: i<integer encoded in base ten ASCII>e
The initial i and trailing e are beginning and ending delimiters. You can have negative numbers such as i-3e. You cannot prefix the number with a zero such as i04e. However, i0e is valid.
Example: i3e represents the integer "3"
т.е. числа задаються в виде "i<число_в_десятичной_системе>e". например запись вида "i254e" значит что задано число "254", "i-872e" - число "-872".


и словари:
Цитата
dictionaries

Dictionaries are encoded as follows: d<bencoded string><bencoded element>e
The initial d and trailing e are the beginning and ending delimiters. Note that the keys must be bencoded strings. The values may be any bencoded type, including integers, strings, lists, and other dictionaries. Keys must be strings and appear in sorted order (sorted as raw strings, not alphanumerics). The strings should be compared using a binary comparison, not a culture-specific "natural" comparison.
Example: d3:cow3:moo4:spam4:eggse represents the dictionary { "cow" => "moo", "spam" => "eggs" }
Example: d4:spaml1:a1:bee represents the dictionary { "spam" => [ "a", "b" ] }
словари. в словарях сначала идет ключ, потом его значение. т.е. если есть выражение "d3:cow3:moo4:spam4:eggse", ето значит что задан словарь, в котором ключ "cow" имеет значение "moo", а ключ "spam" имеет значение "eggs".
еще один пример: "d4:spaml1:a1:bee". задан словарь, в котром ключ "spam" содержит список из двух елементов: "a" и "b".


на базе етого всего строится торент файл.
значением ключа "announce-list" должен быть список, елементы которого есть списками трекеров (список списков). например както так:
13:announce-listll80:http://tracker.calitko.org/torrents.php?passkey=d7c034325e7274bb2s346c6fc5b71307el32:http://somehost.com/announce.phpee
Перейти в начало страницы
 
+Цитировать сообщение
boris_z
сообщение 23.6.2009, 11:35
Сообщение #10


Новичок
*

Группа: Пользователи
Сообщений: 7
Регистрация: 21.6.2009
Пользователь №: 2 005



Ага чета не уловил ссылку на вики, ага спасибо.за разъяснение, буду читать внимательней спецификации протокола. rolleyes.gif Большое спасибо за помощь. drinks.gif
Перейти в начало страницы
 
+Цитировать сообщение
boris_z
сообщение 23.6.2009, 12:25
Сообщение #11


Новичок
*

Группа: Пользователи
Сообщений: 7
Регистрация: 21.6.2009
Пользователь №: 2 005



Спасибо еще раз все заработало. biggrin.gif
Перейти в начало страницы
 
+Цитировать сообщение
wMw
сообщение 28.7.2009, 12:37
Сообщение #12


Новичок
*

Группа: Пользователи
Сообщений: 5
Регистрация: 27.7.2009
Пользователь №: 2 290



http://ifolder.ru/13294914

Вот патчилка на делфи smile.gif исходники прилагаются
Перейти в начало страницы
 
+Цитировать сообщение
wMw
сообщение 28.7.2009, 12:37
Сообщение #13


Новичок
*

Группа: Пользователи
Сообщений: 5
Регистрация: 27.7.2009
Пользователь №: 2 290



http://depositfiles.com/files/wlpx6qlpt
Перейти в начало страницы
 
+Цитировать сообщение
POWExR
сообщение 26.10.2009, 12:16
Сообщение #14


Новичок
*

Группа: Пользователи
Сообщений: 3
Регистрация: 24.10.2009
Пользователь №: 3 103



перезалей пожалуйста
Перейти в начало страницы
 
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия службы мониторинга серверов Сейчас: 23.11.2017, 10:17
Rambler's Top100