Как работает i2p для тупых

Проект The Invisible Internet (I2P)

Invisible Internet Project (I2P) — это полностью зашифрованный уровень частной сети, который был разработан с учетом принципов конфиденциальности и безопасности, чтобы обеспечить защиту вашей деятельности, местоположения и вашей личности. Программное обеспечение поставляется с маршрутизатором, который подключает вас к сети, и приложениями для совместного использования, общения и программирования.

I2P заботится о приватности

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

Как подключиться к сети I2P

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

Общий обзор сети

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

I2P — это безопасный и защищающий трафик уровень, напоминающий Интернет. Сеть состоит из узлов («маршрутизаторов») и однонаправленных входящих и исходящих виртуальных туннелей. Маршрутизаторы взаимодействуют друг с другом с помощью протоколов, построенных на существующих транспортных механизмах (TCP, UDP и т.д.), передавая сообщения. Клиентские приложения имеют свой собственный криптографический идентификатор (Destination), который позволяет им отправлять и получать сообщения. Эти клиенты могут подключиться к любому маршрутизатору и санкционировать временное выделение («аренду») некоторых туннелей, которые будут использоваться для отправки и получения сообщений через сеть. У I2P есть своя собственная внутренняя сетевая база данных (использующая модификацию Kademlia DHT) для безопасного распределения маршрутизации и контактной информации.

О Децентрализации и I2P

Сеть I2P почти полностью децентрализована, за исключением так называемых Reseed-серверов, с помощью которых вы впервые присоединяетесь к сети. Это делается для того, чтобы решить проблему бутстрапа DHT (Distributed Hash Table). По сути, не существует хорошего и надежного способа обойтись без запуска хотя бы одного постоянного загрузочного узла, который могут найти пользователи, не входящие в сеть, чтобы начать работу. После подключения к сети вы можете обнаружить узлы только с помощью поисковых туннелей, но чтобы установить начальное соединение, вам нужно обзавестись набором узлов. Серверы reseed, список которых вы можете увидеть на сайте http://127.0.0.1:7657/configreseed в маршрутизаторе Java I2P, предоставляют вам эти узлы. Затем вы подключаетесь к узлам с помощью маршрутизатора I2P, пока не найдете узел, к которому сможете подключиться и построить поисковые туннели. Серверы Reseed могут подтвердить, что вы загрузились с них, но не смогут предоставить никакой другой информации о вашем трафике в сети I2P.

Я вижу IP-адреса всех других узлов I2P в консоли маршрутизатора. Означает ли это, что мой IP-адрес виден другим?

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

Что I2P не делает

Сеть I2P не занимается официальным «Выходом» трафика. У нее есть аутпрокси в Интернет, управляемые волонтерами и являющиеся централизованными службами. I2P — это в первую очередь сеть скрытых услуг, и аутпроксирование не является официальной функцией сервиса и не рекомендуется к использованию. Преимущества конфиденциальности, которые вы получаете от участия в сети I2P, связаны с тем, что вы остаетесь в сети и не выходите в Интернет. I2P рекомендует использовать Tor Browser или надежную VPN, когда вы хотите использовать Интернет в частном порядке.

Сравнения

Существует много других хороших приложений и проектов в области анонимных коммуникаций, и I2P определенно обогащается их опытом. Это неполный список подобных ресурсов — у freehaven’а в Anonymity Bibliography и в GNUnet проектах эти списки полнее. Всего несколько систем имеет смысл сравнивать далее. Ниже перечислены страницы, посвященные сравнениям с этими системами:

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.

Вот, например, как выглядит одна из записей адресной книги (файла

plugins.i2p=4GdwNoyPq-tlATiocmygKgZv1gJ1Gr1XtZRQ1T-5RozH54aPDKuVp6E9eTdZm3PyJ

Для наглядности эту запись я разбил на несколько строчек, но в реальности это все одна строка. Как я уже говорил, сейчас каждый может зарегистрировать себе свой домен в зоне 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. Под Windows для этого будут созданы специальные ярлыки, под Linux это можно сделать с помощью команды

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

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

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

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

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

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

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

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

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

Web и I2P

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

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

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

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

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

http://id3nt.i2p/— сервис микроблогов http://forum.rus.i2p/— русскоязычный форум про I2P

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

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

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

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

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

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

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

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

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

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

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

    — небольшой каталог ресурсов I2P. — аще один каталог сайтов с проверкой статуса их доступности. — неплохой архив MP3. — flibusta есть и в I2P. — аналог eMule для сети I2P (под Ubuntu 12.10 он у меня не запустился, выдавая сообщение о том, что не найдена библиотека libbfd-2.22-system.so). — торрент-трекер. — поисковик. — еще один поисковик.

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

Почта в I2P

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

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

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

Итак, у нас есть почта вида username@mail.i2p . В пределах сети I2P вы можете ей пользоваться, как обычной почтой. С нее вы можете отправлять письма как в «большой» интернет, так и другим пользователям I2P. Но казалось бы, что пользователи «большого» интернета не смогут вам написать письмо на этот ящик. На самом деле смогут. Для этого им достаточно слать письма не на username@mail.i2p , а на username@i2pmail.org , откуда почта будет перенаправляться в ваш 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, а также как им пользоваться. Хочется верить, что этот проект не останется игрушкой для очень узкого круга пользователей, и он станет хотя бы чуть более известным, и одновременно надежным.

PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.

Раскрываем секреты сети I2P

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

i2p-feaured

Немного истории

В начале 2000-х годов существовало множество P2P-сетей, практическим применением которых был файлообмен. Копирастеры приходили в ярость, поскольку в распространении файлов принимали участие все сразу. Попытки же устроить «показательную порку» индивидуумам приводили лишь к колоссальным затратам времени и средств с нулевым конечным результатом. Для тех же, кто опасался оказаться в числе «попавших под раздачу», была предложена сеть Freenet, ключевой идеей которой был обмен зашифрованными блоками данных, при этом участник не имел представления о том, что это за данные, если они не были предназначены ему самому. Хотя сеть предоставляла и другие сервисы вроде полностью анонимных форумов, фактически все сводилось к скачиванию файлов.

Задачи I2P

Основные задачи I2P следующие:

  1. Скрывать местоположение eepsite’ов.
  2. Скрывать местоположение клиентов, подключающихся к eepsite’ам, в том числе и от самих сайтов.
  3. Сделать невозможным ограничение доступа к сайтам со стороны провайдеров и/или магистральных узлов.

WARNING

I2P и Тор

«Спусковым крючком», вызвавшим массовый интерес к «невидимому интернету», стало законодательное ограничение доступа к информационным ресурсам в ряде стран, а также разоблачения Сноудена о слежке за всеми. Разумеется, многим это не понравилось: действительно, с какой стати непонятно кто станет решать за взрослого дееспособного человека, какую информацию ему следует получать, а какую нет. Что касается слежки, то она вообще никому не приятна. Осознав это, обыватель бросился искать две магические кнопки «Обойти цензуру» и «Спрятаться от слежки». И такие «кнопки» он получил в виде специальных браузеров или плагинов к браузерам для сети Tor.
Технически грамотные люди же обратили внимание на сеть I2P в качестве альтернативы Tor’у. Поскольку ты, уважаемый читатель, относишься к технически грамотным людям (иначе зачем тебе «Хакер»?), то, прочитав данную статью, поймешь, какие задачи решает сеть I2P и каким образом она это делает.
Следует обратить внимание на главное отличие I2P от Tor: основной задачей Tor’а является сокрытие истинного IP-адреса клиента, обращающегося к серверу. По большому счету серверам нет дела до того, каким образом к ним подключаются клиенты, — скорее, Тоr является для них лишней головной болью из-за хулиганов, в случае же I2P, наоборот, владельцы серверов (eepsite’ов) размещают их анонимно, а клиенты вынуждены использовать I2P, если хотят обращаться к этим серверам. Таким образом, Тоr является сетью клиентов, а I2P — серверов. Конечно, есть и onion-сайты в Тоr, и выходные узлы в I2P, однако это скорей побочные технологии.

Myth busters

В Сети гуляет несколько популярных мифов о I2P, в которые многие верят. Мы же их развеем.

Миф 1: чем больше участников, тем быстрее работает сеть.

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

Миф 2: чем больше доля транзитного трафика, тем выше анонимность.

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

Миф 3: в Тоr’е применяется многослойное «луковое» шифрование, а в I2P более прогрессивное «чесночное», в котором сообщение состоит из нескольких «чесночин», предназначенных разным узлам, при этом узел может расшифровать только свою «чесночину», содержимое остальных ему неизвестно.

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

Как должно выглядеть реальное «чесночное» шифрование, можно понять из механизма создания тоннелей: сообщение состоит из нескольких записей, из них зашифрованы все, кроме одной, предназначенной данному узлу; он перешифровывает сообщение своим ключом и отсылает дальше. Естественно, следующему узлу предназначается уже другая запись сообщения.

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

Как участники I2P находят друг друга?

Начнем с того, что рассмотрим встроенные в I2P механизмы, которые позволяют участникам находить друг друга, и попробуем найти в них потенциальные уязвимости. Каждый узел I2P идентифицируется I2P-адресом, представляющим собой две пары открытых и закрытых ключей, генерируемых в момент создания узла случайным образом, без какой-либо корреляции с IP-адресом или местоположением. Центрального источника адресов нет, предполагается, что вероятность совпадения двух случайно сгенерированных адресов пренебрежимо мала. Одна пара ключей используется для асимметричного шифрования, а другая — для подписи. Владельцем узла является тот, у кого имеется файл с полным набором ключей длиной 660 байт. Этот файл располагается на компьютере владельца и по сети не передается. Два открытых ключа и 3-байтный сертификат (на настоящий момент всегда нулевой) образуют 387-байтный идентификатор узла, под которым узел становится известен в I2P. Поскольку полный 387-байтный идентификатор довольно неэффективен для сравнения, сортировки и передачи данных, то для обозначения узла используется 32-байтный SHA-256 хеш от идентификатора. Строковое Base32 представление этого хеша и является адресом в .b32.i2p-адресах. А что делать, если известен только хеш, а нужно знать публичные ключи, содержащиеся в идентификаторе, например для шифрования или проверки подписи? Для этого существует сетевая база данных (netDb) — не очень удачное название, правильнее было бы назвать базой данных о сети, но такова уже устоявшаяся терминология.

Официальный клиент I2P нас обманывает

Официальный клиент I2P нас обманывает

Другие статьи в выпуске:

Хакер #182. Все о Bitcoin

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

Обманываем новичков

Наличие локальной базы данных позволяет участнику выходить в сеть немедленно, не обращаясь к серверам каталогов узлов, как это делается в Тоr’е (из-за этого китайское правительство в 2010 году смогло отключить его, блокировав доступ к каталогам). Однако у такой децентрализации есть один существенный недостаток: чтобы получать информацию о новых узлах, в локальной базе данных должны уже присутствовать какие-то узлы. Значит, при первом запуске их придется откуда-то загрузить. Этот процесс называется «посевом» (reseeding) и заключается в скачивании файлов с небольшого числа жестко прописанных в коде сайтов. Достаточно заблокировать доступ к этим сайтам, и новые узлы не смогут стартовать. Правда, в этом случае для первого запуска можно просто взять список узлов у кого-то другого. Гораздо хуже, если доступ будет не заблокирован, а перенаправлен на сайты с фальшивым списком узлов, — тем самым новый узел рискует попасть в изолированную от остальной сеть, и нет простого способа распознать эту ситуацию. К чести разработчиков, они понимают масштаб проблемы и работают над тем, чтобы распространять начальный список узлов в виде подписанного их ключом архива по различным каналам.

Невидимый интернет

Сеть I2P состоит из узлов двух видов: маршрутизаторы, имеющие помимо I2P-адресов обычные IP-адреса и видимые в обычном интернете, и узлы, находящиеся позади маршрутизаторов и собственных IP-адресов не имеющие, — они и образуют тот самый «невидимый интернет». Маршрутизаторы представлены в сетевой базе данных структурой RouterInfo, помимо полного идентификатора содержащей один или несколько внешних IP-адресов и доступных протоколов, а также список возможностей данного маршрутизатора, важнейшей из которых является floodfill. Floodfill-маршрутизаторы служат своего рода «досками объявлений», куда узлы публикуют информацию о себе и куда приходят запросы клиентов. Во избежание подделки данные подписываются ключом, входящим в адрес. Поскольку информация о маршрутизаторе меняется довольно редко, то соответствующие файлы сохраняются на диске и загружаются в память при старте. У нормально функционирующего I2P-клиента таких файлов должно быть порядка нескольких тысяч.

Так выглядит файл RouterInfo типичного floodfill’а

Так выглядит файл RouterInfo типичного floodfill’а

«Невидимый интернет» представлен структурами данных LeaseSet, содержащих полный идентификатор, дополнительный ключ шифрования и список тоннелей, ведущих к маршрутизатору с данным узлом. Хотя входящие тоннели имеются и у самих маршрутизаторов, они никогда не формируют LeaseSet’ы: к маршрутизаторам всегда следует обращаться, устанавливая с ними прямые соединения, тоннели же используются только для получения ответов на запросы. Поскольку продолжительность жизни одного тоннеля десять минут, то LeaseSet’ы также существуют недолгое время и поэтому на диске не сохраняются, а при рестарте перезапрашиваются по новой. Тоннели и ключ шифрования из LeaseSet’а являются единственным способом обращения к «невидимому» узлу, то есть, зная адрес, следует сначала запросить его LeaseSet у ближайшего к нему floodfill’а и потом отправить сообщение в один из тоннелей. Для получения ответа требуется сформировать собственный LeaseSet, который можно отправить вместе с сообщением или же опубликовать на ближайшем floodfill’е.
Невозможность установить, на каком маршрутизаторе располагается тот или иной LeaseSet, является краеугольным камнем технологии обеспечения анонимности в сети I2P. Соответственно, большинство атак злоумышленников направлены на решение противоположной задачи. С этой целью в I2P для передачи информации используется сильная криптография, скрывающая данные от особо любопытных провайдеров разных уровней, а удачно применяемые электронные подписи делают сеть устойчивой к атакам типа man-in-the-middle.

Структура LeaseSet

Структура LeaseSet

Перехватываем тоннели

Для обеспечения анонимности внутри I2P применяются тоннели, представляющие собой цепочки маршрутизаторов, через которые передаются сообщения. Тоннели бывают исходящие и входящие. Исходящие предназначены для сокрытия местоположения отправителя, а входящие — получателя. Потому LeaseSet’ы и представляют собой список входных узлов и идентификаторов входящих тоннелей, информация об исходящих тоннелях не публикуется. Местоположение второго конца тоннеля держится в секрете. Для получения ответов клиент посылает серверу собственный LeaseSet. Каким путем проложен тоннель и, соответственно, на каком узле находится его второй конец, известно только создателю тоннеля. Все промежуточные участники тоннеля знают лишь следующий узел, которому следует передать перешифрованное сообщение. Но это в теории — на практике же промежуточные узлы также знают, откуда пришло сообщение, потому что сообщения между узлами передаются по обычному интернету и узнать IP-адрес отправителя не составляет труда. Далее, при достаточном размере базы можно найти и RouterInfo. Таким образом, если промежуточный узел тоннеля принадлежит злоумышленнику, то он немедленно узнает и двух своих соседей, что компрометирует одно- или двухшаговые тоннели, поскольку позволяет отследить всю цепочку. Теоретически можно увеличить длину тоннелей вплоть до восьми узлов, практически же каждый дополнительный узел резко замедляет скорость работы и надежность, поскольку присутствие узла онлайн на все время существования тоннеля не гарантировано. Поэтому в настоящий момент в I2P используются трехшаговые тоннели. Таким образом, для успешной деанонимизации узла злоумышленнику следует узнать маршрут любого из тоннелей в любой момент времени — для этого достаточно, чтобы два узла одного тоннеля были доступны злоумышленнику. При нынешнем размере сети в несколько тысяч узлов такой сценарий вполне по силам крупным структурам. Если в деанонимизации серверов ранее описанный перехват reseeding’а мало поможет, поскольку серверы выбирают узлы входящих тоннелей сами, то для выявления клиентов, посещающих «неблагонадежные» ресурсы, данный метод идеален: все узлы, в том числе выходные, используемые клиентом для построения его исходящих тоннелей, будут априори принадлежать злоумышленнику. Тем самым сразу станет известно, откуда пришло сообщение, предназначенное какому-нибудь входящему тоннелю сервера.

Схема взаимодействия Васи с сайтами в I2P

Схема взаимодействия Васи с сайтами в I2P

Атака методом исключения

Для тех, кто не обладает достаточными ресурсами по захвату большого числа узлов, однако располагает временем и терпением, подойдет другой способ. Цель его — резкое сужение круга «подозреваемых» маршрутизаторов (при должном везении даже до одного), на которых может располагаться искомый узел. Возможность проведения такой атаки обусловлена P2P-природой сети I2P — большинство маршрутизаторов сети не находятся онлайн 24 часа в сутки, поскольку располагаются на компьютерах ее участников. С другой стороны, эксплуатируются особенности I2P:

  1. Время существования тоннеля десять минут.
  2. Узел не участвует в тоннеле дважды.
  3. Для построения тоннеля каждый раз выбирается новая последовательность узлов.

Перед началом атаки злоумышленник набирает достаточно обширную базу, предполагая, что в ней находится и маршрутизатор атакуемого узла. Далее он начинает постоянно обращаться к атакуемому узлу с запросом, предполагающим получение ответа. Это можно делать ненавязчиво, главное, чтобы запрос-ответ шли постоянно, тем самым злоумышленник определяет временные интервалы, когда атакуемый узел и, соответственно, его маршрутизатор находится онлайн. Одновременно с этим оставшиеся маршрутизаторы опрашиваются путем установления непосредственного соединения, отправки какого-нибудь запроса или создания тоннеля. Делается это массово в течение максимально короткого промежутка времени. Те маршрутизаторы, которые оказались неактивными в то время, как атакуемый узел показывает активность, выбрасываются из списка, и наоборот — выбрасываются активные, когда узел неактивен. Если же атакуемый узел активен все время, то в конце концов список будет состоять из постоянно активных маршрутизаторов. И он может оказаться достаточно большим. Вот тут на помощь злоумышленнику и приходят перечисленные выше особенности: входные маршрутизаторы тоннелей, входящих в LeaseSet атакуемого узла, заведомо не являются его маршрутизатором и могут быть немедленно исключены. LeaseSet обновляется не реже чем раз в десять минут и обычно содержит пять тоннелей. За час будут исключены 30 узлов, за сутки 720, таким образом, перебор списка в 5 тысяч узлов займет не более недели.

Определяем соседей по запаху чеснока

Для обеспечения анонимности с обеих сторон тоннели используются парами: исходящий тоннель отправителя и входящий тоннель получателя. Поскольку тоннели создаются независимо друг от друга, то выходной и входной маршрутизаторы в месте соединения тоннелей видят незашифрованные передаваемые данные. Поэтому поверх тоннельного используется дополнительный уровень шифрования — специальное «чесночное» сообщение, полностью зашифрованное и предназначенное для конечных узлов в цепочке. Проблема заключается в том, что расшифровкой таких сообщений занимается маршрутизатор узла, а не сам узел. Таким образом, ключ шифрования, присутствующий в полном идентификаторе, не используется, вместо этого в LeaseSet’е присутствует предназначенный для шифрования отдельный ключ, сгенерированный маршрутизатором, на котором располагается данный LeaseSet. При этом ключ должен быть одним и тем же для всех расположенных на маршрутизаторе узлов, даже если каждый LeaseSet использует свой собственный набор тоннелей. Иначе и нельзя, поскольку «чесночное» сообщение должно быть расшифровано до того, как станет понятно, кому предназначена та или иная «чесночина». В результате изначально здравая идея «чесночной» передачи данных обрела столь уродливую форму при передаче через пару тоннелей. Таким образом, ключ шифрования, публикуемый в LeaseSet’е, является уникальным идентификатором соответствующего маршрутизатора. Достаточно скомпрометировать любой из узлов, чтобы также скомпрометировать все остальные, в том числе и клиентские. Для проведения данной атаки злоумышленнику следует запустить один или несколько floodfill’ов, куда узлы будут публиковать свои LeaseSet’ы.

Выводы

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

Сеть I2P. Что же там есть? ⁠ ⁠

Всем добрый день. Часто в своих постах я упоминаю про сеть I2P. Хотелось бы рассказать кратко, но в тоже время понятно и подробно.

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

Что же там есть? Логично предположить, что там должно быть много всякой гадости. Да. Думаю ее там достаточно. Я не искал. Из русскоязычных ресурсов, мне нравится некое подобие соц.сети и блога в одном флаконе onelon.i2p. Программистский ресурс progromore.i2p
Есть торрент-трекеры, но скорость скачки будет напоминать времена dial-up.

Тем не менее, у кого не остыл интерес, прошу. =)
И помните, анонимность не означает вседозволенности! Подобные сети задуманы, чтобы обеспечивать свободу, но ни в коем случае не произвол и преступность!
Я против любой преступной деятельности в том числе и в интернете/i2p

Onelon? Серьезно? Я бы не доверял двачерам.

По тонкому льду ходил Пал Палыч⁠ ⁠

Принципиальный родственник⁠ ⁠

У отца моей жены имеется брат. Видимся мы редко, буквально раза четыре за десять лет, на общих семейных праздниках. Зовут Макаром, работает автомехаником.

У Макара случилась беда- ночью приезжала аварийка, сгорел счётчик, сделали напрямую, но пояснили, что требуется поменять в щитке вообще всё. Он вспомнил про такого родственника как я, нашёл мой номер, созвонились, и я подъехал.

При более тесном знакомстве оказался он адекватным мужиком, не глупым, с интересными рассуждениями, серьёзным и увлекательным собеседником.

Я демонтировал в щитке всю схему на его квартиру и заново собрал всё с ноля, включая сжимы и вводной автомат. Он предоставил автоматы, а провод, крепёжную рейку и нолевую колодку я поставил свои. Щиток на площадке, на четыре квартиры, тесный, понакручено всякого говна от души.

-Нормально, Серёг,- говорил Макар, пока я собирал щиток,- По родному и качественно! Ты если что, то тоже по родственному обращайся. Ну, по машине если что, то звони. Сделаем, я хороший мастер. (смущённо) Ну так все говорят.

На дорогу у меня ушло минут сорок, на всю работу часа полтора. Про оплату я и не говорил, а он не предложил, что было на тот момент вполне логично. За время ремонта он стоял рядом и создалась настолько дружественная атмосфера, что упоминать деньги было как то совсем неловко. Его жена дала пару пирожков, на этом мы и разошлись.

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

Макар радостно согласился помочь, сказал, что всё уточнит у себя на работе и даст знать.

Дал знать на следующий день:

-Реально, я договорился. Через два дня, в четверг, в обед тебя устроит?

-Скидку тебе сделаем, я договорился, пятьсот рублей! Нормальный мастер сделает, всё чётко будет.

-Макар, а нельзя чтобы ты сделал, ну понимаешь, по родственному? Как я тебе щиток собрал, помнишь? По родному и качественно, а?

Пауза, потом осторожный голос Макара:

-Серёг, ты вот сейчас послушай, только не обижайся, но скажу как есть, потому что мужик ты нормальный и поймёшь. Я, тут такое дело, не делаю ремонты родственникам и друзьям. Принцип такой по жизни. Обжигался уже, так что. извини.

Стою, молчу, как то неожиданно. Макар продолжает:

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

-Нет, -говорю я офигевая,- не понял. Я тебе щит в идеальное состояние привёл, сделал как себе, материал свой использовал, а ты- «проводочки».

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

-А чего меня звал тогда?

-Ну так у меня допуска нет. Ты пойми- я ж не отказываюсь помочь, Серёг, я тебя в начало очереди поставил, скидку выбил, с мастером договорился. Ну чего, приедешь?

Я много чего хотел сказать, но ограничился кратким «нет» и положил трубку.

Так красиво и чётко меня даже в поликлинике не посылали. Респект прям дяде Макару. Адекватный мужик, понимаешь. Не глупый серьёзный собеседник с интересными рассуждениями. Ага. Очень интересными, оказывается.

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

Прошло около года, ну чуть больше где то.

Зимой соседи сверху взяли и залили дядю Макара кипятком. Соседи алкаши, в суд Макар не пошёл, подробностей я не знаю, а стал делать ремонт сам.

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

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

Вкрации- рад бы помочь, да не могу. Принципы.

А могу порекомендовать хороших электриков и договориться, чтоб подешевле взяли и качественно сделали всё. Да и вообще, для работ в квартире допуск не нужен, если что.

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

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

Огромное спасибо @Tzoiker за денежную благодарность)

Если ваша вечеринка не похожа на эту. ⁠ ⁠

Трудовые будни моей сестры, а она кондитер, разнообразием не блещут, но иногда заказчики радуют и навеки остаются в сердечке)

Если ваша вечеринка не похожа на эту. Торт, 2000-е, Заказчики, Длиннопост

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

Если ваша вечеринка не похожа на эту. Торт, 2000-е, Заказчики, Длиннопост

Ну и, собственно, результат.

Если ваша вечеринка не похожа на эту. Торт, 2000-е, Заказчики, Длиннопост

Употреблять за отдельным от взрослых столом, запивать юппи) Надеюсь, Славику разрешили лечь в этот день попозже.

Мысли о мобилизации⁠ ⁠

Если призвать каждого седьмого из партии Единая Россия то получится как раз заявленные 300 тыс. человек. И это будут не абы кто, а настоящие патриоты.

Вежливые люди⁠ ⁠

Звонок из «ВТБ», начало классическое — на ваш номер оформлен кредит и т.д.

Успел записать на видео конец разговора:

— какую операцию проводили по ВТБ карте?

— покупал оружие, АК-47. 15 штук

— просто умрите твари!

На всё ушло больше трех минут, что интересно, СМС пришло в чат,куда приходят все СМС от настоящего банка.

P.S.: извиняюсь за дебильный смех, не сдержался.

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

Вежливые люди Развод на деньги, Мошенничество, Телефонные мошенники, Видео, Вертикальное видео, Злодейский смех

Контрабасы и хлебушек⁠ ⁠

Листал тут давеча телегу и наткнулся на новость https://t.me/pdmnews/52962
Для ЛЛ: мобилизованные приехали в Алабино, а местные контрабасы решили включить режим "дедушек" и отобрать у новоприбывших экип и телефоны. В итоге были жёстко опиздюлены и заперты в какой-то каморке. У меня вопрос к этим тупорылым "дедушкам" — у вас в голове хлебушек? Мир слегка изменился за последнее время, или не заметили? А так, новость даже порадовала. Я на срочке пиздился с дедами. На гражданке потом тоже одного отоварил, когда он решил похвастаться, как он своё отделение по приколу дрочил.
Надеюсь таких случаев будет всё больше и чтобы любой долбоёб теперь почаще задумывался перед тем как включать "дедушку".
Теперь можете заряжать свои минусомëты, мне похуй, моя позиция по дедовщине не изменится: любого "деда" на дизель, его командира понижать в звании.

Крепкий хозяйственник⁠ ⁠

Рассказ одного хорошего невролога:

Дело было в 80-х годах.

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

(диалог приведен в переводе)

— и давно это у вас?

— но вы же завхоз на крупном заводе, постоянно отчеты, совещания. Неужели никто не замечал?

— Замечали. Говорили: «Крепкий хозяйственник».

Бро объясняет⁠ ⁠

Бро объясняет

Оказывается, мой дед был оч крут⁠ ⁠

А бабушка оч красивая
в этом году ему будет 90, а ей 85, они совсем уже плохи, но я минимум 2 раза в неделю им звоню, они рассказывают по 20 минут одно и тоже, а я терпеливо слушаю, мне не очень сложно, а им очень приятно)

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Оказывается, мой дед был оч крут Бабушки и дедушки, Фотография, Длиннопост, Старое фото

Деды vs мобилизованные⁠ ⁠

В подмосковной воинской части контрактники захотели забрать у мобилизованных часть экипировки и телефоны. Сделать этого не вышло: вновь прибывшие военные просто избили «старичков».

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

Прибывшие не стали терпеть такого отношения и на поборы ответили грубой силой. Произошла массовая драка — по данным «Базы», избитыми оказались около 20 «дедов». Ситуация реально вышла из-под контроля: избитые спаслись, лишь закрывшись в одном из помещений части. Оттуда они вызвали полицию.

Сначала в Алабино приехала военная полиция, а затем — и сотрудники МВД. Только после этого военным удалось договориться — заявления в полицию никто из них в итоге не написал.

Волгоград. Тому, кто дотащил меня до врачей — спасибо⁠ ⁠

03.10.22.
У входа в 18-ую взрослую поликлинику мне стало плохо и начал терять сознание, благо успел прижаться к стене спиной. Выронил телефон, документы.

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

Маловероятно, но если прочтёшь и узнаешь себя — Спасибо тебе большое.

Я его встретила! Бизнесмена, который таксует для души!⁠ ⁠

Вызываю яндекс-такси. И не в курсе, что там пробка огромная, что-то чинят. Таксист везет меня в объезд пробки, такими ебенями, что я даже не подозревала, что такие в моем городе бывают.

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

А он говорит: «Я запланировал потаксовать четыре часа, идите нахуй, и по телефону учит рабочих кроить какой-то материал».

Судя по мату с той стороны, это не шелк.

Они существуют! У него есть бизнес и он таксует! Причем таксует отменно, мы пробку объехали!

Хахахахахаха))⁠ ⁠

Хахахахахаха)) Юмор, Twitter, Мультфильмы, Скриншот, Обезьянки вперед (мультик), Дети, Мама

Питер уже накрыла, теперь на Москву поглядывает⁠ ⁠

Питер уже накрыла, теперь на Москву поглядывает Рисунок, Санкт-Петербург, Москва, Выдра, Погода, Парейдолия

автор -lonerDemiurge(Nail)

Немного британского юмора⁠ ⁠

Когда делаете кому-то замечание, давайте шанс человеку сохранить лицо⁠ ⁠

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

Приведу два примера.

1. Сосед поставил вонючий мусорный пакет в коридор. Хотелось набить ему морду и этой же мордой ткнуть его в его же вонючий мусор. Настроен я был очень решительно, но все же решил дать человеку шанс сохранить лицо. Во всех смыслах. Я постучался к нему и попросил вежливо, но очень ОЧЕНЬ твердо, чтобы он убрал свой мусор. Объяснил ему, что вонь от его мусора идёт ко мне в хату. Сосед словно удивился, увидев свой пакет. Пришел с работы уставший, хотел выкинуть мусор, поставил его за дверь, закрутился и забыл про него. Ошибку признал, мусор убрал, извинился. Нормальный оказался сосед. И не мерзавец вовсе, как сначала показалось. Прожили в добрососедских отношениях много лет.

2. Денёк был у меня ни к черту, все через жопу. Злой как собака, голодный как волк, взвинченный до предела, в дурацкой ненужной командировке в другом городе, я припарковался на парковке какого-то супермаркета. Уже собирался выходить и идти за покупками, как ко мне подошёл дедушка и так мягко, по-отечески, с улыбкой, сказал мне: «Сынок! Херово ты встал. Проход людям перегородил.» Я огляделся, и, действительно, я хоть и встал по парковочной разметке, но перегородил народную тропу. Пусть и не официальный проход, а так — дыра в ограждении парковки, но самый короткий пусть к автобусной остановке. Я улыбнулся деду в ответ, сказал: «Прости отец, не подумал!» И переставил свое ведро на другое место. И как то всю мою злобу как рукой сняло, и весь стресс куда-то испарился. Пришла бы какая-нибудь не ласковая бабка сделать мне грубое замечание, я бы наверное отреагировал тоже не ласково и машину не стал бы переставлять. Скандалить я умею и люблю. В конце концов, я припарковался «в законе» и никому ничем не обязан. Но как жеж отказать вежливому дедушке?))

Давайте множить доброту среди нас 🙂

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

Ну, а если человек действительно гнилой, плевать хотел на всех, и не ценит вежливого обращения, то тогда уж можно кричать, оскорблять, угрожать ментами и в конце концов бить 🙂 Добро должно побеждать зло, в том числе и кулаками 🙂

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

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