будет реализовано DCLST

grey_rat

Пользователь
#1
Если прикручивать dcls, соответсвенно в списке файлов должны выводиться магнет-ссылки с хешем TTH. Достать их не проблема, другое дело как связать список файлов торрента и список из dcls ? Если не лепить отдельную кнопку "Список файлов", должен быть механизм который (например, сравнивая названия или размер в списках файлов торрента и dcls )делал бы сопоставления одинаковых файлов в списках, и для юзера выводил один список файлов, в котором возле каждого файла была бы одна полноценная магнет-ссылка с TTH (например разукрасить её синим цветом). Но и тут надо будет решить следующие проблемы:
1. Не соответсвие содержимых торрент-файла и dcls (ошибки юзера по невнемательности).
а) решение 1: при перезаливке юзером на раздаче торрента и/или dcls удалялись оба старых файла.
б) решение 2: после решения 1, вначале юзер заливает торрент файл, и только потом следующим редактированием сможет залить dcls. Во время перезаливки торрента сайт должен провести соответсвие содержимого торрента как написал в самом начале.
в) решение 3: после заливки dcls файла, обычным юзерам выводить список файлов только из него, а модераторам и администраторам показывать две кнопки списка файлов с торрента и dcls, что бы могли легко проверить на соответсвие содержимого при проверке раздачи. Механизм проверки на соответсвие делать тогда не нужно.

Если файл dcls будет загружен на сервер пользователем, не обязательно, но в принципе можно сделать, дописывание к магнет-ссылки TTH dcls файла, тоесть магнет-ссылка на всю раздачу будет одна, но содержать как хеш торрента так и хеш для DC.
Как такая магнет-ссылка будет доставаться для dcls файла - два решения:
1. На сервер прикручивается механизм определения хеша для DC для файлов
2. При создании раздачи, юзер сам будет вписывать в пустое поле "TTH одиночного файла или dcls" значение которого сервер автоматом будет добавлять в магнет-ссылку.
Что бы клиенты торрента и DC не путались кому открывать магнет-ссылку, можно сделать :
а) дописывание параметра dchub: перед магнет-ссылкой (такая магнет-ссылка будет открываться только в DC)
б) в настройках профиля юзера сделать соответсвующие опции вкл/откл параметров магнет-ссылки.

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

Слишком замысловато написал, у тебя голова кругом пошла наверно :)
Что бы на всё это сразу не кидаться, сделай последовательно следующие вещи для dcls :
1. Загрузку пользователем dcls файла на сервер трекера (соответсвующая поле/форма при создании новой раздачи)
и вывод http ссылки для скачивания dcls файла на странице раздачи.
2. Достань список файлов и их хеши из dcls

3. Создай дополнительную кнопку "Списк файлов" для dcls
Это основная часть от которой нужно плясать, а остальное там мелкие мелочи :)

Просто сейчас относительно вебсида не уверен - стандарта (ws/aw) как такового еще нет
ws - поддерживается начиная с bittorrent/utorrent 3.0 . Параметр as - вроде как в трансмиссии (не помню если честно). В любом случае, если какой-то клиент не понимает какой-то из параметров - он его пропустит. В одну ссылку можно запихнуть кучу разных параметров, для кучи разных p2p клиентов

Please Login or Register to view hidden text.

 

Exile

Администратор
#2
После 600 ревизии постепенно реализуем, спасибо за столь подробное изложение.
 

grey_rat

Пользователь
#3
Прокрутилась в голове такая идея :
dcls файл содержит названия подпапок и хеши, название и прочие данные самих файлов. При этом сам dcls файл имеет свой собственный хеш. Но беда в том, что тот кто создаёт dcls файл - тот по сути и является его единственным обладателем. Даже если DC релизер загрузит этот dcls файл на сайт, то скачавший его другой юзер скорее всего не расшарит, а удалит оставив только сами нужные загруженные файлы. По факту dcls файлы должны обязательно хранится на сайте и скачиваться с сайта как торрент-файлы. Если публиковать только магнет-ссылку на dcls файл на сайте, тогда практически единственным источником её работоспособности будет релизер раздачи, что собственно так же не хорошо.

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

Вобщем идея такая :
В папке с любым названием, имеются к примеру файлы с хешами 11111111 и 2222222. DC клиент складывает эти хеши например простым сложением 11111111 + 2222222 = 3333333. Это полученное число и будет как бы "хешем" для папки в которой лежат эти файлы. Соответственно и магнет ссылка на папку будет как обычная магнет-ссылка, только в DC клиенте со стороны принимающего (кто по ней нажимает) на странице результатов поиска будет показываться список юзеров и папки с таким "хешем", которые можно будет просмотреть или скачать.

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

Минусы:
Если в папке с файлами будут находиться другие файлы, то "хеш" папки будет другой, например 11111111 + 2222222 + 3333333 = 6666666

Кто что думает о такой альтернативной реализации dcls ссылок ? Пока эту идею ещё не предлагал разработчикам флайлинка.
 
Последнее редактирование:

grey_rat

Пользователь
#5
Я им это и предложил со ссылкой на это сообщение :) Но сейчас не до этого.
Они решили прикрутить возможности торрента в программу на основе библиотек libtorrent

Please Login or Register to view hidden text.


По плану вроде как попытаться заменить DHT в DC на механизм работы DHT в торрентах. А так же если возможно что-то прикрутить/поменять в схеме определения открытый порт/закрытый (сейчас в флайлинке там много ручных настроек, когда как в торрентах определение открытый/закрытый порт происходит автоматически).
 

Exile

Администратор
#6
@grey_rat ну это уже какое-то смешение протоколов получается и в итоге как бы велосипед не вышел.
 
Сверху