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

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

BitTorrent

BitTorrent поддерживает несколько режимов работы, которые в большинстве случаев сочетаются вместе: работа через трекер, PEX (Peer EXchange) и DHT (Distributed Hash Table). Обо всем по порядку.

Для начала нужно пояснить базовую терминологию, относящуюся к участникам торрент-раздачи:

  • Пир (peer) – общее обозначение для участника процесса;

  • Сид, сидер (seed) – пир, у которого есть весь файл. Сидером однозначно называется пользователь, создающий раздачу, так как на начальном этапе весь файл есть только у него. Именно поэтому в новой раздаче обычно только один сидер. Если вы скачали файл целиком и не ушли с раздачи, то также становитесь сидером;

  • Личер (leech) – пир, качающий файл, но пока не скачавший его до конца. Он также может раздавать другим пирам фрагменты, которые уже скачал;

  • Суперсид (SuperSeed) — сид в особом режиме раздачи, когда он отдает каждому качающему только уникальные фрагменты файлов, тем самым заставляя остальных участников быть активнее (обмениваться недостающими частями между собой).

Трекером называется сервер, к которому участники раздачи обращаются для публикации информации о себе и получения информации о других участниках обмена. Пользователь, еще не скачавший файл, после получения списка пиров стучится к ним с просьбой выдать часть файла. Чтобы реализовать возможность фрагментированной загрузки файла (а не последовательной от первого до последнего байта подряд), торрент-раздача содержит хеши фрагментов конечного файла. Это позволяет загружать файл разрозненными частями от разных пользователей и проверять их целостность. Миссия трекера заключается в аккумулировании информации об участниках раздачи и предоставление этой информации самим же участникам. Торрент-трекер никаким образом не прикасается к конечному файлу, обмен которого обеспечивает, лишь сводит между собой раздающих и скачивающих.

Чтобы минимизировать последствия выхода из строя торрент-трекера, при создании раздачи можно указывать несколько трекеров. Помимо этого, вывести раздачу на новый трекер может любой желающий. Таким образом, перебои с одним из серверов не лишают возможности скачивать и раздавать.

PEX (Peer EXchange) — расширение BitTorrent-протокола для обмена списками участников. Реализация незамысловатая: помимо фрагментов файлов, пользователи обмениваются дополнительными сообщениями, которые несут в себе списки подключившихся и отключившихся от раздачи участников. Это помогает новым пользователям быстрее интегрироваться в процесс загрузки файла, так как не нужно ожидать обращение раздающего узла к трекеру, где он получит список новичков. Также и для скачивающего участника появляется новый источник пиров помимо торрент-трекера.

Несмотря на простоту замысла, некоторые BitTorrent-клиенты имеют собственную реализацию PEX, не совместимую с другими. Кроме этого, PEX не является панацеей, так как способен помочь только тем пользователям, которые уже подключены к раздаче (потому что сообщения PEX идут по обычному протоколу BitTorrent в виде дополнительных пакетов).

DHT (Distributed Hash Table) — протокол, позволяющий BitTorrent-клиентам находить друг друга без использования трекера. DHT принципиально похож на PEX с тем главным отличием, что работает отдельно от основного протокола BitTorrent.

Каждый подключенный BitTorrent-клиент является в DHT-сети отдельным узлом. У него есть свой уникальный ID (идентификатор), случайно выбираемый из того же 160-битного пространства, что и infohash’ы торрентов. Каждый узел хранит таблицу маршрутизации, содержащую контактную информацию о многих "ближайших" к нему узлах, и о нескольких более далеких. "Близость" двух узлов вычисляется из "сходства" их ID, и не имеет никакого отношения к их географической близости.

Когда узел хочет найти пиров для какой-то раздачи, он сравнивает infohash этой раздачи с ID известных ему узлов, и затем посылает запрос тому узлу, чей ID наиболее похож на этот infohash. Следующий узел, в свою очередь, возвращает адрес узла, чей ID ещё ближе к infohash'у торрента. Таким образом, запросы от клиентов, участвующих в раздаче торрента с определенным infohash, постепенно стекаются к узлам, чьи ID наиболее похожи на infohash раздачи. Эти узлы помнят предыдущие запросы участников по конкретному торренту и всем следующим запросившим узлам вернут адреса предыдущих пиров с той же раздачи.

База DHT хранится торрент-клиентом независимо от активных раздач и сохраняется вплоть до выключения или перезапуска, регулярно принимая запросы других участников и проверяя на активность узлы из своего списка. База DHT пополняется при любом удобном случае: при получении списка участников от торрент-трекеров, либо от других пиров через PEX или DHT.

Через DHT реализуется альтернативный способ публикации торрента без указания трекера. Как правило, такие раздачи распространяются в виде текстовой ссылки вместо торрент-файла. Строка называется magnet-ссылкой и обязательно содержит infohash раздачи, которая позволяет найти участников раздачи через DHT. Однако, в magnet-ссылке может присутствовать адрес торрент-трекера, что в большинстве случаев ускоряет поиск пиров. Надо заметить, что magnet-ссылка и torrent-файл без указания трекера являются бесполезными, если у конечного пользователя нет активных DHT-подключений через которые он сможет найти пир, участвующий в раздаче с искомым infohash.

О базовых принципах BitTorrent создано много пояснительного материала, поэтому, уяснив суть, переходим к главной теме статьи.

BitTorrent в I2P

Идея файлшеринга через скрытые сети вроде I2P не нова. Для обычного пользователя I2P-торрент примечателен практической невозможностью блокировки раздач и трекеров со стороны провайдеров, так как I2P — это скрытая сеть, где цель всего — анонимность и невозможность отследить источник трафика. Общая парадигма BitTorrent, как и любого peer-to-peer обмена подразумевает прямое соединение между пользователями. Именно эта особенность делает привычные торренты непригодными для раздачи файлов, раздатчиков которой хочет отловить и покарать Большой брат. Например, в некоторых европейских странах уделяется большое внимание борьбе с бытовым пиратством: игры, фильмы, сериалы. Правоохранители, подключившись к раздаче, отслеживают по IP-адресу того, кто участвует в раздаче крякнутой игры, а затем пользователю приходит либо письмо счастья, либо наряд полиции в зависимости от уровня копирастической истерии в регионе.

Обсуждать публично тему анонимного обмена файлами считается не этично, так как нашему обывателю известен круг людей, грезящих об анонимности: педофилы, наркоманы, экстремисты, сектанты, сектанты-наркоманы и так далее, за свежим списком следите в эфире федеральных телеканалов. Однако, вольномыслящему и здоровому человеку область применения анонимных торрентов рисуется легко и без угрызения совести. Вспомните WikiLeaks и другие разоблачения нечеловечности, которые для здорового человека являются преступлением, но по порой абсурдным законам распространение информации о таких преступлениях уже является преступлением вроде разглашения государственной тайны. Возможность секретной передачи файлов в таких случаях равна сохранению собственной жизни, здоровья и свободы. Потребность в анонимности — широкая тема, место в которой найдется и чиновнику-коррупционеру, и любителю аниме средней руки, и разоблачителям беззакония, и — по телевизору говорят правду! — преступникам. Что касается преступников: эта статья им не нужна, они и так уже давно и успешно пользуются технологиями, которые в принципе невозможно эффективно блокировать, следовательно, и запретить. Этот материал адресован широкой аудитории и носит образовательный характер, чтобы свободные технологии принадлежали народу, а не узкой группе лиц.

Устойчивость перед цензурой на стороне интернет-провайдеров и анонимность перед участниками раздачи всецело обеспечивается технологией I2P. Наблюдая со стороны, практически невозможно отследить движение I2P-трафика и, следовательно, его источник. Все пользователи и серверы имеют криптографические идентификаторы вместо IP-адресов. Идентификаторы не имеют ничего общего с фактическим местоположением участника сети, но позволяют с ним связаться. Подробнее об I2P читайте в отдельной статье, которая отвечает на большинство вопросов (а также посмотрите другие статьи по теме в моем профиле).

Существуют несколько BitTorrent-клиентов, которые умеют работать через I2P. Периодически появляются новые решения или старые перестают поддерживаться разработчиками. Как бы то ни было, все приложения этой категории делятся на два вида: те, которые могут работать как через обычный интернет, так и через I2P, и те, которые созданы исключительно для работы через скрытую сеть.

Использование мультисетевого торрент-клиента может быть опасно при неумелом использовании, так как возможна утечка IP-адреса. Например, пользователь начал скачивать что-то через I2P, но у него есть активные DHT-соединения из обычного интернета, а также его клиент периодически обращается на торрент-трекеры, находящиеся вне скрытых сетей. Если поступит запрос из неанонимной сети, который будет содержать infohash сомнительной раздачи из I2P, торрент-приложение ответит положительно и начнет ретранслировать раздачу из даркнета куда-то там, возможно, Большому брату. Вытекающие последствия при утечке IP-адреса в сомнительной раздаче сложно предсказать, но ничего приятного из этого наверняка не выйдет.

С другой стороны, мультисетевые торрент-клиенты могут быть очень полезными для намеренной межсетевой раздачи торрентов. Например, скачав фильм с клирнет-трекера (с торрент-трекера из обычного интернета), его можно раздавать в I2P для тех, кто по каким-то причинам не может или не хочет использовать традиционный торрент. В данном случае важно не изменять раздачу, чтобы ее infohash был идентичен изначальному. Это обеспечит максимальное количество пиров по всем возможным каналам для новых пользователей: для тех, кто качает только через I2P, и тех, кто совмещает источники из разных сетей.

Средняя скорость сети I2P на момент написания статьи составляет 40Кб/сек. Случаются заскоки за 100Кб/сек, дело случая, но в целом при стандартной длине туннелей (входящие и исходящие туннели по умолчанию имеют длину в три транзитных узла), скорость колеблется в диапазоне 20-50Кб/сек. Получается, что реальная пропускная способность сида не имеет решающего значения, он отдает файл конкретному пользователю со скоростью до 100Кб/сек. Это скорость конкретно взятого пир-ту-пир соединения, которая упирается в массу факторов, присущих I2P, например, качество транзитных узлов и их количество между пользователями. Скорость будет определяться наихудшим участником цепи.

Личеры в I2P-торрент-раздаче играют существенную роль в ускорении всего роя (совокупность всех участников раздачи называют роем). Несмотря на низкую среднюю скорость для одного соединения, при загрузке и раздаче востребованных торрентов в I2P скорость достигает 2Мб/сек. Это возможно благодаря фактору коллективности: участники раздают друг другу скаченные фрагменты, образуя между собой новые пир-ту-пир соединения. Множество медленных подключений обеспечивает хорошую итоговую скорость, как ручьи, собираясь, образуют полноводные реки. Фактически, протокол BitTorrent был создан специально для распределения нагрузки при раздаче файлов и его архитектура идеально сочетается с I2P.

Торрент-клиент I2PSnark

Список существующих торрент-клиентов, поддерживающих работу через I2P, можно увидеть в документации i2pd. Если список по-вашему является неполным, вы можете его дополнить. В рамках данного материала будет освещен только I2PSnark, так как он долгие годы является наилучшим решением для I2P-торрентов. Помимо достойной функциональности, он является I2P-only клиентом, то есть умеет работать исключительно через сеть I2P, что избавляет неопытных пользователей от угрозы утечки IP-адреса.

I2PSnark появился практически одновременно с самой сетью I2P (~2003 год). По сей день он является частью Java-роутера I2P, который включает в себя ряд приложений помимо основной функции подключения пользователя к скрытой сети. I2PSnark взаимодействует с I2P-роутером по протоколу I2CP, который поддерживается в альтернативном более легковесном и скоростном роутере i2pd, исполненном на C++. Для использования I2PSnark отдельно от Java-роутера, необходимо использовать I2PSnark standalone. Бинарный файл можно собрать самостоятельно из исходного кода, либо воспользоваться сборкой от проекта I2P+, который является мягким форком основного I2P-роутера с незначительными изменениями. Прямая ссылка на загрузку бинарника I2PSnark standalone приведена на упомянутой выше странице документации i2pd.

Java-приложения для запуска требуют наличие специальной среды исполнения на вашем устройстве (Java Virtual Machine). Установить Java можно практически на любую современную операционную систему. Скачайте последний релиз для Linux, Mac или Windows на официальной странице.

Перед использованием I2PSnark standalone необходимо включить интерфейс I2CP, который в i2pd по умолчанию отключен. Это делается через конфигурационный файл i2pd.conf: раскомментируйте строку enabled = true в секции [i2cp] и перезапустите i2pd.

Узнать где найти конфигурационный файл в вашей системе можно на главной странице веб-интерфейса i2pd, который по умолчанию доступен по адресу http://127.0.0.1:7070. Смотрите на строку Data path.

В скаченном архиве I2PSnark standalone присутствуют файлы launch-i2psnark и launch-i2psnark.bat. Воспользуйтесь bat-файлом для запуска на Windows и файлом без расширения в имени в любом другом случае. При использовании на unix-подобных операционных системах не забудьте перед запуском сделать файл исполняемым (chmod +x launch-i2psnark).

Взаимодействовать с запущенным I2PSnark надо через веб-интерфейс, доступный по умолчанию по адресу http://127.0.0.1:8002. Он интуитивно понятен и прост в освоении. Для смены языка на русский перейдите в настройки (самая нижняя кнопка, пиктограмма с шестеренкой), в разделе "User interface" смените "Language" и нажмите на кнопку "Save Configuration" ниже.

Обратите внимание на секцию "Tunnel Configuration", которая отвечает за входящие и исходящие туннели.

Хопы — это длина туннелей в транзитных узлах. Чем больше длина, тем анонимнее и медленнее туннели. По умолчанию используются туннели в три хопа, но для бытового использования вполне нормально поставить два или даже один хоп.

Существует возможность запустить несколько экземпляров I2PSnark на одном устройстве: короткие туннели для раздачи и загрузки обычного контента и длинные туннели для работы с более чувствительным материалом. Для этого скопируйте всю папку I2PSnark и измените в скопированной директории файл jetty-i2psnark.xml: найдите значение "port" и смените номер порта, на котором будет доступен веб-интерфейс.

Например, один экземпляр I2PSnark может использовать порт 8002, а второй 8003. Чтобы было сложнее спутать какой именно экземпляр у вас открыт в браузере (с длинными или короткими туннелями), используйте разные темы оформления.

На заметку: I2PSnark при каждом запуске меняет свой I2P-идентификатор, который видят другие участники файлообмена.

Загрузка файлов и создание своей раздачи

Чтобы присоединиться к раздаче, откройте меню добавления (верхняя кнопка с пиктограммой плюса).

В поле "From URL" можно вставить magnet-ссылку, либо прямой путь до файла .torrent в вашей файловой системе. В поле "Data dir" указывается путь, куда будут сохранены скачиваемые файлы. Чтобы запустить загрузку, нажмите "Add torrent".

Также I2PSnark поддерживает maggot-ссылки — разновидость magnet, введенная в I2P-торрент-клиенте Robert. Ныне Robert и его причуды вышли из употребления. Сегодня термин "maggot-ссылка" встречается в основном в виде ошибочного названия стандартных magnet'ов.

Второй и более изящный в некоторых случаях вариант позволяет добавить торрент без использования веб-интерфейса: добавьте torrent-файл нужной раздачи в основную директорию хранения файлов I2PSnark. По умолчанию I2PSnark хранит торрент-файлы и загрузки во вложенной одноименной директории i2psnark/i2psnark. При добавлении нового торрент-файла в эту директорию приложение подхватит его и начнет процесс загрузки автоматически в течение нескольких секунд.

Чтобы создать новый торрент, нужно воспользоваться кнопкой с пиктограммой волшебной палочки. Все, что от нас потребуется, это указать полный путь до раздаваемого файла или папки в нашей файловой системе и выбрать трекеры, которые будут сразу добавлены в раздачу. Если создать раздачу без использования трекеров, поиск пиров будет исключительно по DHT. Если не уверены как быть, проставьте галочку напротив каждого предлагаемого трекера и выберите какой-либо в качестве основного. Как правило, основным является Postman, так как это старейший классический торрент-трекер с форумом (http://tracker2.postman.i2p).

После нажатия кнопки "Создать торрент" будет создана раздача, которая появится в общем списке. Для удобства рекомендуется добавлять раздаваемые файлы в дефолтную папку I2PSnark, чтобы все было в одном месте.

Готовый torrent-файл появится рядом с остальными торрент-файлами, откуда его можно взять для размещения на форуме или прямой передачи кому-либо. Если кликнуть по названию раздачи в веб-интерфейсе I2PSnark, откроется окно с информацией.

В правом верхнем углу можно найти infohash раздачи, magnet-ссылку (пиктограмма с магнитом) и ссылку для загрузки торрент-файла (самая правая). При клике на иконку торрент-файла будет предложено скачать файл, который лежит в уже обозначенном месте. Чтобы передать magnet-ссылку, кликните на соответствующую иконку правой кнопкой мыши и скопируйте ссылку, на которую она ведет. Это и есть magnet-ссылка, готовая для публикации.

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

Знакомство с I2P-торрент-трекерами выходит за рамки этой статьи и всецело ложится на ваши плечи. Впрочем, ничего сложного нет: оформляйте раздачи внятно, информативно и красиво.

Сидбокс

Сидбокс (seedbox) — устройство, служащее для постоянной раздачи файлов. Как правило, собирается из одноплатных компьютеров и внешних HDD. Однако, подойдет любое устройство, способное одновременно запускать I2P-роутер и торрент-клиент с максимально возможным аптаймом и дисковым пространством. Сидбоксинг включает в себя не только постоянную раздачу ваших файлов, но и поддержку чужих раздач хотя бы на протяжении релизной недели. Это своего рода субкультура, повернутая на свободном обмене информацией, пропитанная альтруизмом и ценниками на жесткие диски.

Когда-нибудь мы, энтузиасты, доберемся до детального обзора удачной сборки сидбокса из палок и изоленты, а пока ограничимся советами:

  1. Минимальный объем оперативной памяти устройства для запуска i2pd и I2PSnark равен 512МБ, комфортный с запасом — 1ГБ.

  2. Активная раздача торрентов в перспективе плохо сказывается на времени жизни жестких дисков, так как при торрентинге идет активная работа с диском с постоянным изменением мест чтения. Особенно, если происходит одновременная раздача множеству участников. В силу этого следует предпочитать несколько дисков меньшего объема, чем, например, один диск на несколько терабайт. Это увеличит общую производительность системы, а выход одного диска из строя не приведет к полной потере информации. Если, конечно, вы не доберетесь до использования RAID — систем зеркалирования накопителей между собой для предотвращения потери информации при поломке одного из них.

  3. По причине вероятного выхода дисков из строя желательно, чтобы операционная система стояла на отдельном физическом диске, нежели там, где хранится торрент-контент. Особенно остро это касается одноплатных компьютеров, где операционная система работает на SD-накопителе, который сам по себе не славится долговечностью.

Тема сидбоксов на базе бюджетных одноплатников становится особенно актуальной в свете новостей о релизе ядра Linux 5.15 с поддержкой SMB и NTFS, что открывает новые горизонты для слабого железа, но это тема для отдельного разговора...

Постскриптум

Децентрализация и развитие свободных технологий невозможны без участия обычных людей. Если мы не хотим зависеть от политики файлообменников и ограничений со стороны провайдера, каждому нужно внести посильный вклад. На начальном этапе популяризации I2P-торрентов сидбоксинг является критически важным элементом, который способствует развитию технологии. Уже сегодня торренты в скрытых сетях распространены в странах, где к этому вынуждает обстановка. Постепенно практика запретов и штрафов распространяется на другие регионы. Подумайте, в ваших ли силах выделить несколько тысяч рублей на покупку одноплатного компьютера и пары жестких дисков для организации своего сидбокса? Даже если вы не имели дел с линуксами и не понимаете что такое подключение через SSH, поверьте, вход в увлекатльную игру свободных технологий и гласности окупит все затраченные часы и нервы на освоение этих азов. На мой взгляд, культура свободного программного обеспечения и скрытых сетей позволяет каждому пользователю быть равноправным участником, хранителем технологий и информации, что захватывает не хуже топовой онлайн игры, но с одним большим отличием: вы не деградируете, а развиваетесь.

Комментарии (38)


  1. NeoCode
    01.02.2022 23:37
    +3

    Спасибо!
    А что предпочтительнее - i2p или i2pd? Какое число активных разработчиков в обоих проектах? Проводился ли независимый аудит исходных кодов?


    1. pureacetone Автор
      02.02.2022 06:33
      +3

      Лично для меня предпочтителен i2pd из-за меньшего потребления ресурсов и лучшей скорости. Как таковых аудитов нигде нет, потому что это стоит денег, которым неоткуда взяться. Однако, весь исходный код открыт и любой мало-мальский программист может пробежаться глазами для собственного спокойствия при дальнешейм использовании приложения.

      Оба сообщества разработчиков умеренно активные, логи чатов можете почитать тут. Иногда обе группы разработчиков общаются в одном чате, согласовывая багфиксы и нововведения в протоколе.


  1. emaxx
    02.02.2022 00:00
    +3

    Значит, для любой редкой раздачи (не какой-нибудь, скажем, очередной спайдермен) скорость будет те самые 20-50Кб/сек? Не впечатляет...


    1. feadraug
      02.02.2022 00:23
      +4

      как раз для любой отдельно взятой редкой раздачи сид с любой скорость гораздо лучше, чем никакого


      1. pfffffffffffff
        02.02.2022 01:06
        +1

        Редкая раздача чаще старая, а значит автор врядли обратит на нее внимание, так что можно и не анонимно скачать ну или хотя бы vpn


        1. emaxx
          02.02.2022 05:49
          +5

          Куча раздач, связанных с, говоря общо, искусством, имеют буквально по паре раздающих, независимо от возраста раздачи (это легко увидеть, например, на rutracker.org в каком-нибудь разделе вроде академической музыки в lossless). Копирасты при этом следить даже за такими раздачами не устают (даже если сами они не желают легально продавать то же самое!), особенно в Европах, где у них налажены легальные полуавтоматические механизмы отслеживания и жалоб.

          Ну и вообще, если описанная технология работает нормально только для новых торрентов, и притом "достаточно популярных в даркнете, но недостаточно популярных на обычных трекерах", то область применения сужается ну очень сильно...


    1. pureacetone Автор
      02.02.2022 06:37
      +4

      Понимаю. Исходя из подобного суждения, в статью включена тема сидбоксинга. Сидбоксеры (и просто торрент-фрики) способны поддержать любую раздачу, раскачав ее 50Кб/сек до более значительных показателей. Однако, если речь идет о старой и маловостребованной раздаче, для повышения скорости останется только минимизировать длину своих туннелей и набраться терпения.

      Скоростной режим I2P приучает к терпению и неторопливости. При желании, в этом можно найти философский подтекст: расслабиться, не спешить, размеренно сёрфить и наслаждаться каждой открытой страницей.


  1. kai3341
    02.02.2022 03:16

    Отличная статья, спасибо!


  1. 13werwolf13
    02.02.2022 08:25

    как же нехватает transmission возможности работать одновременно по белой сетии i2p. переносить все свои 100500 раздач во второй торрент клиент желания ровно 0


  1. NeoCode
    02.02.2022 08:33
    +3

    Кстати, а протокол torrents v2 конечно еще не поддерживается?


    1. pureacetone Автор
      02.02.2022 10:27
      +2

      В I2PSnark пока что нет. Думаю, вопрос времени.


    1. blind_oracle
      02.02.2022 14:30

      По моему это не протокол а формат файлов болльше.

      Хотя и изменения в протоколе наверное небольшие есть...


      1. ri_gilfanov
        02.02.2022 19:13

        Контрольные суммы содержат большее число байт и высчитываются чуть более надёжной хеш-функцией.

        С целью поддержания обратной совместимости вроде даже придумали гибридные магнет-ссылки с двумя контрольными суммами.

        К тому же, вроде была добавлена возможность то ли раздавать, то ли скачивать (пока что-то одно из этого) одинаковые файлы с разных раздач.


  1. NeoCode
    02.02.2022 08:48
    +2

    И еще мысли по поводу чувствительного контента. Давно уже задумывался над этим... Что если каждому файлу/папке выставлять в атрибутах некий уровень чувствительности - скажем число от 0 до N (где например N = 7, т.е. 3 бита - больше наверное не нужно)?

    0 - контент можно раздавать совершенно свободно, допустим дистрибутивы линукса. N - максимально чувствительный контент, раздача только через i2p с большим количеством "хопов", пропущенный через TOR.

    Понятно что для этого нужна целая инфраструктура, какие-то аналоги RFC, поддержка со стороны файлообменных клиентов. Но здесь важна сама идея. Атрибуты прекрасно хранятся в ADS Windows или расширенных атрибутах Linux.


    1. Self_Perfection
      03.02.2022 10:05

      Это весьма любопытная и богатая идея. И сразу возникает куча вопросов.

      Хватит ли одной оси? Может быть нужно контент ранжировать по нескольким параметрам, например добавить оценку насколько хочешь быть сидером?

      На каком уровне стоит реализовывать поддержку: должна ли за этими метками следить пользовательская DE, чтобы они семантически были расширением xdg тегов, или же они должны отслеживаться на уровне ядра и быть расширением ACL? Второе кажется логичнее, позволит например реализовать запрет копирования на незашифрованные носители начиная с некоторого уровня чувствительности и запрет понижать уровень чувствительности без прав суперпользователя.

      Наконец, есть же линукс дистрибутивы для вояк. типа МСВС и потомков. Там реализованы свои средства для мандатного контроля доступа и работы с секретными данными. Интересно, есть ли публично достпнуе таки наработки, ведь концептуально похоже.


  1. tmplts
    02.02.2022 10:13

    Кстати, есть информация, не вернул ли себе былую популярность в свете происходящего, осёл? (eMule). Помню, как в 00-ых доставал через него особо редкие книги и фильмы, хотя скорость была микроскопической.


    1. staticmain
      02.02.2022 12:05
      +1

      Так eDonkey "палит" ваш IP похлеще торрента.


      1. tmplts
        02.02.2022 12:08

        ага, понятно, не вникал в подробности протокола в то время))


    1. dvrpd
      02.02.2022 17:10
      +1

      Есть iMule, работающий поверх i2p, но тот уже пять лет как не обновлялся, так что не уверен, нормально ли работает. Ещё был Robert, работающий с собственными maggot-ссылками, но его сайт я сейчас не нашёл.


  1. nlog
    02.02.2022 11:44
    +4

    Вот такие технологии сильнее вписываются в Web 3.0, чем всякие DeFi-проекты.


  1. Gordon01
    02.02.2022 13:39

    А что вы думаете про Filecoin? Не знаю что там с шифрованием, но за хранение чужих файлов еще и платят https://docs.filecoin.io/get-started/


    1. Gordon01
      02.02.2022 14:03

      Если взять текущую цену монеты в 1700 рублей, то хранение одного терабайта обходится в 33 рубля.


      1. Supervadim
        02.02.2022 14:17

        Яндекс в Object Storage хранит за 22 руб


        1. Gordon01
          02.02.2022 14:48

          Получается, можно запустить у себя ноду файлкойна, покупать терабайт у яндекса за 22 рубля и продавать за 33?

          PROFIT


          1. Supervadim
            02.02.2022 14:57

            Но там трафик оплачивается отдельно. Если качают активно, то цена другая будет


            1. Kuprijan
              02.02.2022 23:42

              У Яндекса? Или у файлкоина?


              1. Supervadim
                03.02.2022 11:07

                У Яндекса


  1. Konvergent
    02.02.2022 14:16

    Автору респект! Очень интересная статья и написана понятно даже для неофита)

    А нет места, где люди делятся своими сборками сидбоксов на всяком разном?


  1. Supervadim
    02.02.2022 14:18

    А есть что-то приемлемое без JVM?



    1. ri_gilfanov
      02.02.2022 20:07

      XD написан на Go, кушает порядка 10 МБ ОЗУ ( https://github.com/majestrate/XD ), работает только в анонимных сетях I2P и Loki, имеет два интерфейса (веб-интерфейс и интерфейс командной строки), в произвольных директориях раздачи хранить не умеет (в Linux можно обойти ссылками) и недавно научился передавать статистику скаченного/розданного торрент-трекерам. Готовые сборки под разные ОС можно скачать архивом *.tar.xz из раздела Releases на GitHub. В целом, торрент-клиент на любителя, но легковесный и без JVM.


      1. pureacetone Автор
        02.02.2022 20:38

        Я долго и упорно хотел впихнуть в данный обзор именно XD, но увы, функционала в нем нет даже половины от I2PSnark, но самое главное - он кратно проигрывает по скорости. Небольшой лог на эту тему: https://major.bazari.sh/ilita/torrent/2021/12/22.


  1. MAXH0
    02.02.2022 17:24
    +1

    Вот вопрос к коммюнити...

    Являлся не очень активным, но пользователем https://www.searchfloor.ru/bot, где раздается разное гуано про пападанцев. И этот телеграм бот в очередной раз проиграл борьбу за лицензионый контент.
    Имеет ли смысл автору канала рекомендовать переезд на i2pd. Он сейчас паникует...


    1. pureacetone Автор
      02.02.2022 19:14
      +1

      Смысл имеет (мое мнение может быть предвзятым)


    1. saege5b
      03.02.2022 00:43

      Давно пора.


  1. vasyakolobok77
    03.02.2022 07:24

    Очень хотелось бы верить в анонимность i2p сетей, но почитав ваши прошлые статьи и статьи в интернете (например, https://xakep.ru/2014/09/04/i2p-secrets/) складывается ощущение, что i2p обеспечивает security over obscurity.

    Шифрование траффика, белый шум, тоннели, сменяемые каждые 10 минут, это все очень хорошо, но анонимности 100% ведь нет: сама сеть оверлейная, передача пакетов идет по ip, и последний узел в тоннеле знает о его создателе, что позволяет сделать соответствие ИД => IP.

    В итоге, имея достаточное кол-во узлов и достаточное кол-во времени, можно постепенно создать карту сети с привязкой к IP-адресам, а дальше товарищ майор сам знает, что делать.


    1. pureacetone Автор
      03.02.2022 07:30
      +1

      По ошибка написал новый комментарий (он чуть ниже) вместо ответа на ваш.


  1. pureacetone Автор
    03.02.2022 07:29
    +3

    Ответ на комментарий

    последний узел в тоннеле знает о его создателе

    Нет, о создателе не знает никто, все для всех выглядят как соседние звенья в чужих туннелях.

    прочитав ваши прошлые статьи и статьи в интернете ... складывается ощущение, что i2p обеспечивает security over obscurity.

    Ссылка на хакер.ру от 2014 года целиком и полностью неактуальна. На базе устаревшего материала об атаках мной был сделан материал об актуальном положении дел: статья (также из моего профиля), видео.

    Ваши доводы не имеют ничего общего с реальностью.