← All posts tagged P2P

OCTAGRAM
P2P ttk С одной стороны, хорошо, что ТТК приучает к DC, с другой стороны, делают они это каким-то специфичным образом. Нормальный участник p2p подключен к одной-двум дюжинам хабов по интересам. Если шара интересная, ещё и на закрытые приглашают. Качаешь с закрытых ништяки, раздаёшь на всех, и так течёт информация.

Но Граждане Интернета, которые спаунятся в сети ТТК, не таковы. Сидят, значит, на местном огороженном по IP хабе двое клоунов, один сетует, что 6го сезона Зачарованных нет в p2p, я офигеваю, говорю, да как нету, такая вещь вот уж точно никуда не денется, ищу, нахожу, вот тебе ссылки, тут включается второй, говорит, что по ссылке даже не находится.

И тут я начинаю прозревать. Нашёл первого в списке пользователей. В теге стоит H: 1/0/0. Нашёл второго в списке пользователей. В теге стоит H: 1/0/0. Сами себе злобные буратины
OCTAGRAM
P2P tth x509 OID ASN1 В сертификатах, подписях и запросах на сертификат применяются так называемые OID, идентификаторы объектов. Например, они бывают такие:

Проверка подлинности сервера: 1.3.6.1.5.5.7.3.1
Подписание проектов сводных справок о правах на объекты жилищного фонда: 1.2.643.3.3.0.0.1.53
TIGER: 1.3.6.1.4.1.11591.12.2
HMAC-TIGER 1.3.6.1.5.5.8.1.3
Индивидуальные предприниматели РФ: 1.2.643.10
codeSigning: 1.3.6.1.5.5.7.3.3
msCodeCom, Microsoft Commercial Code Signing (AuthentiCode): 1.3.6.1.4.1.311.2.1.22
sha512: 2.16.840.1.101.3.4.2.3
sha1WithRSAEncryption: 1.2.840.113549.1.1.5
rsaEncryption: 1.2.840.113549.1.1.1
Свойство CN (Common name), общепринятое имя: 2.5.4.3
Intel Corporation: 1.3.6.1.4.1.311.2.1.22
ed25519: 1.3.6.1.4.1.11591.15.1

Они образуют древовидную структуру, в которой есть ISO, ITU, страны, компании. Каждый следующий отвечает за своё поддерево, в котором может делать что угодно. Всеохватывающего реестра нет, но для многих верхних ветвей есть разделяемое большинством соглашение о принадлежности. Каждый признанный хозяин поддерева ведёт реестры так, как хочет. Вот тут попытка создать общий реестр, но всё это под честное слово. А вот Россия, например, ведёт реестры, и тут можно искать индивидуальных предпринимателей. Какие-то технические OID можно встретить в RFC.

Так, например, OID HMAC-TIGER расписывается как: {iso(1) identified-organization(3) dod(6) internet(1) security(5) mechanisms(5) ipsec(8) isakmpOakley(1) hmacTIGER(3)}. То есть, у него есть OID только потому что он был применён в IPSEC. А чистый TIGER был когда-то реализован в GnuPG, поэтому он оказался в GNU. У TTH никто необходимостью опубликовать OID не озаботился, и как результат, если сейчас захотеть подписать по X.509 файлы и почту самым популярным в p2p хешем, сделать это не получится, надо сначала договориться о смыслах. А это для третьих сторон гораздо сложнее, чем если бы получением OID озаботились авторы TTH.

Кто владеет OID, тот создаёт смыслы.

Теперь про то, как получить. Получить поддерево можно у любого хозяина, который уже зарегистрирован. Нашёл тут разные варианты.
1. Например, интересно, что есть поддерево для UUID, и если сгенерить или использовать существующий, OID из такого UUID будет тоже уникален, но ни в каком реестре это не будет отражено.
2. Можно бесплатно зарегистрироваться здесь и оказаться по соседству с Intel и GNU внутри ISO, МинОбороны США и Интернета :) Например, TTH и ed25519 — в поддереве GNU.
3. Можно зарегистрироваться в России, например, тут после получения ЭЦП — соответственно, в поддереве России, а не в какой-нибудь минобороне сша.
4. Поискать по вашим обстоятельствам, кто ещё раздаёт поддеревья. GNU, ЮНЕСКО там всякие и т.п.

И, кстати, я прозрел на тему того, как программно идентифицировать сущности, чтоб и конкуренции за козырные имена (привет, sun.*) избежать, и чтоб не до предела запутано, как в COM, было. COM'овские GUID замечательно проецируются в подветвь OID, а в других подветвях в каждой стране (в смысле, любой может) есть несколько способов получить себе свой уникальный и хозяйничать в поддеревьях.
OCTAGRAM
работа P2P ADC То чувство, когда общаешься с заказчиком по ГрейЛинку. В частности, чат там явно получше, чем эта навороченная тормозящая штука на ангуляре с вечно отваливающимися и не заваливающимися обратно вебсокетами, из-за которых надо обновлять страницу фриланса, чтоб увидеть, появился ли ответ, в общем, получше по сравнению с тем, что такое обычное в вебе.
OCTAGRAM
P2P криптография tth Tiger Кажется, поймал в живую коллизию. С одной стороны, файл. С другой стороны, папка (хеш от отсортированных хешей файлов). Собрал свидетельства, сделал снимки экрана. По идее, это заодно сведётся и к коллизии для TIGER.

Надо будет независимыми утилитами перепроверить все расчёты. Не врёт ли мне клиент по другую сторону. В ГрейЛинке хеш для папок — устаревшая фича в пользу dcls, я в контекстном меню скачанного списка файлов вижу опции «получить магнитную ссылку» неактивным цветом. Только в поиске по TTH вижу файл и папку вместе.
OCTAGRAM
web P2P magnet Было некогда желание сделать виджет для магнитных ссылок, чтоб из менюшки можно было сделать поиск по TTH через онлайн-индексаторы, проверку в VirtusTotal, а также варианты поделится в соцсетях. В менюшке можно отображать альтернативные HTTP/HTTPS ссылки, рекомендуемые DC++ хабы и прочее, прочее, что в магнитную ссылку теоретически можно запихнуть, но чем практически сложно воспользоваться из-за слабой поддержки в клиентах.

Но так и не сделал, с нуля наклепать такое не просто. Я на altaimolodoi.ru как-то раз поставил подсветку ключевых слов, по которым пришли из поиска, так оно вешало Хром, а я этого не знал, так как в IceDragon работало. А тут попался похожий сервис виджетов для Скайпа, где, похоже, всё отлажено. Можно переделать код под свои нужды.
OCTAGRAM
torrent P2P tth dcls Провокация с TTH-торрентами идёт по плану. Поисковики заглотили несколько гигабайт наживки и направляют посетителей. Например, один из посетителей что-то поискал в Гугле, открыл HMS, потом скачал torrent для «Шрам Покушение на Пиночета (Cicatriz)». Мог бы выбрать dcls, но зачем-то выбрал torrent. Хорошо, нате вам torrent, но он будет такой же, как dcls, вид в профиль. Человек смог полюбоваться на список файлов и прочитать комментарий:

"BEP 47 Padding files and extended file attributes" support required: wiki.depthstrike.com info.pieces is fake to make deficient (that is, not upgraded to TTH yet) clients happy and let you see this message
Учитывая, что «deficient (that is, not upgraded to TTH yet) clients» — это практически все торрент-клиенты, скачать, скорее всего, не получилось. Ибо нефиг пользоваться всякой хренью. С одной стороны, кроме как обновлением до TTH, это объективно непоправимо, с другой стороны, так приятно хоть немного отомстить за то, что полезли на наши магнитные ссылки, не реализовав соответствующий функционал TTH. Вы полезли на наши магнитные ссылки, мы полезли на ваши торренты.

Многие другие посещения не столь интересные. Там кликают по магнитной ссылке. Даже если начать отслеживать их пикселями, не понятно, куда этот клик пойдёт. Может быть, по ту сторону всё замечательно открылось и скачалось, как положено.
OCTAGRAM
P2P HMS Потратил 4,6 гига на хостинге, навыкладывал метаданных про 300 тер. Вообще, мечтал петабайт осилить, но при текущей плотности метаинформации не получается. Надо посмотреть, как дело пойдёт. Яндекс-бот уже пришёл.

Вот интересно, а ведь бывают, наверное, боты-индексаторы для открытых торрентов. Я, допустим, четвёртый год пытаюсь скачать торрент с BTIH 6AE765434DEB78AB7CBDA3AAC869363E81046348 , и если я его забиваю в поисковик, то вылезают несколько штук сайтов. И с другими BTIH аналогичная история. У каких-то BTIH таких сайтов больше, у каких-то меньше. Как бы в эти индексы попасть.
OCTAGRAM
P2P время Выписал реальные значения временных меток в атрибуте Shared (GreyLink DC++) и TS (FlyLink DC++). Для сравнения ещё вычислил Date.now(), он получился по длине между ними. Для наглядности добавил подчёркивание там, где кончаются секунды.
GreyLink DC++: 1307966464_52889830
Date.now(): 1480931727_080
FlyLink DC++: 1295288944
Таким образом, это в общем везде время от начала Эпохи (1970), но во FlyLink DC++ — с точностью до секунды, а в GreyLink DC++ — с точностью до 10 наносекунд. Я опасался, что там время OLE Automation (от 1900) может затесаться.

Правда, тут есть один нюанс. Согласно POSIX, время отсчитывается без учёта високосных секунд, а вот справедливо ли это по отношению к каждой из трёх приведённых дат, не очевидно. Надо полагать, что всё-таки без.
OCTAGRAM
BitTorrent P2P greylink directconnect Расширения тега File во FlyLink DC++
Почитал тут.
HIT — количество скачиванийВ GreyLink DC++ есть в базе, но нет в XML списке файлов.
TS — дата добавленияВ GreyLink DC++ есть аналогичный атрибут Shared, но формат другой. И там, и там числа, но у GreyLink явно подлиннее. И есть подозрение, что этот атрибут есть только в обычном корневом файле шары, а в сгенеренных вручную — нет. Но мой генератор получает на вход именно корневые файлы и имеет возможность пробросить этот атрибут в выходной файл.
BR — Битрейт файла
WH — разрешение картинки
MA — аудио информация (кодек, количество каналов, количество дорожек, язык дорожек)
MV — видеоинформация (кодек, Битрейт видеопотока, соотношение сторон экрана)
В GreyLink DC++ не хранится ни в базе, ни в XML, вместо этого можно делать асинхронные запросы к файлам. Пожалуй, решение FlyLink DC++ лучше. При этом информация в GreyLink DC++ более полна, видно авторa и альбом, как они написаны в ID3 тегах. Самое лучшее решение я видел в Shareaza.
Ещё в GreyLink DC++ есть возможность назначать папкам свои картинки. И опять в dcls фича, скорее всего, обычно не пробрасывается, но мой генератор может научиться это делать. Насчёт поддержки в FlyLink DC++ не знаю.
Ещё Shareaza при хешировании шары проставляет в дополнительные потоки папок UUID, и по ним отслеживает переименования и переносы. Не помешало бы аналогичное для DC++. Вот как раз онлайн-ссылки в новое расположение можно было бы автоматом перенаправлять. Но увы, такого нет. Во всяком случае, в чужих шарах такого ожидать не приходится.

Заодно посмотрел расширения торрента. Даже близко такого нет (кроме даты создания), хотя я мог бы сделать, чтоб мой генератор с барского плеча пожаловал метаинформацию от FlyLink DC++ в info.files.*.
OCTAGRAM
BitTorrent P2P ADC BEP47 Сконвертил свою p2p шару в формат торрента по спецификации BEP 47.

В оригинале (.xml.bz2) 3,1Мб, распакованный XML 12 Мб, а в формате торрента получилось 16 Мб. Он, конечно, двоичный, в отличие от распакованного XML, и каждый TTH там 24мя байтами кодируется, а не 39ю в Base32, но это с лихвой компенсировалось тем, что в описании каждого файла участвует info.files.path, повторяющий названия верхних директорий несколько тысяч раз, в то время как в XML тег Directory указывает имя директории только один раз. Я поискал и сходу не вижу такой BEP, чтобы можно было как-то вложить info в info. Это бы решило проблему, но увы.

Так же, как и для dcls, для торрентов можно генерить один большой файл, а в нём запоминать смещения (в списке info.files), чтобы потом склеивать на лету. Правда, это дурацкое устройство info.files.path и здесь не даёт возможности сделать всё нормально. Название директории, которую описывает торрент, задаётся в info.name. А элементы списка info.files.path идут уже внутри info.name. Так что если нам захотелось в торренте для вложенной папки установить info.name в имя этой папки, у нас получится такая картина, что в нём сначала папка с именем желаемой папки, потом внутри неё несколько взаимовложенных папок с именами папок от корня шары, потом снова эта папка, и там уже собственно файлы. Если генерить отдельные торренты для каждой директории, 16Мб распухнут пусть не в семь (как для dcls), но едва ли меньше, чем в два раза. Общий info.name в каждом торренте в принципе, был бы наиболее логичен, если рассматривать их по отдельности, но если их у одного человека становится несколько и все одинаково названы, тоже как-то не здорово. Решил сделать компромиссный вариант: в info.name не само имя папки, а конкатенация имени папки с именем корня (в качестве которого у меня выступает CID). Всё же хочется иметь возможность забить хостинг как можно большим количеством скачанных шар.

Конечно, не удержался от того, чтобы ковырнуть торрент µTorrent'ом. Пишет «Невозможно загрузить 'root.torrent'. Недостаточно памяти для обработки команды. !». Мда, печально это. p2p-клиенты и не такими объёмами ворочают.
OCTAGRAM
P2P bzip2 dcls сжатие Провёл эксперимент и обнаружил, что два склеенных bzip2 файла распаковываются в один, склеенный из двух оригинальных. И это же замечательно!

Это может пригодиться для генерации на веб-сервере списков файлов p2p для любой поддиректории:
Открываем новый файл на запись, начинаем туда в сжатом виде писать XML списка файлов, перед каждым открывающим тегом Directory и после каждого закрывающего делаем BZ_FINISH, а смещения запоминаем на будущее. Пролог и эпилог с директивой XML и тегом FileListing тоже нужно сделать возможным отрезать.
Потом, когда веб-серверу нужно отдать список файлов для поддиректории, он, не особенно напрягаясь, склеивает пролог, XML-описание поддиректории и эпилог. А ещё потом можно редактировать этот файл. Придётся байтики подвигать, но хотя бы пережимать не нужно.
Я нагенерил обычных отдельных списков файлов для каждой поддиректории своей шары, и у меня в общем получилось 23 мегабайта. Обычный сжатый (с аргументами blockSize100k => 9, workFactor => 30) полный список файлов весит 3,1 мегабайта. Несжатый — 12,5.
Реализовал эту идею. Сжатый список файлов с разрывами получился на 4,8 мегабайт. Выкручивание workFactor на 250 практически ничего не изменило, но всё равно неплохо.

Гипотетически можно с zlib устроить аналогичное, чтоб посетители с плохим Интернетом могли экономить трафик, но и веб-сервер не напрягался. Разрезать шаблон на куски, сжать каждый, на лету дожать остальное содержимое и отдавать всё в склеенном виде.
OCTAGRAM
P2P MagnetURI Подскажите, при нажатии кнопки поиск на странице ТТК, открывается не Пульс++ а торрент и говорит мол нельзя скачать, как это исправить?Интересно, это недоразумение когда-нибудь научится скачивать по тому формату URI, на который претендует, или наступит наконец уже понимание, что они, начав претендовать на реализацию magnet:, вот уже столько лет не в состоянии его запрограммировать, а раз руки не из того места, то и не надо мешать программам, где всё как надо
OCTAGRAM
мультфильмы оскар Мультфильм «Мы не можем жить без космоса» режиссёра Константина Бронзита номинирован на премию «Оскар» в категории «Лучший короткометражный анимационный фильм».
Мультфильм, ставший единственной отечественной лентой, претендующей на награду киноакадемии, повествует о двух друзьях, которые с детства мечтают полететь в космос. Им приходится долго и упорно идти к своей цели. Автор мультфильма дал интервью телеканалу RT.
Кстати, я отметил, как хорошо на mults.info сделана система скачивания: и онлайн есть, и прямые ссылки, и для p2p сетей, причём, они не навязывают устаревшие протоколы типа bt, а дают возможность нормально выбрать. Я полностью удовлетворён.
OCTAGRAM
зомбоящик патриотизм Ростелеком stb Посмотрел у родственников ростелекомовскую приставку к ТВ. Russia Today в списке каналов есть, это хорошо, а RTД нет. Ну конечно, зачем нам русскоязычный канал? У нас, похоже, страна англоязычная, раз есть только английская версия телеканала. CCTV–Русский тоже не нашёл. Правильно, это пусть наши президенты друг другу напоказ руки жмут, а быдлу вся эта дружба народов ни к чему. Зато такая дрянь, как РБК — тут как тут. Куда ж без них.

Приставки бывают разные. Бывают приставки, которые декодируют DVB-C, там безнадёжно. Что тебе дядя по кабелю подал, ничего сверх этого из такого кабеля высосать не получится. Бывают приставки, которые работают по Ethernet, к ним совсем другие ожидания. Что провайдер не передаёт по локальной сети, можно добрать через Интернет. Гипотетически я должен иметь возможность на приставке подредактировать список каналов. Переставить местами, назначить номера как мне хочется. Всякие ТНТ и СТСы вообще убрать с глаз долой, чтоб дети даже не знали, что такие каналы есть, а случайные гости без пароля не могли бы зайти в настройки и включить скрытые каналы, ибо нефиг. А каналы, которых не хватает в локальной сети, должны показываться через Интернет, благо, есть куча мест, где можно узнать URL для MMS, RTMP и HLS. Конкретно RTД вещается по RTMP и HLS. Беларусь–24 — по MMS. CCTV–Русский я обычно смотрю через C-Box, которая работает по непонятному протоколу p2p, но было у них и через браузер вещание, а это, скорее всего, RTMP, HLS, или в худшем случае HDS. В ТВ–приставке, которая подключена через Ethernet, должна быть возможность назначать Интернет–телеканалы на кнопки пульта, чтоб всё было перемешано: телеканалы в локальной сети провайдера и телеканалы в Интернете, и назначены на любые номера, как мне хочется. Ничего даже близко из этого я в приставке не увидел, и даже настроить там особо нечего. Не приставка, а кирпич какой–то.

Ещё увидел в списке каналов Спас и Союз. Видимо, православные более пробивные, чем патриоты. Не получается у нас повлиять на провайдеров, чтоб RTД был. На безрыбье эти каналы — конечно, рыба, и ещё какая, но всё же сама идея цацкаться с каким–то дядей, чтоб уломать его добавить телеканалы, мне как–то не очень нравится. Пусть лучше приставка с Интернета телеканалы научится брать, и если дядю устраивает, что зрители забивают траффик внешним телеканалом, пусть оставляет как есть, не нравится — добавляет канал в локалку.
OCTAGRAM
BitTorrent P2P dc++ NMDC Не кормить и пороть! Американский рецепт любви народов
А мне вот пришла в голову аналогия BitTorrent и NMDC. В бытность работы сотрудником техподдержки в провайдере звонили нам по поводу треккера, который был в локалке, но не фирменный. Так и чесался язык ответить: «В нашей сети действует файлообмен по двум основным протоколам. Один из них плохо подходит, чтобы поиметь пользователей, другой — очень хорошо. Вы выбрали тот протокол, который очень хорошо подходит, чтобы вас поиметь. Вас поимели. С чего бы это?» К счастью, в нашем провайдере фирменным был (и сейчас остаётся, после покупки нас ЗС–ТТК) только DC++, и нам полагалось посылать таких звонивших, ну разве что приходилось отказывать себе в удовольствии делать это именно такими фразами. Так и оставались люди в неведении, почему с ними это происходило.
OCTAGRAM
web PHP JavaScript $_SERVER['HTTP_REFERER'] , но document.referrer. Да что с ними не так?
HTTP referer
Любопытно, что написание английского слова referrer как referer — популярная ошибка. Настолько популярная, что вошла в официальные спецификации протокола HTTP.Ах, вот оно как. Я–то думал, это только в NMDC такие ляпы. Ну теперь я спокоен.
OCTAGRAM
BitTorrent P2P "Мы не потеряем своих пользователей!" Интервью Рутрекера о решении суда по их "вечной блокировке"
Ого, чё творится в мире битторрента. Ну а что? Вместо того, чтобы скрещивать Шареазу с ГрейЛинком, таращились на этот древний протокол. Так и не сделали обязательным TTH, чтоб можно было легче перейти на другие протоколы. Результат немного предсказуем. Туда им и дорога.
OCTAGRAM
ТВ китайский cctv cbox.cntv.cn — плеер, cctvrussian.cntv.cn — а это программа передач
В прошлый раз, когда я пытался смотреть CCTV–Русский, был вариант либо смотреть дёргающийся онлайн в браузере [1], либо поставить падающий p2p плагин для браузера, который я в действии так и не смог увидеть. Было ещё приложение для Android. Теперь, смотрю, появилось такое же приложение для Windows. Русскоязычные пользователи, качающие CBox, чтобы смотреть CCTV–Русский, похоже, предусмотрены не были, поэтому всё на китайском, в том числе названия каналов. Надо искать среди каналов 俄语 ну или просто пощёлкать по всем каналам, пока не будет то, что нужно.

[1] cntv.ru у меня сейчас вообще не работает, а ещё я себе нашёл и поставил работающий код сюда: cctv.toom.su , но он сейчас тоже не работает
OCTAGRAM
P2P icon greylink bitbucket.org
И ещё кое–что сегодня перестаёт быть моим ноу–хау.
Парсит журналы GreyLink, разбивает примерно по дням (на самом деле, с нахлёстом) и выводит их в виде HTML файлов в формате, похожем на журналы Jabber конференций на jabber.ru. Поддерживаются смайлы, магнитные ссылки для DC++, ники делаются ссылками в таком формате, в котором поддерживает GreyLink DC++. Некоторые слова можно в целях SEO или каких–то других делать ссылками куда надо. Все реплики имеют якорь. Если выбрать конкретную реплику и скопировать ссылку на таймкод перед этой репликой, это и будет ссылка на реплику. Так как в журналах GreyLink нет секунд, реплики внутри минуты нумеруются по порядку. Реализовано на языке Icon.
В штатном режиме обновляет только последний/предпоследний день, но может и обновить, начиная с произвольной даты. Когда это у меня последний раз работало, я запускал по часам каждые 5 минут.

Вот так выглядит результат: p2p.toom.su
А так выглядит оригинал, под который я косил: chatlogs.jabber.ru

Чего так и не сделал: не исправил косяк с определением дня недели, не сделал вывод логотипов провайдера и города, как в самом GreyLink ( assembla.com ), не сделал скрипт для GreyLink, чтоб когда картинку постят в чате, она выкачивалась автоматом без клика по ней, и чтоб потом вставленные таким образом в чат картинки попадали в HTML в конечном итоге.

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