Русский
Русский
English
Статистика
Реклама

Цензура в интернете. Когда базовых мер недостаточно I2P

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

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

Выбирая решение, я ставил перед собой несколько целей:

  1. Решение должно быть открытым

  2. Решение должно быть бесплатным только так оно может стать массовым

  3. Решение должно быть децентрализованным не должно быть единой точки отказа

  4. Бомж-VPN. Хотелось иметь возможность соединиться с любым узлом сети забесплатно

  5. Бомж-хостинг. Следствие предыдущего пункта. Возможность выкатить тестовый ресурс забесплатно

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

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

Я начал осваивать I2P. Идея мне показалась симпатичной. Особенно интересно, что сеть не просто выдержит резкий рост числа пользователей она от этого станет работать лишь надёжнее (но это не точно). На луркеочень вдохновляющее описание возможностей, а wikiспускает с небес на Землю и даёт понять, что I2P не серебряная пуля, и атаки по деанонимизации реальность. Сложно и дорого, но реально. Для сравнения, без I2P это как по паспорту представиться и приготовиться к обыску

Возможности, ограничения и болячки

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

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

Следствия туннелей бомж-VPN и бомж-хостинг. Я счастлив я могу выкатить ресурс бесплатно. Я могу соединить 2 машины бесплатно. Любой другой участник сети может сделать всё то же самое бесплатно. Вкусно

Функционировать сеть сможет, даже если шаловливые ручки вновь потянутся к Большому Рубильнику белорусские реалии именно такие, онсуществует

Больным местом является изменение маршрутов (следовательно, dest hash). Но я надеюсь, что проблема решаема существует версия для Android, которая подразумевает переход между сетью оператора и разными точками доступа wifi, а в настройках роутера появился экспериментальный Laptop Mode

Ошибки и заблуждения

Я заметил несколько шаблонов заблуждений

Ой, мне по телевизору сказали, что в этом вашем i2p такое показывают! Это вообще законно?

Больше верьте слухам. Ничего там нет такого, чего нет в обычном интернете. I2P ставит своей целью среду передачи данных. Протоколы TCP и UDP, передают более чем 99% информации в интернете, включая незаконный контент. Давайте бороться с контентом, а не транспортом его доставки

Как интернет отключат обязательно установлю

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

Хорошо, я установил, запустил, что-то потыкал и выключил. Как только интернет выключат ух держите меня семеро! Включу I2P и всё у меня станет расчудесно!

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

Я на минуточку. Туда и назад

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

Ну и совсем кошерная остановка службы I2P это в консоли роутера нажать кнопочку Shutdown / Выключить. Демон I2P остановися сам в худшем случае через 10 минут как только истекут уже установленные соединения с другими участниками сети i2p

Кнопки Restart / Перезапуск и Shutdown / Выключить находятся на скриншоте в нижнем правом углуКнопки Restart / Перезапуск и Shutdown / Выключить находятся на скриншоте в нижнем правом углу

Установка на desktop

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

Установка шлюза

Наоффициальном сайте проекта есть список загрузок можно взять оттуда

В этом же списке присутствует секция Пакеты для Debian/Ubuntu

После установки пытаемся открытьhttp://localhost:7657/ web-консоль роутера. Настоятельно рекомендую добавить страницу в закладки или даже закрепить (Pin Tab). Если страница открылась вы всё сделали правильно

Настройка браузера. Лайт

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

В данном случае нас не пугают утечки информации. Например, сайт в сети i2p может запрашивать какой-нибудь jquery с CDN. Что такого в js-библиотеке, которую запрашивают миллионы, если не миллиарды раз в день?

Мы предполагаем, что не делаем ничего плохого, и нас не интересует сайт-приманка товарища майора Василия Мусорова с какой-то жестью, который загружает ресурсы напрямую в обход I2P или TOR по абсолютным ссылкам, выдавая ваш реальный IP-адрес. Оригинал изображения искать где-то тут: http://vasya-lozhkin.ru/pictures/. Я не нашёл =(Мы предполагаем, что не делаем ничего плохого, и нас не интересует сайт-приманка товарища майора Василия Мусорова с какой-то жестью, который загружает ресурсы напрямую в обход I2P или TOR по абсолютным ссылкам, выдавая ваш реальный IP-адрес. Оригинал изображения искать где-то тут: http://vasya-lozhkin.ru/pictures/. Я не нашёл =(

Для настройки нам потребуется дополнениеSmartProxy. Настройка производится в 2 простых шага необходимо добавить входной шлюз I2P в список proxy-серверов и создать правило проксирования

Добавляем входной шлюз I2P в список proxy-серверовДобавляем входной шлюз I2P в список proxy-серверовСоздаём правила проксирования для i2p-сайтовСоздаём правила проксирования для i2p-сайтов

Настройка браузера. Для любителей пожёстче

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

У меня нет лишнего браузера в системе, чтобы полностью выделить его под I2P. Воспользуюсь уже установленным firefox. Следующий вариант работает в Linux:

FIREFOX_PROFILE="firefox-i2p"FIREFOX_HOME="${HOME}/${FIREFOX_PROFILE}"mkdir -p "$FIREFOX_HOME"env HOME="$FIREFOX_HOME" firefox

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

У меня нет ни одной машины с Windows и MacOS. В комментариях, пожалуйста, расскажите, как сделать похожий финт ушами в Windows. А в MacOS этот фокус должен сработать, но я не тестировал

Открываем настройки и находим Network Settings / Настройки СетиОткрываем настройки и находим Network Settings / Настройки СетиИ указываем входной шлюз I2PИ указываем входной шлюз I2P

Установка на Android

Суть ровно та же, но инструменты немного другие

Установка шлюза

На всё той жестранице загрузок есть секция Android

Секция загрузок для AndroidСекция загрузок для Android

Настройка браузера. Лайт

Находим в менеджере дополнений FoxyProxy и устанавливаемНаходим в менеджере дополнений FoxyProxy и устанавливаемПереходим в его настройки, нажимаем ДобавитьПереходим в его настройки, нажимаем ДобавитьУказываем адрес шлюза, листаем вниз и жмём СохранитьУказываем адрес шлюза, листаем вниз и жмём СохранитьИ добавляем шаблон для всего домена i2pИ добавляем шаблон для всего домена i2pВ настройках FoxyProxy убеждаемся, что он включенВ настройках FoxyProxy убеждаемся, что он включен

Рецепты по настройке

Я расскажу про несколько опциональных шагов

DNS-over-HTTPS

Для тех, что не читалпредыдущую статью: необходимо добавитьi2p иonion в исключения. Иначе браузер будет пытаться резолвить эти домены на Cloudflare с предсказуемым результатом

I2P + uBlock Origin

Мы умеем учиться на ошибках, поэтому добавим в исключения зоны i2p и onion, таким образом полностью отключив блокировщик рекламы для всех ресурсов i2p и onion

Открываем настройки uBlock OriginОткрываем настройки uBlock OriginДобавляем в uBlock Origin исключения для доменов i2p и onionДобавляем в uBlock Origin исключения для доменов i2p и onion

Стало лучше, чем было, но не идеально теряется контроль над загрузкой стороннего контента (3rd party). Хотелось бы только отключить резолв имён i2p и onion

Дополнительные подписки

В список подписок есть смысл добавить адреса:

  1. http://identiguy.i2p/hosts.txt

  2. http://inr.i2p/export/alive-hosts.txt

  3. http://stats.i2p/cgi-bin/newhosts.txt

Покорми java памятью

Входной шлюз I2P написан на языке java. По умолчанию он стартует с ограничением в 128M. Этого хватит для знакомства и неспешного погружения в дивный новый мир невидимого интернета. Больше всего памяти потребляет компонент NetDB база данных о других хостах сети I2P. Чем их больше известно, тем выше надёжность и тем выше вероятность, что в час Ч, когда интернет снова сдохнет, Вам таки удастся найти лазейку доступный хост из списка известных. Правда, гарантий никаких

В случае Ubuntu/Debian:

sudo dpkg-reconfigure i2p

Как это сделать для Windows я не знаю и очень надеюсь на комментарии

Когда нельзя открыть порт меньше 1024, но очень хочется, то можно

Очень спорный рецепт. В общем случае, так делать не надо. Но если очень хочется, то можно. Я проделал это для прощупывания возможностей I2P. То есть just for fun

Приключения начались с вопроса так где же java?

which java | xargs file --mime-type/usr/bin/java: inode/symlink

Окей

which java | xargs readlink | xargs file --mime-type/etc/alternatives/java: inode/symlink

Больше симлинков богу симлинков!

which java | xargs readlink | xargs readlink | xargs file --mime-type/usr/lib/jvm/java-11-openjdk-amd64/bin/java: application/x-pie-executable

Следует понимать, что конфигурация у меня может не совпадать с конфигурацией у Вас. Идея проста добавлять в середину секцию xargs readlink до наступления просветления пока file не скажет application/x-pie-executable. Как только java нашлась из получившейся команды удаляем 2 последних слова file --mime-type, например, нажав ^W дважды, и вместо этого добавляем setcap 'cap_net_bind_service=+ep':

which java | xargs readlink | xargs readlink | xargs setcap 'cap_net_bind_service=+ep'

Возможно, потребуется добавить также возможность открытия сырого сокета setcap 'cap_net_raw=+ep':

which java | xargs readlink | xargs readlink | xargs setcap 'cap_net_raw=+ep'

Но в следующий раз я просто разверну docker с nginx

А что ещё там есть?

Очень рекомендую почитатьрусскоязычную wiki и полистать спискиidentiguy

Внезапно web-версия telegram. Правда, я понятия не имею, знает ли про это зеркало администрация telegram. Впрочем, через выходную ноду можно достучатсья и до оригиналаВнезапно web-версия telegram. Правда, я понятия не имею, знает ли про это зеркало администрация telegram. Впрочем, через выходную ноду можно достучатсья и до оригинала

А ещё естьтелеграмовские MTProto прокси. Идея сводится к созданию туннелей на указанные i2p-хосты. Инструкция на сайте

Ещё есть торренты и почта. Ничего из этого я ещё не пробовал использовать

Находилфлибусту иebooks.i2p последний выглядит вообще дорого-богато

Вместо заключения

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

Я ни слова не сказал проi2pd. Проект достоин внимания: он производительнее и при меньшем потреблении ресурсов. Пока что у меня нет экспертизы

Источник: habr.com
К списку статей
Опубликовано: 28.02.2021 12:13:00
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Децентрализованные сети

Сетевые технологии

I2p

Браузеры

Законодательство в it

Цензура

Vpn

Сети

Даркнет

Децентрализация

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru