2P2 что это – Что такое P2P-кредитование? Какие у него есть риски? — вопросы от читателей Т—Ж

Реализация шлюза P2P операций перевода с карты на карту / Habr

Для своего проекта мне потребовалось реализовать возможность перевода с карты на карту. Для официального подключения к интерфейсу любого банка необходимо заключение договора и выполнение ряда условий. Поэтому было принято решение сделать шлюз к публичной странице банка. Для этих целей были выбраны два банка Тинькофф и БИН Банк предоставляющие возможность перевода на “свои” карты без комиссии. Подробней о тарифах и ограничениях на перевод вы можете ознакомиться на соответствующих страницах банков. В этой статье краткое описание работы шлюза, реализующего функциональность приема платежей на карту.

Требуется реализовать перевод с любой карты на заранее выбранную карту, с поддержкой процедуры авторизации 3DSecure. 3DSecure это защищенный протокол авторизации пользователей для CNP-операций (без присутствия карты). Подробней вы можете почитать на специализированных сайтах, ниже на схеме приведена упрощенная схема, как это работает с точки зрения пользователя.



На картинке упрощенно представлен механизм авторизации транзакции, то, что происходит “под капотом”, когда вы проводите операцию оплаты или перевода с карты на карту, и вводите для подтверждения SMS код.

Рассмотрим пошагово:

  1. Вводите карточные данные и сумму, и отправляете на сайт банка.
  2. Банк обращается к специализированному сервису (Merchant Plug-In MPI), который генерирует специальный запрос PaReq, представляющий из себя XML c ЭЦП, содержащий параметры транзакции, а также данные, куда данный запрос должен быть направлен (Access Control Server ACS), и куда направить авторизационный ответ (PaRes).
  3. Банк возвращает пользователю страницу, содержащую информацию от MPI и автоматически переадресующую браузер на страницу ACS банка, выпустившего карту пользователя. Пользователю отображается страница для ввода SMS кода и направляется SMS на зарегистрированный в банке-эмитенте номер телефона.
  4. После ввода SMS-кода, ACS сервер формирует страницу c авторизационным ответом (PaRes), перенаправляющую пользователя на страницу MPI для завершения операции, либо отказа в ее выполнении.

Для более глубокого понимания процесса читайте соответствующие документы Visa или Mastercard, для решения этой задачи данного уровня вполне достаточно.

Для обеспечения бесшовной работы шлюза, чтоб не торчали уши сайта, через который производится перевод, необходимо встроиться в этот процесс переадресации браузера между MPI и ACS. Для этого нужно заменить адрес (TermUrl) полученный от MPI. Это адрес, на который будет переадресован PaRes после завершения пользователем авторизации, в качестве TermUrl в запрос вписывается адрес шлюза. Это позволит шлюзу получить ответ (RaRes) отправить его серверу MPI и обработав ответ MPI направить пользователя на страницу успешного или не успешного завершения транзакции.

Шлюз работает между браузером пользователя и страницей банка, реализует функции ввода/вывода эмулируя страницу банка, дополняет и изменяет данные, и обрабатывает ответы и ошибки от сервисов банка.

Протокол взаимодействия с каждым из банков выяснялся вручную путем back engineering взаимодействия между броузером и сайтом банка, в целом логика одна и та же, разница в переменных и методах передачи. В целом это является узким местом, и работоспособность софта зависит от неизменности API, как только банк изменит работу сервиса, придется менять и логику работы шлюза.

Рассмотрим подробней логику работы.

Для обеспечения проведения операций в шлюзе реализована платежная страница, вызов к которой осуществляется по адрес:

http://<адрес шлюза>/pay/page?payid=123456&sum=100&text=Test

В URL содержатся следующие переменные:

payid– ID операции необходимое для идентификации результатов запроса на оплату после завершения транзакции;
sum – сумма операции;
text – информационное поля “Назначение платежа”.

После заполнения карточных данных, согласия с условиями выполнения, производится запрос комиссии на проведение операции. Размер комиссии и банк (один из двух Тинькофф и БИН), через который будет произведен перевод, зависит от карты, указанной в настройках шлюза как приемник перевода и доступности сервиса банка. В шлюзе реализован простой механизм маршрутизации и обработки ошибок: выбирается всегда Тинькофф, если страница банка не доступна, то выбирается страница БИН Банка.

После нажатия кнопки перевести, происходит переадресация на страницу банка эмитента, выпустившего карту (ACS), с которой будет производиться операция списания. Шлюз произведет запрос PaReq параметров у MPI, заменит TermUrl и направит данные пользователю, предварительно запомнив параметры транзакции в кэш (Redis).

После завершения авторизации, PaRes поступят в шлюз, и он на основании данных кэша направит их соответствующему МPI, обработает ответ и перенаправит пользователя на одну из страниц (ERROR_PAGE, SUCCESS_PAGE), указанных в параметрах настройки шлюза.

URL вызова страницы успешного завершения операции содержит переменную payid, передающую результаты выполнения операции в виде JWT c ЭЦП.

Пример JWT:

eyJhbGciOiJIUzUxMiJ9.eyJqdGkiOiI2Njk2NzFlYi1mYmZlLTVlMTMtYTdkZi05NDEwZjg1N2U5ODkiLCJpYXQiOjE1NzE5MDg5MjgsInN1YiI6ImZpeGVkIiwiaXNzIjoicnUucGhvbmU0cGF5IiwicGF5X2lkIjoiMTIzNDUiLCJzdW0iOiIxMDAuMCIsInRyYW5zYWN0aW9uX2lkIjoiODY4MTE5ODYzIn0.c-IK3FowoR_tVe3-cpT7-rmA4EQhYy8rZkWrWASHZlc0ZzzpQont5XriCSzuDaY7jf7iIC8ZAxknAMwmTNmAHg

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

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

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

ВАЖНО! Любые интернет транзакции потенциально опасны, ваши данные могут быть украдены, необходимо принимать меры предосторожности при проведении интернет транзакций.

ВАЖНО! За кражу средств с чужих банковских карт предусмотрена уголовная ответственность (ст. 159.3, 159.6 УК РФ).

p2p Википедия

Одноранговая сеть, в которой узлы «общаются» между собой без центрального элемента

Однора́нговая, децентрализо́ванная, или пи́ринговая (англ. peer-to-peer, P2P — равный к равному) сеть — оверлейная компьютерная сеть, основанная на равноправии участников. Часто в такой сети отсутствуют выделенные серверы, а каждый узел (peer) является как клиентом, так и выполняет функции сервера. В отличие от архитектуры клиент-сервера, такая организация позволяет сохранять работоспособность сети при любом количестве и любом сочетании доступных узлов. Участниками сети являются все пиры.

История[ | ]

Впервые фраза «peer-to-peer» была использована в 1984 году при разработке архитектуры Advanced Peer to Peer Networking (APPN) фирмы IBM.

Устройство одноранговой сети[ | ]

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

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

Пример такой сети: I2P, Gnutella2.

Приватные P2P-сети[ | ]

Пример сети: RetroShare

Частично децентрализованные сети[ | ]

Помимо чистых P2P-сетей, существуют так называемые гибридные сети, в кото

I2P — Проект Невидимый Интернет / Habr

Всем доброго времени суток!

С недавних пор организации по защите авторских прав и «отделы К» многих стран начали вести весьма агрессивную политику против анонимности в сети и пиратства. Особо показательны истории с torrents.ru и ifolder.ru.

Подробнее об интернет-цензуре можно почитать в Википедии.

Чтобы оградить пользователя и хостера от «вредного» влияния государства и частных компаний была создана сеть I2P. Что же это такое и как подключиться к I2P — читаем под катом.

Итак, введу в курс дела

I2P — анонимная зашифрованная сеть. Она была представлена в 2003 сообществом разработчиков, выступающих за сетевую безопасность и анонимность.
По типу реализации является оверлейной сетью и находится на 6 уровне модели OSI.

Каждый клиент сети соединяется с другими клиентами и образует туннели, через которые ведётся транзит трафика (не напоминает Skype?). Клиентская программа предоставляет другому ПО несколько интерфейсов взаимодействия:

  • SOCKS — прокси — самый часто-используемый протокол. Позволяет пользоваться I2P совместно с практически любой программой, поддерживающей его.
  • SAM (Simple Anonymous Messaging) — своеобразный API. Реализован поверх TCP.
  • BOB (Basic Open Bridge) — ещё один API. Фактически, модернизированная версия SAM, но использующая отдельные каналы для комманд и данных.

В официальный пакет I2P входят:

  • SusiDNS — DNS-клиент
  • Susimail — почтовый клиент
  • I2Psnark — торрент-клиент
  • I2PTunnel — интегрированная в I2P программа, позволяющая различным службам TCP/IP устанавливать связь поверх I2P с помощью туннелей

Все компоненты написаны на Java. Если ещё не передумали устанавливать, то…
Подключаемся!

  1. Если у вас не установлен JRE, ставим: java.com/download
  2. Для начала скачаем и установим клиент: mirror.i2p2.de/i2pinstall_0.7.14.exe. Линуксоидам/маководам: на расширение не обращайте внимание, запускайте так: java -jar i2pinstall_0.7.14.exe

  3. Запускаем клиент:
    a. Windows:
    Пуск -> I2P -> Start I2P (no window).
    b. Unix-like:
    Заходим в папку установки клиента. Запускаем команду: ./i2prouter start
  4. Устанавливаем прокси-сервер в настройках браузера:
    Способ I: Посложнее и получше:

    В папке установки клиента в папке scripts есть файл i2pProxy.pac.
    В настройках браузера ищем строку для ввода адреса автоконфигурации прокси-сервера:

    Firefox:

    Opera:


Способ II: Попроще, но похуже

В настройках браузера ставим адрес прокси-сервера: 127.0.0.1 порт 4444.
Способ хуже тем, что если вы захотите вернуться в обычный интернет, вам придётся вернуть эту настройку.
Готово!

Теперь вы можете открывать сайты i2p, пользоваться анонимным торрентом, почтовиком и т.д.
Также, можно открыть консоль маршрутизатора I2P и посмотреть, что там есть: http://127.0.0.1:7657
Ну и напоследок…

Несколько полезных ссылок:
forum.i2p — Официальный форум сети. Есть русскоязычный раздел.
ugha.i2p — Англоязычная вики о сети.
echelon.i2p — Репозиторий программ, использующих I2P.
tracker2.postman.i2p —Крупнейший BitTorrent трекер сети.
rus.i2p — Русскоязычная вики об I2P.

Другие статьи по теме:
I2P — Создание своего сайта

Прозрачный доступ из любого браузера / Habr

В последнее время, количество новостей связанных с блокировками зашкаливает.

Но куда уходить людям?

Что бы был доступ к информации, свобода слова и соблюдались хотя бы те правила, которые есть в конституции?

Mesh сети не подходят, Tor — тоже не может обеспечить требуемого, остается I2P.

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

Первые шаги

Очевидно, что нам потребуется I2P, если он у вас еще не установлен — самое время это сделать, а то завтра, возможно, официальный сайт I2P тоже уйдет в блокировку.

www.i2p2.de/download
Во время установки, согласитесь установить службу I2P, это позволит работать ей в фоновом режиме при включении компьютера.

Настраиваем

На странице http://127.0.0.1:7657/config выставите ограничение скорости равно 60% от вашего канала (можно больше, если не жалко)
Делаем легкий доступ из всех браузеров в системе

В поставку I2P входит файл автоматической настройки прокси в браузерах, в windows он находится тут:
C:\Program Files\i2p\scripts\i2pProxy.pac

Теперь его надо скормить IE.

Зайдите в настройки браузера —> Подключения —> Настройка сети

Использовать сценарий автоматической настройки —> вставьте адрес до этого файла C:\Program Files\i2p\scripts\i2pProxy.pac (Можете загрузить его на любой хостинг и вставить ссылку)

Вот и все

Теперь можете налить себе чашку чая и не спеша выпить её, интеграция нового узла в сеть i2p происходит не сразу, к моменту когда чашка будет пустой вы можете зайти на один из многих сайтов сети:

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

Так что если вы собираетесь готовить покушение восстание или рассказывать о различных преимуществах тех или иных способов самоубийства — лучше используйте отдельный браузер для I2P, который может иметь доступ только к сети I2P

Что есть в сети?

http://freezone.i2p/ — Социальный сервис совместного блогинга
flibusta.i2p Библиотека
http://lenta.i2p/ — Новостной сайт, новости могут добавлять пользователи
http://rus.i2p/ Местная википедия, так же в неё перенесены удаленные статьи с лурка
http://nnm-club.i2p/ — Торрент трекер, в представлении не нуждается
forum.i2p Главный форум
http://hiddenchan.i2p/
http://entheogen.i2p/
runode.i2p
http://ugha.i2p/EepsiteIndex Большой каталог сайтов
http://tracker2.postman.i2p/ Торрент трекер
http://diftracker.i2p/ Еще один торрент трекер
http://xc.i2p/ Сокращалка ссылок
http://stats.i2p/ Статистика по работе сети

В последнее время, сеть I2P активно развивается, разработчики повысили скорость работы в сети, добавили поддержку IPv6.

I2P. Что это такое и как им пользоваться

I2P. Что это такое и как им пользоваться

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

Что-то же такое I2P? По сути это такая же многофункциональная сеть, как и привычный интернет. Ответить на этот вопрос трудно, так же, как одной фразой ответить на вопрос, что такое интернет. Название I2P происходит от фразы «Invisible Internet Project» — «Проект Невидимый Интернет». В I2P есть свои сайты, блоги, в том числе и микроблоги, форумы, чаты, есть даже торрент-трекеры и средства P2P-файлового обмена наподобие eMule. Но у I2P есть принципиальное отличие от подобных сервисов в обычном интернете — это анонимность, безопасность и распределенность.

Но прежде, чем говорить о I2P, коротко поговорим о том, что нас не устраивает в привычном интернете.

В чем проблема Интернета

Если очень грубо, то как работает обычный сайт в интернете? Есть сервер с определенным IP-адресом, где расположен сайт, к нему подключаются пользователи, которые также имеют свои IP-адреса. Общение происходит между этими двумя IP-адресами. Пакеты между ними передаются через множество промежуточных серверов, но все это происходит в открытом виде, каждый промежуточный сервер знает, кому предназначен тот или иной пакет. Перехватить и обработать чужие пакеты не представляет никакой проблемы (не будем пока говорить о безопасном протоколе HTTPS).

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

Другой способ блокировки, который наши чиновники уже испробовали в свое время на сайте torrents.ru (ныне http://rutracker.org) — это отбор доменного имени. Как вы знаете, есть регистраторы доменных имен, которые связывают адрес сайта (torrents.ru) с некоторым IP-адресом сервера. Заставив регистратора прекратить поддерживать некий домен, вы не сможете зайти на сайт, введя его имя, хотя сможете зайти на него, зная его IP-адрес.

Итак, у привычного интернета следующие основные проблемы:

  1. Привязка сайтов к определенному IP-адресу сервера.
  2. Централизованное управление доменными именами.
  3. Небезопасность к перехвату данных.

Третья проблема частично решается, но все-равно сервер может следить за пользователем по его IP. В I2P решены все три проблемы.

Как работает I2P

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

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

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

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

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

Таким образом решается первая и третья из описанных проблем (анонимность серверов и пользователя, а так же шифрование трафика).

Теперь рассмотрим, как решается проблема с доменными именами. В I2P нет единых доменных регистраторов, каждый пользователь может самостоятельно зарегистрировать себе домен вида http://bla-bla-bla.i2p. Можно использовать и поддомены. Как же происходит поиск сервера по его имени? Если вы хоть раз создавали сайт или настраивали локальный сервер, то наверняка знаете о таком файле, как hosts, в котором прописаны все локальные адреса. Подобным образом работает маршрутизация в I2P.

У каждого пользователя есть несколько файлов, в которых прописаны соответствия доменов адресам в сети I2P (не IP-адреса). Это так называемая адресная книга. Также у каждого пользователя есть список подписок — адреса серверов, с которых периодически происходит обновление адресов. Подписка — это просто текстовый файл, в котором перечислены адреса серверов, с которых загружаются ссылки на сервера по их именам. По умолчанию там содержится один сервер — http://www.i2p2.i2p/hosts.txt. С этих серверов адреса попадают в так называемую маршрутизаторную адресную книгу.

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

Вот, например, как выглядит одна из записей адресной книги (файла ~/.i2p/hosts.txt):

plugins.i2p=4GdwNoyPq-tlATiocmygKgZv1gJ1Gr1XtZRQ1T-5RozH54aPDKuVp6E9eTdZm3PyJ~AVSo4aFViZSCoMwctE6v6Mg5iAxHysZ qn1u3XsXjFg3FttFQOSxGjXkjQG98kA2K~yCrWbD-YAVANGrJsQ6VjXSWsKP95WIplSxcBA25vE~eLuFxvAgqLX0LWAvB~ liSdI3QrDQ1YNhyaAn4sisLV9aViMncE90hjxBYR1llxsv5N4CKh9kPl3pNSfF0J9-kxGotqXGdVcXYjo18fpdEurGmghkz4JXgRMg 7APcOy97XMjWNe~7Ct~Z17zxFzzQUYC4nSsDN0G2t~tp~VWzZtKDSDq1~B0~wfiN1srt2zBBDfcABWFw7SML4QfSiw6ipbX eJD8hWfVSS~oCMzf7zS4bPakieTigHsMjJ4OnLQtuatiXHgfY2hTuUbUvNhvzbKwQ2PPrOdbxFkzDoOazAsxTMFrDWKeZHYEAwS dWOIVJGxXmQe-r-BvYaMB00~5AAAA

Для наглядности эту запись я разбил на несколько строчек, но в реальности это все одна строка. Как я уже говорил, сейчас каждый может зарегистрировать себе свой домен в зоне I2P, при этом не надо ничего нигде утверждать, проходить какую-либо бюрократическую процедуру. Тут неизбежно возникнет проблема с тем, что несколько человек могут зарегистрировать один и тот же домен, и оба они будут правильные с точки зрения протокола. Решается ли эта проблема на уровне протокола I2P, я пока не могу сказать, но в сети есть уже несколько серверов — каталогов доменных имен. Скорее всего в будущем борьба развернется за регистрацию в них. Поговаривают, что это может стать одним из способов заработка на этой сети, когда домен создается свободно, а вот прописывается в каталогах уже за деньги (не исключено, что как абонентская плата).

Но в таком случае интересно, как будет решаться проблема конкуренции таких каталогов, ведь может оказаться так, что в одном каталоге домен зарегистрирован на один сервер, а в другом — на другой. Тут, честно признаюсь, я пока до конца не разобрался, буду рад, если кто подскажет. А то получается раздолье для потенциальных фишинговых сайтов. Но зато таким образом, доменные имена устойчивы к цензуре.

В завершение этого раздела надо сделать одно уточнение, чтобы вы не ждали от I2P слишком многого. Считается (справедливо), что это распределенная сеть. Однако, в первую очередь распределены адреса. Сайты все-равно работают на каком-то одном конкретном сервере (в отличие от распределенной сети BitTorrent, где распределено само содержимое файлов). Этот сервер можно закрыть, но его очень тяжело найти (узнать его IP). Также очень трудно идентифицировать пользователя, который работал в тот или иной момент с сервером. Еще раз повторю, что сервер тоже не знает, никаких IP-адресов пользователя, только его идентификатор в сети I2P, который периодически меняется. Но для надежности этот идентификатор пользователь не должен никому показывать (сам он его узнать может).

Использование I2P

Установка

Теперь давайте посмотрим, как пользоваться протоколом I2P. Для работы с ним нужно установить пакет программ (в том числе роутер), инсталлятор которых можно скачать с официального сайта. Правда, здесь есть одна особенность. Программы для работы с I2P написаны на Java, поэтому им для работы требуется виртуальная машина Java. Процесс установки программ я описывать не буду, потому что там все как обычно, запускаем инсталлятор двойным кликом, потом Next-Next-Next (даже под Linux) и все готово.

После того, как программы установлены, нужно настроить браузер для работы через I2P. Настройка сводится к прописыванию прокси-серверов. Заходим в настройки браузера, туда, где настраивается сеть. И прописываем следующие прокси:

  • Для протокола HTTP: Сервер 127.0.0.1, порт 4444.
  • Для протокола HTTPS: Сервер 127.0.0.1, порт 4445.
I2P. Что это такое и как им пользоваться

Теперь запускаем программу-роутер для работы с I2P. Под Windows для этого будут созданы специальные ярлыки, под Linux это можно сделать с помощью команды

i2prouter start

Скрипт i2prouter расположен в папке, куда были установлены все программы, относящиеся к I2P, по умолчанию это ~/i2p. Я бы посоветовал добавить эту папку в переменную окружения PATH, чтобы при каждом запуске не заходить в папку i2p.

Как только запустится роутер, откроется браузер на странице http://127.0.0.1:7657/home.

I2P. Что это такое и как им пользоваться

На этой странице при первом запуске вам будет рекомендовано установить скорость вашего интернет-соединения в настройках по адресу http://127.0.0.1:7657/config.jsp. Это действительно лучше сделать сразу для оптимизации работы сети.

I2P. Что это такое и как им пользоваться

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

Программы I2P используют достаточно много портов, и ваш фаервол не должен их блокировать. Состояние I2P-сети вы можете проверить все по тому же адресу http://127.0.0.1:7657, статус сети описан в левой панели. Надо сказать, что определение статуса сети не очень надежное.

Если вы только что запустили роутер, нужно подождать некоторое время (хотя бы минут 5), чтобы он получше интегрировался в сеть — нашел побольше пиров (узлов, через которые можно передавать трафик).

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

Теперь, после настройки, проверим, как все это работает.

Web и I2P

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

В браузере, настроенном для работы через I2P, вы можете зайти на любой сайт. Да, открывать он будет заметно дольше, но если он откроется нормально, то можете быть уверены, что ваш реальный IP-адрес не будет засвечен на сервере. Для надежности вы можете проверить, под каким IP-адресом вы видны серверу, например, с помощью сайта http://hideme.ru/ip/.

Вы получите примерно следующий результат:

I2P. Что это такое и как им пользоваться

Обратите внимание на хост. Похоже, что это сейчас хосты вида xxx.blue.kundencontroller.de (где xxx — будущий ваш IP-адрес) — это единственный путь для выхода в наружный интернет. Поэтому заблокировать такой анонимайзер не составит труда, некоторые сайты их добровольно блокируют у себя на сервере. Так что пока Tor для этих целей надежнее. В терминах I2P сервер, предназначенный для анонимного выхода в «большой» интернет, называют outproxy (по умолчанию используется сервер false.i2p).

Теперь посмотрим, как выглядят сайты, работающие в сети I2P. Как я уже говорил, они имеют адреса вида http://example.i2p, с той лишь разницей, что используется домен первого уровня .i2p. В простейшем случае вы вводите адрес сайта и работаете с ним точно также, как и в «большом» вебе. Правда, страницы могут открываться довольно долго, особенно если вы только подключились к сети. Для примера, ниже приведены скриншоты двух сайтов:

Однако, если запрошенного адреса нет в вашей адресной книге, то прежде чем вы попадете на сайт, вы должны будете найти запрашиваемый сервер в сети I2P. Например, если мы в адресной строке браузера набираем http://justme.i2p, и этого сайта нет в вашей адресной книге, браузер покажет следующее сообщение:

I2P. Что это такое и как им пользоваться

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

I2P. Что это такое и как им пользоваться

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

У нас на выбор есть четыре варианта действий:

  1. Не сохранять адрес и просто открыть сайт.
  2. Сохранить адрес в адресную книгу роутера.
  3. Сохранить адрес в основную адресную книгу.
  4. Сохранить адрес в приватную адресную книгу.

Чем эти адресные книги отличаются, вы можете прочитать по адресу http://127.0.0.1:7657/dns. Не будем вдаваться в подробности различий адресной книги роутера (обычно в нее рекомендуется добавлять новые адреса) и основной адресной (master) книги. Отличие этих двух адресных книг от приватной заключается в том, что вы не делитесь известными вам адресами из приватной книги с другими пользователями I2P. На самом деле по умолчанию вы ни с кем не делитесь своей адресной книгой, для этого надо еще настроить сервер, но мы сейчас этим заниматься не будем.

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

I2P. Что это такое и как им пользоваться

Можем пройтись по ссылкам и найти там, например, список сайтов, где можно скачать музыку:

I2P. Что это такое и как им пользоваться

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

http://www.i2p2.i2p/hosts.txt
http://i2host.i2p/cgi-bin/i2hostetag
http://stats.i2p/cgi-bin/newhosts.txt
http://tino.i2p/hosts.txt
http://dream.i2p/hosts.txt
http://hosts.i2p/
http://trevorreznik.i2p/hosts.txt
http://cipherspace.i2p/addressbook.txt
http://hosts.i2p/hosts.cgi?filter=all
http://bl.i2p/hosts2.txt
http://rus.i2p/hosts.txt

Добавить новые подписки можно через веб-интерфейс, если по адресу http://127.0.0.1:7657/dns и выбрать раздел «Подписки», или можно сразу открыть адрес http://127.0.0.1:7657/susidns/subscriptions.

I2P. Что это такое и как им пользоваться

В завершение этого раздела приведу несколько полезных ссылок, откуда можно начинать осваивать мир I2P.

Описание работы с торрент-трекером и iMule выходит за рамки этой статьи.

Почта в I2P

Так как I2P задумывался как полноценная замена обычному интернету, то в нем есть не только сайты, но и другие сервисы, привычные по «большому» интернету. Например, почта. Да, там пока нет большого количества почтовых серверов, но те, что есть вполне работают. Наиболее крупный из них — это http://hq.postman.i2p/. Для того, чтобы там зарегистрироваться, нужно пройти по ссылке http://hq.postman.i2p/?page_id=16. После регистрации вы получите ящик вида [email protected] Есть, правда, одно ограничение. Если вы не будете пользоваться заведенным ящиком 100 дней (в течение этого периода ни разу в него не зайдете), то он будет удален.

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

Чтобы проверить, что регистрация прошла успешно, откройте ссылку http://127.0.0.1:7657/susimail/susimail — это веб-интерфейс для доступа к почте. На самом деле этот интерфейс ужасен — выглядит он в стиле 90-ых годов прошлого века, да еще в нем есть проблемы с письмами на русском языке. Но не волнуйтесь, позже вы сможете настроить любимый почтовый клиент. А вот как выглядит веб-интерфейс:

I2P. Что это такое и как им пользоваться I2P. Что это такое и как им пользоваться

Итак, у нас есть почта вида [email protected] В пределах сети I2P вы можете ей пользоваться, как обычной почтой. С нее вы можете отправлять письма как в «большой» интернет, так и другим пользователям I2P. Но казалось бы, что пользователи «большого» интернета не смогут вам написать письмо на этот ящик. На самом деле смогут. Для этого им достаточно слать письма не на [email protected], а на [email protected], откуда почта будет перенаправляться в ваш I2P-ящик. Почта на ящик из «большого» интернета доставляется довольно долго — у меня этот процесс длился минут 10-15.

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

Настройки сервера входящей почты. Имя сервера — 127.0.0.1, порт — 7660, имя пользователя — имя ящика без @mail.i2p. Нужно отключить использование SSL.

Настройки сервера исходящей почты. Имя сервера — 127.0.0.1, порт — 7659, имя пользователя — имя ящика без @mail.i2p. Нужно отключить использование SSL.

Собственно, все. Для наглядности ниже приведены скриншоты настроек в Thunderbird.

I2P. Что это такое и как им пользоваться I2P. Что это такое и как им пользоваться

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

В результате почтовый клиент будет работать с почтой I2P, как с обычным ящиком.

I2P. Что это такое и как им пользоваться

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

На этом давайте остановимся, а то пост получился и так слишком большой. Надеюсь, что мне удалось объяснить на пальцах суть работы I2P, а также как им пользоваться. Хочется верить, что этот проект не останется игрушкой для очень узкого круга пользователей, и он станет хотя бы чуть более известным, и одновременно надежным.

«Всё что вы хотели знать и боялись спросить о I2P» / Habr

Я достаточное время пользовался I2P и читал все статьи об этой сети доступные в русскоязычной части интернета, но не одна из них не даёт всеобъемлющего знания о ней. Учитывая пожелания людей в предыдущих публикациях об I2P, я занялся переводом официального источника.
Из-за большого объёма информации, я буду выкладывать переводы частями.

Если кого то действительно это интересует, прошу под «спойлер».

Это недо* художественный перевод, прошу прощения если где-либо смысл был искажён.
Присылайте поправки и исправления в личку.

Официальный источник: i2p2.de

Оглавление:
Часть 1: «Всё что вы хотели знать и боялись спросить о I2P»
Часть 2: Туннельная магия, NetDB и «жонглирование» протоколами
Часть 3: Цифровой чеснок

Введение

I2P — это масштабируемая, самоорганизующаяся, распределяющая пакеты между анонимными сетевыми уровнями сеть, в которой может работать любое количество приложений, при этом будет обеспечиваться высокий уровень безопасности и анонимности. Каждое из этих приложений само по себе, может быть анонимным, иметь свои возможности для управления сетью, не беспокоясь о надлежащем осуществлении контоля работы свободной, распределённой и асинхронной маршрутизации. I2P позволяет им смешивать (прятать — прим. пер.) свою работу среди большого количества уже существующих анонимных пользователей, работающих в сети.
Приложения могут использовать все возможности обычного интернета, совмещая при этом анонимный веб-сёрфинг, веб-хостинг, анонимный чат, передачу файлов, блоггинг и другие возможности, которые будут добавлены позднее.
  1. Веб-сёрфинг, используя любой браузер, поддерживающий работу через прокси.
  2. Чат: IRC, Jabber, I2P-Messenger.
  3. Файлообмен:
    Torrents: I2PShark, Robert, Imule, PyBit, I2P-bt
    Передача напрямую между ПК: I2Phex
  4. E-mail: susimail and I2P-Bote.
  5. Blog: используя Syndie.
  6. Распределённое хранение данных, сохраняйте свои данные используя облачную Tahoe-LAFS поверх I2P.
  7. Группы новостей, используя любые программу reader, поддерживающую прокси.

В отличие от веб-сайтов, размещенных в распределительных сетях Freenet и GNUnet, размещенные на I2P сайты полностью интерактивные — есть традиционные веб-сервисы: поисковые системы, доска объявлений, в блогах имеется возможность комментировать.

С учетом всех этих анонимных приложений, I2P берет на себя роль «Харона» (Тот кто души через реку мёртвых перевозил в греческой мифологии) — приложения сообщают, что они хотят послать некоторые данные на адрес, представленный криптографическим идентификатором (Это пункт назначения) и I2P заботится о том, чтобы данные были доставлены секретно и анонимно. I2P умеет распределять пакеты, для того чтобы информация максимально анонимно и надежно передавалась через несколько потоков, поверх TCP. При этом на основе алгоритма обеспечивается максимальная пропускная способность и минимальные задержки.
Доступны несколько простых прокси-серверов SOCKS, чтобы связать существующий интернет с I2P, их возможности были ограничены, так как многие сайты обычно создают угрозу анонимности и подвергают пользователя опасности.
Единственный безопасный путь это полная обработка приложений для обеспечения надлежащей работы, мы предоставляем ряд API-интерфейсов, которые можно использовать, чтобы улучшить взаимодействие с сетью (тут видимо имеется в виду работа с сетью интернет в обе стороны — прим. пер.).

I2P, не является: исследовательским, академическим, коммерческим или государственным проектом. Это совместные усилия инженеров, направленные на то, чтобы делать все необходимое для обеспечения достаточного уровня анонимности для тех, кто в ней нуждается. Активная разработка велась с начала 2003 года и занимала всё время разработчиков, также есть специальная группа, состоящая из участников со всего мира, которая тоже участвовала в разработке. Весь исходный код I2P открыт и свободно доступен на веб-сайте, большинство кода отдано в общественное достояние, хотя и используются нескольких криптографических процедур под BSD лицензией.
Люди, работающие над I2P не контролируют то, что люди делают в клиентских приложениях, и есть несколько приложений, доступных под лицензией GPL (I2PTunnel, susimail, I2PSnark, I2P-Bote, I2Phex и другие.).
Финансирование I2P поставляется исключительно из пожертвований, и не облагается налогами (ой как загнул), так как многие разработчики сами являются анонимными.

Принцип работы
Обзор

Чтобы понимать как работает сеть I2P, важно понять несколько ключевых понятий:
Во-первых, I2P делает строгое разделение между программным обеспечением, участвующем в сети ( «маршрутизатор») и анонимными концами («цели»), связанными с отдельными приложениями.
Когда используется I2P это хорошо видно, но что он скрывает? Он скрывает информация о том, что пользователь делает сейчас (если вообще что-либо), а также то, что пользователь подключён к определённому маршрутизатору. Конечные пользователи, как правило, имеют несколько локальных адресов на маршрутизаторе — например, один прокси для IRC серверов, другой для поддержки пользовательского анонимного веб-сервера («eepsite»), ещё один для I2Phex например, четвёртый для торрентов и т. д.

Вторым важным аспектом для понимания работы является концепция «туннеля». Туннель — это ориентированный путь через явно выбраный список маршрутизаторов. Используется многоуровневое шифрование, поэтому каждый из маршрутизаторов может расшифровать только один слой. Расшифрованная информация содержит IP следующего маршрутизатора, наряду с зашифрованной информацией, которая будет перенаправлена. Каждый туннель имеет начальную точку (первый маршрутизатор, также известный как «шлюз») и конечную точку. Сообщения могут быть отправлены только в одну сторону. Чтобы получить обратное сообщение, требуется еще один туннель.

Существует два типа туннеля: «исходящий» туннели отправляет сообщения от создателя туннеля, в то время как «входящие» туннели передают сообщение обратно создателю туннеля. Сочетание этих двух туннелей позволяет пользователям отправлять друг другу сообщения. Отправитель («Алиса» на изображении выше) устанавливает исходящий туннель, в то время как приемник («Боб» в картинке) создает входящий туннель. Шлюз во входящем туннеле может получать сообщения от других пользователей и переслать их до конечной точки (в данном случае это «Боб»).
Конечная точка исходящего туннеля должна будет отправить сообщение на шлюз во входящий туннель. Для этого отправитель («Алиса») добавляет инструкции в зашифрованное сообщение. Как только конечная точка исходящего туннеля расшифровывает сообщение, оно получит инструкцию, чтобы переслать сообщение на правильный входящий шлюз (шлюз «Боб»).

Третьим важным для понимания пунктом является сетевая база данных NetDB. Несколько алгоритмов, предназначенные для обмена сетевыми метаданными. Существует два типа метаданных: «routerInfo» и «leaseSets»:
routerInfo дает данные о маршрутизаторах, необходимых для обмена данными частных маршрутизаторов (их открытыми ключами, адресами и т.д.), в то время как leaseSet дает маршрутизаторам информацию, необходимую для связи конкретных точек.
LeaseSet содержит блок информации «Lease». Каждое поле определяет туннель из шлюзов, который позволяет достичь получателя. Полная информация, содержащаяся в Lease:
Входящий шлюз для туннеля, который позволяет достичь получателя.
Время, когда туннель устарел.
Пара открытых ключей, чтобы иметь возможность шифрования сообщений (для отправки через туннель и для получателя в пункте назначения).

Маршрутизаторы пересылают свои routerInfo в netDb напрямую, а leaseSets направляются через исходящий туннель (leaseSets должны быть отправлены анонимно, чтобы избежать корреляции маршрутизатора с его leaseSets).
Мы можем объединить вышеуказанные концепции для создания успешно работающей сети.

Для создания собственных входящих и исходящих туннелей, Алиса производит поиск в netDb для сбора routerInfo. Таким образом, она собирает списки пиров, которые она может использовать в качестве Hop (Промежуточных точек) в ее туннелях. Она может отправить сообщение для первого прыжка с просьбой о создании тоннеля и просить, чтобы маршрутизатор отправил запрос на создание туннеля, до того как туннель будет построен.

Когда Алиса хочет послать сообщение Бобу, она сначала выполняет поиск в netDb, чтобы найти leaseSet Боба и получить информацию о текущих входящих туннелях Боба. Затем она выбирает один из своих исходящих туннелей и отправляет сообщение по нему с инструкциями для конечной точки исходящего туннеля, чтобы переслать сообщение на один из шлюзов входящего туннеля Боба.
Когда в исходящем туннеле конечная точка получает эти инструкции, она передает сообщение с запросом и когда входящий шлюз туннеля Боба получает запрос, он направляется вниз по туннелю к маршрутизатору Боба.
Если Алиса хочет чтобы Боб ответил на сообщение, она должна передать инструкцию явно, как часть самого сообщения. Это может быть сделано путем создания более высокого слоя, создание которого осуществляется в потоковой библиотеке. Алиса может также сократить время отклика, вкладывая ее последний leaseSet в сообщение, так что Бобу не нужно делать поиск по netDb для обращения, когда он решит ответить, но это не обязательно.

В то время как сами туннели имеют имеют многослойное шифрования для предотвращения несанкционированного доступа к пирам внутри сети («транспортный слой» зашифрован сам по себе, для предотвращения несанкционированного доступа к участникам сети).
Так же необходимо добавить дополнительный слой шифрования, чтобы скрыть сообщение от исходящей до конечной точки туннеля и шлюза входящего туннеля. Это «чесное шифрование» позволяет маршрутизатору Алисы обернуть несколько сообщений в одно „чеснок сообщение“ (это четвёртый аспект), зашифрованные вместе с открытым ключом, так что посредник не может определить количество сообщений и что они содержат.
Для типичного соединения между Алисой и Бобом, сообщение будет зашифровано с открытым ключом, опубликованным в leaseSet Боба, позволяющий читать шифрованное сообщение на маршрутизаторе Боба, не выдавая открытый ключ

Еще один важный факт. Нужно иметь в виду, что I2P полностью основан на сообщениях, и что некоторые сообщения могут быть утеряны по пути.
Приложения в сети I2P, могут использовать в сообщении собственный интерфейс и заботиться о своем собственном контроле передаче и надёжности, но большинство приложений может адекватно работать используя стандартные библиотеках для передачи данных в сети i2p.

Что такое Peer-to-Peer сеть? | Сеть без проблем

Если вы регулярно пользуетесь Интернетом, маловероятно, что вы не слышали о терминах peer-to-peer или аббревиатуре P2P. Было ли это упомянуто в новостной статье, на телевидении или в разговоре с другом, который сказал вам, что он только что загрузил последний эпизод «Игры престолов», вы, возможно, наткнулись на этот термин. Если вы хотите знать, что такое peer-to-peer, и для чего он используется, вы должны прочитать эту статью.

Что такое P2P или Peer-to-Peer?

Peer-to-peer или P2P в сокращенной форме относится к компьютерным сетям, использующим распределенную архитектуру. Это означает, что все компьютеры или устройства, входящие в нее, совместно используют рабочие нагрузки в сети. Компьютеры или устройства, которые являются частью одноранговой сети, называются одноранговыми. Каждый одноранговый узел из одноранговой сети равен другим одноранговым узлам. Нет привилегированных сверстников, и в центре сети нет центрального административного устройства.

В некотором роде, одноранговые сети — это социалистические сети в мире вычислений. Каждый сверстник равен другим, и каждый партнер имеет те же права и обязанности, что и другие. Одноранговые клиенты одновременно являются клиентами и серверами.

Кроме того, каждый ресурс, доступный в одноранговой сети, является общим для одноранговых узлов без участия центрального сервера. Общие ресурсы в сети P2P могут быть такими, как использование процессора, дисковое пространство или пропускная способность сети.

Что делают сети P2P (peer-to-peer)?

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

Рассмотрите эту ситуацию: вы открываете свой веб-браузер и посещаете веб-сайт, где вы загружаете файл. В этом случае сайт работает как сервер, а ваш компьютер действует как клиент, который получает файл. Вы можете сравнить его с дорогой с односторонним движением: загружаемый файл — это автомобиль, который идет от точки A (веб-сайт) до точки B (ваш компьютер).

Если вы загружаете один и тот же файл через одноранговую сеть, используя сайт BitTorrent в качестве отправной точки, загрузка выполняется по-разному. Файл загружается на ваш компьютер в битах и ​​частях, которые поступают со многих других компьютеров в сети P2P, у которых уже есть этот файл. В то же время файл также отправляется (загружается) с ваше

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *