Руководство пользователя Censorship.no!

Это руководство предназначено для пользователей Браузера CENO и связанных технологий, созданных для проекта Censorship.no! компании eQualitie.

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

Введение

Интернет и Всемирная паутина становятся все более важными для людей во всем мире как источник всевозможной информации и как способ осуществления фундаментальных прав человека. В то же время, в последние годы наблюдается рост всех видов сетевой цензуры и других видов сетевого вмешательства (см. отчеты OONI, Magma, Censored Planet), как со стороны частных, так и государственных структур.

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

Появление сетей доставки содержимого (или CDN; например, коммерческие Akamai и Cloudflare или ориентированная на гражданское общество Deflect) сняло часть нагрузки с этих веб-серверов, распределив копии содержимого по центрам обработки данных по всему миру, чтобы оно было ближе к вашим устройствам и, следовательно, быстрее доступно, в то время как исходные серверы становятся защищены от прямого доступа. Однако в настоящее время CDN-серверы (и, соответственно, организации, которые ими управляют) должны пользоваться доверием как исходного сервера, так и ваших устройств, а также должны быть доступны в любое время.

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

Именно здесь в игру вступают Браузер CENO и Ouinet. В этой главе мы познакомим вас с ними.

Что такое Браузер CENO?

CENO (сокращенно от Censorship.no!) — это веб-браузер для мобильных устройств Android (таких, как смартфоны и планшеты), который использует новый способ обхода интернет-цензуры и обмена загружаемым контентом среди всех пользователей в пиринговой (P2P) сети. Это снижает общую зависимость от международных централизованных серверов и позволяет часто запрашиваемому веб-контенту сохраняться в сети даже во время жесткой фильтрации и регулирования.

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

Браузер CENO основан на адаптированной версии Firefox для Android — популярного, современного, многофункционального и безопасного браузера с открытым исходным кодом. CENO расширяет Firefox с помощью технологии Ouinet, позволяющей обмениваться контентом между устройствами (описано в следующих разделах).

Кем разрабатывается CENO?

Проект Censorship.no! управляется компанией eQualitie в поддержку статей 18, 19 и 20 Всеобщей декларации прав человека. CENO и связанные с ним технологии разработаны как бесплатное программное обеспечение с открытым исходным кодом (исходный код проекта), что позволяет кому угодно использовать, изучать, распространять и улучшать его. Свяжитесь с нами по адресу cenoers@equalit.ie, если у вас есть сомнения или нужна дополнительная информация.

Для кого он предназначен?

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

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

В то же время, CENO может потреблять больше интернет-трафика, чем обычный веб-браузер, поскольку он должен сообщать другим пользователям, какой веб-контент распространяет, и, возможно, доставлять этот контент тем, кто его запрашивает. Таким образом, CENO полагается на умеренно стабильное соединение внутри страны. Мы рекомендуем использовать CENO через Wi-Fi не только для того, чтобы избежать растраты мобильного трафика (если ваш трафик ограничен), но и для увеличения шансов доставить веб-контент другим пользователям.

Внимание: CENO не является анонимайзером. Фактически, использование CENO может позволить другим узнать, запрашивали ли вы (и распространяете ли вы) определенный веб-контент. Пожалуйста, внимательно изучите, какие риски вы принимаете на себя, используя этот инструмент. Для получения дополнительной информации ознакомьтесь с разделами публичный и приватный просмотр страниц и риски.

Что такое Ouinet?

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

Ouinet основан на изобретательном сочетании существующих технологий для реализации своего функционала: поиск других участников осуществляется с помощью методов, пришедших из обмена файлами (распределенные хэш-таблицы BitTorrent), для связи с ними используются стандартные протоколы как Web, так и файлообмена (прокси-запросы HTTP и µTP BitTorrent), а отраслевые стандарты обеспечивают безопасность связи и подлинность контента (шифрование TLS и подписи Ed25519). Ouinet позволяет при необходимости заменять одни технологии другими (например, в некоторых случаях µTP можно заменить на подключаемые транспорты Tor).

На мобильных устройствах Ouinet может быть встроен в приложения (как библиотека Android). На компьютерах он может использоваться обычными веб-клиентами, такими как браузеры (как локальный HTTP-прокси).

Как и браузер CENO, Ouinet разработан компанией eQualitie как свободное и бесплатное программное обеспечение с открытым исходным кодом.

Для кого он предназначен?

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

Обратите внимание, что Ouinet — это развивающийся экспериментальный проект: в определенных случаях некоторые функции могут работать недостаточно стабильно; также могут встречаться ошибки и происходить сбои. Мы просим вас связаться с нами по адресу cenoers@equalit.ie и сообщить о вашем опыте — будем рады вашим отзывам!

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

Краткое руководство

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

Как начать

Вам потребуется устройство Android:

  1. Установите Браузер CENO из Google Play, GitHub или Paskoocheh. Никаких специальных разрешений не требуется.
  2. Запустите его.
  3. Просматривайте страницы как обычно, чтобы помочь другим пользователям получить к ним доступ; если вас беспокоит конфиденциальность какой-то страницы или если она загружается не так, как ожидалось, используйте приватную вкладку (см. раздел публичного и приватного просмотра страниц).
  4. Нажмите на уведомление CENO, чтобы полностью остановить его.

Подробные инструкции по установке находятся здесь.

Настройка

Браузер CENO должен работать «из коробки». Вы можете найти некоторые диагностики и настройки под пунктом меню CENO.

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

Другие вопросы?

Часто задаваемые вопросы

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

Может ли Браузер CENO заменить мой текущий браузер (Chrome/Firefox/Safari)?

Краткий ответ: да, по крайней мере, для обычного просмотра страниц.

Поскольку CENO основан на базе Mozilla Firefox для Android, он предоставляет все функции, которые должны присутствовать в современном браузере. В то же время, его зависимость от технологии Ouinet для получения веб-контента может повлиять на его работу в тонких аспектах (некоторые из них могут повлиять на вашу конфиденциальность).

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

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

Могу ли я использовать Браузер CENO для доступа к Twitter, Facebook и Gmail?

Краткий ответ: да, используя приватные вкладки.

Хотя CENO и старается предоставить пользователю опыт, максимально похожий на обычный просмотр веб-страниц, некоторые из методов, используемых для преодоления цензуры и вмешательства в интернет-соединение, не совсем корректно работают с подобными динамическими сайтами. Это относится к режиму работы CENO по умолчанию (т.е. публичный просмотр), поскольку он удаляет все частные данные (такие как пароли и файлы cookie) из интернет-трафика, чтобы исключить их утечку другим пользователям CENO или Ouinet.

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

Более подробную информацию можно найти в разделе о различиях между публичным и приватным просмотром.

Конфиденциальность и безопасность

Будет ли мое устройство хранить контент, который не был запрошен мной?

Краткий ответ: нет.

CENO распространяет только контент, который вы запросили (используя публичный просмотр страниц).

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

Подробнее о том, как ваш Браузер CENO получает веб-контент и распространяет его другим пользователям, прочтите здесь.

Может ли кто-нибудь определить, использую ли я Браузер CENO для доступа к сайтам, подвергающимся цензуре?

Краткий ответ: да, при наличии определенных технических знаний и ресурсов.

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

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

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

Много ли трафика потребляет Браузер CENO?

Краткий ответ: больше, чем обычный браузер.

Каждый раз, когда ваш Браузер CENO раздает контент другим пользователям или передает их контент, он потребляет дополнительный трафик, зависящий от таких факторов, как популярность или объем контента, а также от того, насколько надежно подключено ваше устройство. Чем больше контента вы раздаете, тем выше дополнительные расходы.

Несмотря на то, что CENO использует гораздо меньше ресурсов, чем другие приложения для обмена данными, это все равно может привести к увеличению потребления данных и повышению расходов. Мы рекомендуем следить за потреблением трафика приложением (в настройках Android) и использовать CENO через Wi-Fi вместо мобильного интернета.

Сильно ли Браузер CENO сажает батарею?

Краткий ответ: больше, чем обычный браузер.

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

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

Нужно ли мне подключаться к Wi-Fi для использования Браузера CENO?

Краткий ответ: нет, но мы настоятельно рекомендуем это сделать.

Хотя CENO должен нормально работать по мобильному интернету, есть две причины, по которым мы рекомендуем использовать Wi-Fi соединение:

  1. CENO расходует дополнительный трафик, что может привести к повышению расходов на мобильную связь (см. выше).
  2. При мобильном подключении соединиться с вашим устройством скорее всего будет намного сложнее, чем при подключении к Wi-Fi, что снижает вероятность того, что вы сможете помочь другим пользователям получить контент.

Основные понятия

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

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

Как это работает?

В этом разделе мы объясним работу CENO и Ouinet, рассмотрев ряд сценариев. Терминология и понятия, важные для Ouinet, будут введены (выделены жирными буквами) и использованы в дальнейшем для эффективности и во избежание путаницы.

Прямой доступ к контенту

Браузер CENO является примером приложения, использующего технологию Ouinet для получения и обмена веб-контентом. Мы называем такое приложение клиентом Ouinet. Когда вы используете свой клиент (т.е. CENO) для доступа к некоторому контенту X, размещенному на веб-сервере (который мы будем называть исходным сервером X), ваш клиент пытается связаться с исходным сервером через Интернет либо напрямую, либо через какой-то другой компьютер, настроенный для связи с веб-серверами от имени других (так называемый прокси сервер), а затем запрашивает нужный контент. Это ничем не отличается от того, как работает любой обычный веб-браузер.

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

Однако эти прямые пути могут быть недоступны. Например, ваш интернет-провайдер (ISP) может блокировать доступ к исходному серверу X или прокси из-за государственного распоряжения (даже если другой трафик все еще разрешен). Как пользователь левого верхнего клиента, изображенного ниже, обе попытки получить доступ к содержимому X (маленький документ рядом с исходным сервером) для вас будут неудачными. Вы также можете заметить на диаграмме узел "инъектор". Мы объясним это чуть позже.

Рисунок: Клиент не может получить доступ к контенту напрямую

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

Поиск общего контента

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

В любом веб-браузере для доступа к контенту X необходимо знать его Унифицированный указатель ресурса (URL), то есть адрес в адресной строке браузера, например, https://example.com/foo/x. Из этого URL обычный браузер сделает вывод, что он должен связаться с веб-сервером под названием example.com, используя протокол HTTP (язык, используемый для обмена веб-ресурсами) через SSL/TLS (уровень безопасности в TCP, правилах интернета для общения программ друг с другом) и запросить ресурс /foo/x.

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

Техническое примечание: Один из способов реализации индекса — использование распределённой хэш-таблицы протокола BitTorrent (DHT) для получения адресов (IP и порта) клиентов с контентом. DHT использует криптографическую хеш-функцию для вычисления ключа таблицы из URL контента и некоторых других параметров в качестве ключа инъектора (см. ниже), так что несколько индексов могут сосуществовать.

Кроме того, Браузер CENO не анонсирует URL каждого ресурса, который он раздает: учитывая наличие на любой современной странице десятков или сотен компонентов (изображений, таблиц стилей, скриптов...), это создало бы большой трафик. Вместо этого ресурсы группируются в URL страницы, на которой они находятся, и объявляется только этот URL. Это делается с помощью расширения браузера ad hoc (описано ниже).

Клиенты, предлагающие определенный контент через распределенный кэш, называются раздающими контент или сидами (эти термины пришли из мира P2P-файлообмена). Возвращаясь к нашему примеру, можно сказать, что есть два клиента, раздающих некоторый контент. К сожалению, один из них выкладывает контент Y, а другой — контент Z, поэтому ваш клиент не найдет записей для контента X в индексе распределенного кэша, как показано ниже:

Рисунок: Контент не найден в распределенном кэше

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

Обмен новым контентом

Прокси на стероидах

В Ouinet существуют специальные виды прокси-серверов, называемые инъекторами, которые находятся в (будем надеяться) свободной части интернета и стараются оставаться доступными, несмотря на меры блокировки:

  • Во-первых, соединения между клиентами и инъекторами шифруются (с использованием стандартного SSL/TLS, как в HTTPS), чтобы злоумышленники не смогли идентифицировать инъекторов путем прослушки веб-трафика.Кстати, сертификаты инъекторов поставляются в Браузере CENO, что позволяет ему обнаруживать злоумышленников, пытающихся выдать себя за инъекторов.

  • Если шифрования недостаточно, соединения с инъекторами могут использовать специальные методы обфускации (например, I2P и подключаемые транспорты Tor), чтобы еще больше затруднить идентификацию.

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

    • Некоторые — или даже все — инъекторы могут быть заблокированы, но тогда группа инъекторов может меняться с течением времени (с добавлением новых).Вашему клиенту не нужно заранее знать их интернет-адреса; вместо этого он выполняет поиск в рое инъекторов (еще один термин из P2P-файлообмена), распределенном индексе, похожем на индекс распределенного кэша, который выдает адреса доступных в данный момент инъекторов.

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

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

Инъектор может вести себя как обычный прокси-сервер (но с повышенной доступностью), и это именно то, что клиенты Ouinet (включая CENO Browser) делают в настоящее время при попытке получить доступ к контенту через прокси. В этом случае инъектор не будет видеть фактическую информацию, проходящую между вашим клиентом и исходным сервером (если только это не обычное, незашифрованное HTTP-соединение).

Но существуют другие инструменты, позволяющие достигать прокси-серверов в условиях жесткого сетевого вмешательства, так что же особенного в инъекторах Ouinet?

Доверие к общему контенту

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

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

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

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

У разных инъекторов могут быть разные ключи, поэтому вы можете выбирать, каким инъекторам доверять. Представьте это так: вы можете доверять документу, подписанному нотариусом из вашей страны, независимо от того, кто вам его выдал (гражданин или иностранец), но вы не обязаны принимать документ, подписанный нотариусом из другой страны. Браузер CENO уже настроен на доверие к набору инъекторов под управлением eQualitie.

Техническое примечание: Инъекторы используют пару из открытого и закрытого ключей для создания подписей Ed25519; открытые ключи достаточно малы, чтобы их можно было пересылать вместе с подписями, и кодируются в виде 64 шестнадцатеричных символов или 52 символов Base32. Ими можно даже обменяться по телефону или записать на листе бумаги.

Инъекция контента

Помните, что в нашем примере клиент уже пытался получить контент X непосредственно с исходного сервера и от других клиентов, но безуспешно. Клиент разыгрывает свою последнюю карту Ouinet и пытается связаться с доверенным инъектором, чтобы получить подписанную копию контента, которой он может поделиться с другими клиентами.

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

Рисунок: Клиент обращается к инъектору

Когда инъектор получает контент X, он подписывает его своим ключом, добавляет подпись к контенту и отправляет его обратно вашему клиенту через туннель, по которому он пришел (скажем, через клиента, сидящего за пределами блокировки). Как только содержимое достигает вашего клиента, он делает три вещи:

  1. Он передает его вам (в случае с CENO он показывает контент в браузере).
  2. Он сохраняет контент на вашем устройстве для последующей передачи другим клиентам. Он будет храниться там в течение настраиваемого периода времени или до тех пор, пока вы не решите очистить весь сохраненный контент.
  3. Он объявляет в индексе распределенного кэша, что у него есть копия этого контента, чтобы другие клиенты могли его найти.

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

Рисунок: Клиент получает подписанный контент от инъектора

Просмотр страниц при полной блокировке

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

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

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

Рисунок: Клиент получает подписанный контент от клиента

Теперь второе устройство также имеет копию контента X, поэтому оно объявляет об этом в индексе распределенного кэша, становясь таким образом раздающим. Если третье лицо, заинтересованное в этом контенте, использует Браузер CENO для его получения, CENO теперь будет видеть два адреса в индексе для контента: адрес вашего устройства и адрес второго пользователя. Если контент тяжелый (например, видео), это третье устройство может попытаться получить его половину с каждого из других устройств (как показано ниже), тем самым ускоряя загрузку и уменьшая используемый ими трафик.

Рисунок: Клиент получает подписанный контент от нескольких клиентов

Наконец, ситуация может стать еще хуже, и вся коммерческая и государственная сетевая инфраструктура может быть отключена. В этом случае Ouinet и CENO Browser также поддерживают обмен контентом между двумя клиентами, находящимися в одной локальной сети (например, подключенными к одной точке доступа Wi-Fi), даже если эта сеть не имеет доступа к другим.

Публичный и приватный просмотр

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

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

  1. Пытается получить доступ напрямую.
  2. Если не вышло, выполняется поиск в распределенном кэше.
  3. Если не вышло, содержимое запрашивается через инжектор (возможно, через другого пользователя).

CENO также имеет режим приватного просмотра. В нем распределенный кэш никогда не просматривается и попытки инъекции не предпринимаются:

  1. Пытается получить доступ напрямую.
  2. Если не вышло, инъектор (возможно, через другого пользователя) используется как обычный прокси-сервер. Обратите внимание, что в этом случае ни инъектор, ни ваш клиент не загружают вашу страницу в распределенный кэш.

Разное поведение в этих режимах приводит к разным результатам. Так, в публичном режиме:

  1. У вас больше шансов получить веб-контент и помочь другим получить этот контент (от вас).
  2. Страницы с динамическим контентом (например, обновляемым в реальном времени) могут сбоить как очевидным, так и малозаметным образом.
  3. Страницы, требующие аутентификации, не работают (так как пароли и cookies удаляются клиентом).
  4. Некоторые ваши действия в браузере могут стать известны другим пользователям (см. риски).
  5. Некоторые ваши действия в браузере могут стать известны инъекторам (см. риски).
  6. Вам придется доверять инъекторам получение и подписывание веб-контента.

В режиме приватного просмотра:

  1. Вы не сможете получить доступ к заблокированному веб-содержимому, если международное подключение слишком ограничено; даже если вы сможете, другие пользователи CENO не смогут получить это содержимое от вас.
  2. Страницы с динамическим контентом, вероятно, будут работать.
  3. Страницы, требующие аутентификации, могут работать (когда ваше соединение защищено HTTPS, инъектор не видит ваши пароли).
  4. Ваши действия в браузере не видны другим пользователям.
  5. Инъекторам передается ограниченная информация о просмотре веб-страниц (при использовании HTTPS — только имя или адрес исходного сервера).
  6. Вам не нужно доверять инъекторам (при использовании HTTPS действует стандартная защита на основе сертификатов).

В итоге: если вы используете CENO для чтения новостей, просмотра видео, просмотра Википедии и других статических ресурсов, которые подвергаются цензуре в вашей сети, используйте режим публичный просмотр по умолчанию. А если вы хотите войти в Twitter или отредактировать свой сайт WordPress, используйте режим приватного просмотра.

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

Преимущества использования CENO/Ouinet

Основные преимущества использования CENO и Ouinet перед другими технологиями обхода обусловлены взаимодействием клиентов и инъекторов для пересылки трафика друг другу, подписания содержимого для последующей проверки и хранения подписанного содержимого для передачи другим пользователям. Стоит отметить следующие преимущества:

  • Привычное использование: Доступ к веб-контенту с помощью Браузера CENO ощущается как просмотр веб-страниц в привычном браузере, даже при полной блокировке. Нет необходимости в новых ссылках на популярный контент или специальных действиях со стороны пользователя (например, передача файлов между приложениями).

    • Увеличение доступности контента: Ouinet способен эффективно и надежно предоставлять контент в условиях сильных сетевых помех и вмешательства. Чем популярнее становится определенный контент, тем больше его копий рассылается клиентами CENO/Ouinet и тем доступнее он становится.Подписанный контент может быть доставлен пользователям в полностью отключенной зоне с помощью автономных средств (например, USB-накопителя) и таким образом стать доступным для других клиентов.
  • Ускоренный просмотр: Поскольку ваш клиент может одновременно получать различные части одного и того же контента от разных клиентов, нагрузка по доставке контента распределяется между различными сетями и устройствами, что позволяет избежать перегрузки путей к одному клиенту (особенно при доставке больших ресурсов, таких как видео). Это полезно не только при ограничении доступа к интернету в других странах, но и для издателей, чтобы избежать скачков использования ресурсов на исходных серверах, когда некоторые из их материалов становятся очень популярными (так называемый Слешдот-эффект).

  • Экономный просмотр: Контент, популярный в определенном регионе, обычно копируется клиентами CENO/Ouinet в этом регионе, даже если исходный сервер находится за границей. Если вы заинтересованы в этом контенте, ваш клиент, вероятно, получит его от какого-то другого клиента в вашем регионе. В некоторых странах, где международный трафик дороже местного (например, при наличии национальных внутренних сетей), это может реально сэкономить ваши деньги.

Риски при использовании CENO/Ouinet

Как и с любой достаточно сложной системой, а особенно такой новаторской, использование Браузера CENO (и вообще любого клиента Ouinet) не обойдётся без некоторых рисков. В этом разделе мы соберем и опишем их, чтобы помочь вам понять их последствия в зависимости от различных ролей, которые вы можете играть при использовании CENO:

  • как пользователь, просматривающий веб-сайты
  • как раздающий, распространяющий страницы, которые вы ранее посещали, через распределенный кэш
  • как мост, позволяющий другим пользователям получить доступ к инъектору

Как пользователь

Могут ли мосты видеть данные, полученные с исходного сервера (или переданные на него)?

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

Могут ли инъекторы видеть данные, полученные с исходного сервера (или переданные на него)?

И да, и нет. Когда пользователь запрашивает контент [в режиме публичного просмотра] (public-private.md), все личные данные (такие как пароли и cookies) сначала удаляются из запроса клиентом, и только затем запрос шифруется и передается инъектору, который приступает к его расшифровке.

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

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

Могут ли инъекторы видеть мой IP-адрес?

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

Могут ли мои личные данные просочиться в распределенный кэш?

Надеемся, что нет. Как упоминалось выше, Браузер CENO изо всех сил старается удалить любые личные данные (пароли, куки...) из любого запроса на инъекцию. Кроме того, инъектор не раздает данные сам; фактически, его единственная цель — подписать содержимое, чтобы клиенты Ouinet могли его раздавать. Это означает, что когда контент возвращается к клиенту, он подвергается дальнейшему анализу, и если исходный сервер указал, что контент имеет приватный характер, CENO не будет раздавать его.

Тем не менее, могут быть случаи плохо сделанных или вредоносных страниц, которые могут собирать некоторую информацию о вас (например, адрес электронной почты в форме или цифровой «отпечаток» браузера с помощью JavaScript) и помещать ее в URL другой ссылки как обычные компоненты адреса (например, http://example.com/subscribe/you@example.org). Если вы подозреваете, что страница может делать это, лучше перестраховаться и использовать для нее приватный просмотр.

Может ли исходный сервер узнать, использую ли я CENO?

Скорее всего, нет. Каждый раз, когда CENO напрямую связывается с исходным сервером, он ведет себя как обычный Firefox для Android, поэтому на вашем конкретном устройстве отображается как обычное приложение Firefox той же версии.

Однако, когда он использует инъектор для получения некоторого содержимого со своего исходного сервера, у последнего есть (по крайней мере) два способа узнать, что в этом участвует CENO или Ouinet:

  1. IP-адрес соединения с исходным сервером является адресом одного из инъекторов (поскольку соединение действительно исходит от инъектора);
  2. Наличие или отсутствие определенной информации в запросе на получение контента может характеризовать запрос как пришедший от Ouinet. Это происходит, когда инъектор запрашивает содержимое, потому что ваш клиент попросил его получить и подписать этот контент, поскольку инъектор удаляет из запроса информацию, уникальную для вашего конкретного устройства.

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

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

Раздача контента

Какие данные раздаются с моего устройства?

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

Может ли кто-нибудь узнать, что я раздаю?

И да, и нет. Любой, кто достаточно хорошо разбирается в работе Ouinet, может создать инструмент для выяснения того, с каких IP-адресов распространяется определенный контент (как в случае с BitTorrent). Однако невозможно определить конкретный IP-адрес и получить список всего контента, рассылаемого клиентами, находящимися за ним.

Работа мостов

Могут ли другие узнать мой IP-адрес?

Да, каждый Браузер CENO, способный общаться с инъекторами, регистрирует свой IP-адрес в «рое» мостов, где другие клиенты Ouinet могут их найти.

Возможно ли, что я помогаю кому-то получить доступ к контенту, который является незаконным в моей стране?

Да. Однако мосты передают только зашифрованную связь между клиентом Ouinet и инъектором. Это означает, что мост никогда не должен делать прямых запросов на контент к любому другому серверу от чужого имени.

Использование Браузера CENO

В этой главе приведены некоторые рекомендации по использованию Браузера CENO в части его возможностей, связанных с Ouinet. Пожалуйста, всегда помните, что CENO основан на Firefox для Android, поэтому по всем вопросам, касающимся общих тем просмотра веб-страниц, вам следует руководствоваться страницами Mozilla Firefox for Android Support.

Периодически для иллюстрации приводятся снимки экрана. Обратите внимание, что они могут немного отличаться от того, что вы видите на своем устройстве, особенно по мере развития CENO. Данная документация актуальна для версии CENO 1.0.2.

Если ваше приложение демонстрирует поведение, существенно отличающееся от описанного здесь, не стесняйтесь связаться с нами по адресу cenoers@equalit.ie и сообщить о проблеме.

Установка CENO

Браузер CENO можно установить следующими способами:

  • Google Play (Браузер CENO от eQualitie): рекомендуемый источник для большинства пользователей Android.
  • GitHub: для устройств Android без Google Play.
  • Paskoocheh: для пользователей в странах, блокирующих доступ к предыдущим каналам.

Для запуска CENO не требуется никаких дополнительных разрешений.

Внимание: Пожалуйста, будьте крайне осторожны при установке Браузера CENO из любых источников, кроме перечисленных выше. Из-за характера приложения, потенциальные пользователи могут стать мишенью для всевозможных поддельных или манипулируемых версий, используемых для нарушения конфиденциальности пользователя или атаки на других пользователей CENO и Ouinet. Если вы сомневаетесь, пожалуйста, свяжитесь с cenoers@equalit.ie перед установкой подозрительного приложения.

Полная остановка CENO

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

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

Рисунок: Нажатие на уведомление для остановки службы CENO

Очистка всех данных CENO («тревожная кнопка»)

Уведомление службы Браузера CENO, показанное выше, включает в себя несколько сопутствующих действий, которые можно вызвать, нажав на них. Действие Домой просто откроет CENO с новой вкладкой публичного просмотра, показывающей его главную страницу. Действие Стереть требует более подробного объяснения.

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

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

Рисунок: Последнее действие останавливает CENO и очищает все его данные

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

Если не нажать на кнопку действия, оно исчезнет через несколько секунд.

Примечание: Описанный выше метод требует, чтобы CENO был запущен на вашем устройстве. Для достижения того же эффекта, когда CENO остановлен, вы можете использовать общую страницу Android Настройки и в разделе Приложения выбрать CENO, а затем Очистить данные.

В качестве более жесткой альтернативы вы можете полностью удалить приложение.

Внимание: Android может сохранять другие следы использования приложения помимо данных, например, в системном журнале.

Использование публичного или приватного просмотра

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

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

Вы можете легко отличить публичные вкладки от приватных: публичные вкладки имеют более светлую (или белую) панель инструментов:

Рисунок: Вкладка публичного просмотра

Частные вкладки имеют более темную панель инструментов:

Рисунок: Вкладка приватного просмотра

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

Настройки CENO

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

Техническое примечание: Эти параметры предоставляются расширением CENO — расширением Firefox, которое устанавливается вместе с CENO и обеспечивает интеграцию с Ouinet. Например, оно позволяет делиться контентом и получать его из общего кэша при публичном просмотре, подсказывает пользователю источник отображаемого контента и уведомляет о новых версиях Ouinet.

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

Рисунок: Страница настроек CENO

Выбор вариантов доступа

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

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

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

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

  • Через приватную сеть CENO (или прокси-доступ) позволяет CENO использовать инъекторы в качестве обычных прокси-серверов HTTP для доступа к исходным серверам.Этот механизм работает только в режиме приватного просмотра.

При доступе к контенту по HTTPS расшифровать трафик смогут только исходные серверы. При использовании обычного HTTP инъектор также может видеть незашифрованный трафик (но он все равно не должен подписывать или передавать контент другим). Другие участники, такие как мосты, никогда не увидят незашифрованный трафик.

  • Через публичную сеть CENO (или доступ через инъектор) позволяет CENO удалять личную информацию из запросов и отправлять их инъектору. Инъектор получает контент с исходного сервера, подписывает его и отправляет обратно CENO, который затем начинает его раздавать.Другие участники (например, мосты) не увидят незашифрованный трафик.

Эта схема работает только в режиме публичного просмотра.

  • Предоставлено другими пользователями CENO позволяет CENO пытаться извлечь контент из распределенного кэша, т.е. от других клиентов CENO и Ouinet, передающих его.Эта схема работает только в режиме публичного просмотра.

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

Рисунок: Неверные настройки для приватного просмотра

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

О вашем приложении

На этой странице также представлена информация о приложении CENO Browser и клиенте Ouinet:

  • Браузер CENO указывает точную версию CENO, которую вы используете. Пожалуйста, указывайте эту информацию в своих отчётах о неполадках.
  • Расширение CENO показывает версию расширения, которое интегрирует Firefox с CENO. Также включайте в отчетах.
  • Ouinet показывает версию Ouinet, установленную в CENO. Также включайте в отчетах.
  • Протокол Ouinet — номер версии протокола, который CENO использует для общения с другими клиентами Ouinet и инъекторами. Также включайте в отчетах.
  • Локальные конечные точки UDP - это интернет-адреса, используемые CENO для передачи подписанного контента другим клиентам. Они показаны для тестирования и отладки приложения и раскрывать эти данные не нужно.
  • Статус UPnP показывает, смог ли CENO запросить у вашего роутера или точки доступа разрешение на входящие подключения к нему. Также включается в отчеты.
  • Состояние доступности показывает, насколько вероятно, что ваше устройство сможет эффективно передавать контент другим клиентам. Также включается в отчеты.
  • Размер локального кэша показывает приблизительный объем памяти, занимаемый содержимым, загружаемым из локального кэша вашего устройства.
  • Контент, предоставленный вами позволяет проверить содержимое, которое раздает ваше устройство.

Очистка локального кэша

Рядом со значением Размер локального кэша, описанным выше, находится кнопка, позволяющая остановить раздачу и сбросить все содержимое, передаваемое вашим устройством через Ouinet. Это позволит вам освободить место в памяти вашего устройства, сохранив при этом другие настройки CENO, такие как Избранное.

Если вы хотите очистить обычный кэш браузера CENO (тот, который используется браузером, но не передается другим пользователям) или другие элементы, такие как cookies, история просмотров или избранное, вам следует выбрать Настройки в главном меню приложения, затем Очистить личные данные. Вам будет предложено указать, какие элементы вы хотите очистить.

Чтобы сбросить все данные сразу (особенно если вы торопитесь), узнайте, как использовать функцию "тревожной кнопки", описанную в разделе Установка CENO.

Сбор сообщений журнала

В нижней части страницы есть флажок Включить файл журнала, который позволяет собирать все внутренние сообщения Ouinet и загружать их в файл. Это следует использовать только при диагностике какой-либо неполадки в CENO; просто выполните следующие шаги:

  1. На странице Настройки CENO отметьте Включить файл журнала.
  2. Вернитесь к просмотру и выполните любые действия, которые вызывают проблемное поведение.
  3. Вернитесь на страницу Настройки CENO и нажмите на ссылку Скачать рядом с флажком Включить файл журнала. Сохраните файл для последующего использования. На этом этапе Android может спросить вас, разрешить ли CENO доступ к файловой системе: это необходимо для сохранения файла.
  4. Снимите флажок Включить файл журнала, чтобы избежать чрезмерного роста объема файла.

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

Проверка браузера

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

Для выполнения всех приведенных ниже тестов вам потребуется как минимум два устройства, подключенных к одной и той же сети Wi-Fi, и одно, подключенное к другой сети.

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

Доступ к инъектору

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

На первом устройстве выполните следующие действия:

  1. Прежде всего, установите CENO и запустите его. Появится его главная страница.
  2. Откройте главное меню приложения и выберите CENO, чтобы открыть страницу Настройки CENO. Поскольку мы хотим проверить только доступ к инъектору, снимите флажки с источников контента, кроме В публичной сети CENO.
  3. Вернитесь на домашнюю страницу CENO. Либо выберите один из рекомендованных веб-сайтов, либо введите URL-адрес другого сайта в адресной строке в верхней части окна. Если вы знаете сайт, который обычно для вас заблокирован, введите его!
  4. В итоге должен отобразиться нужный сайт.

Примечание: Если вместо нужной страницы вы получили подложную (например, страницу блокировки), используйте https:// (вместо http://) при вводе URL сайта в адресной строке и повторите тест.

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

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

Рисунок: Источники, используемые при тестировании инъекций

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

Рисунок: Источники, используемые при приватном просмотре

Получение контента от локальных пользователей

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

После успешного завершения вышеописанного теста на первом устройстве оставьте CENO запущенным на нем (значок CENO должен появиться в панели уведомлений). Затем возьмите в руки второе устройство (вы можете пригласить друга, чтобы помочь с тестированием) и подключите его к той же сети Wi-Fi. Выполните описанные ниже действия на втором устройстве:

  1. Установите CENO и запустите его, как указано выше.
  2. Откройте страницу Настройки CENO, как указано выше. Поскольку мы хотим протестировать только распределенный доступ к кэшу, снимите флажки с источников контента, кроме Предоставлен другими пользователями CENO.
  3. Вернитесь на домашнюю страницу CENO и посетите тот же сайт тем же способом, что и выше (т.е. выбрав один из рекомендованных сайтов или введя его URL в адресной строке).
  4. В итоге должен отобразиться нужный сайт.

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

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

Рисунок: Источники, используемые при тестировании распределенного поиска кэша

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

Получение контента от пользователей из другой сети

Мы провели мелкомасштабное тестирование распределенного кэша. Теперь давайте проверим, как он работает через интернет.

После успешного завершения вышеописанного теста оставьте CENO запущенным на первом устройстве, как и в предыдущем тесте, и остановите CENO на втором устройстве (открыв его уведомления и нажав на кнопку «Нажмите, чтобы остановить»).

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

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

Поздравляем!

Помощь другим пользователям CENO в просмотре веб-страниц

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

Примечание: Конфигурация, описанная в этом разделе, также может помочь вашему устройству эффективно передавать контент другим пользователям в распределенном кэше, поэтому рассмотрите возможность ее применения при использовании CENO в стране с цензурой (но помните о рисках при передаче такого контента другим пользователям).

Как стать мостом CENO

Эта функция уже встроена в Браузер CENO. Ваше устройство должно быть подключено к сети Wi-Fi, в которой либо включен UPnP, либо настроена явная переадресация портов для CENO. Более подробную информацию см. в следующих разделах.

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

Техническое примечание: В основном это связано с тем, что режим Doze в Android замедляет работу родной библиотеки Ouinet. К сожалению, даже отключение оптимизации батареи для CENO, похоже, не выводит Ouinet из этого режима. Ваше конкретное устройство также может включать свои собственные функции энергосбережения, которые могут мешать работе CENO; пожалуйста, проверьте Не убивайте мое приложение! на предмет марки вашего устройства.

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

  1. Всегда держать устройство подключенным к сети.

    1. Постоянно держать экран устройства включенным.Один из удобных способов сделать это без большого потребления энергии и назойливой постоянной подсветки — использовать экранную заставку Android: включите ее в разделе Настройки / Дисплей / Экранная заставка (или Daydream в некоторых версиях), выберите виджет Часы, в меню выберите Когда запускать экранную заставку и выберите Во время зарядки или И то и другое. Пока устройство неактивно, на черном фоне будут отображаться очень тусклые часы.

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

Если такая настройка вам не подходит, не отчаивайтесь! Если у вас есть компьютер с хорошим подключением, который остается включенным большую часть времени, продолжайте читать.

Запуск моста на компьютере

Если ваш компьютер поддерживает контейнеры Docker, вы можете запустить на нем предварительно настроенный клиент CENO для работы в качестве моста. Если Docker еще не установлен, следуйте инструкциям по установке Docker Engine на вашей платформе. В производных дистрибутивах Debian, таких как Ubuntu или Linux Mint, вы можете просто запустить: sudo apt install docker.io

Чтобы распаковать контейнер клиента CENO, достаточно выполнить следующую команду в терминале (она выглядит устрашающе, но вы можете просто скопировать и вставить ее как есть в командную строку):

sudo docker run --name ceno-client \
  -dv ceno:/var/opt/ouinet --network host \
  --restart unless-stopped equalitie/ceno-client

Если ваша ОС — не GNU/Linux, команда должна быть немного другой:

sudo docker run --name ceno-client \
  -dv ceno:/var/opt/ouinet \
  -p 127.0.0.1:8077-8078:8077-8078 -p 28729:28729/udp \
  --restart unless-stopped equalitie/ceno-client

Команда запустит контейнер с именем ceno-client, который будет запускаться при каждой загрузке, пока вы не остановите его. Пожалуйста, ознакомьтесь с документацией клиента Docker CENO для получения дополнительной информации о том, как управлять контейнером.

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

Включение UPnP на роутере Wi-Fi

UPnP - это самый простой способ сделать ваш Браузер CENO (или клиент для компьютера) доступным для сети CENO. На странице CENO Settings будет указан статус UPnP в вашей локальной сети.

Примечание: Включение UPnP на Wi-Fi-роутере может подвергнуть устройства в вашей сети внешним помехам. Пожалуйста, ознакомьтесь с рисками UPnP, а также рассмотрите возможность использования альтернативных методов, как описано ниже.

Состояние, подобное показанному на предыдущем рисунке, означает, что UPnP не включен на вашем роутере WiFi:

Состояние UPnP

inactive

Состояние доступности

undecided

Состояние ниже указывает на то, что UPnP, вероятно, работает, и CENO в настоящее время проверяет возможность подключения:

Состояние UPnP

enabled

Состояние доступности

undecided

Состояние ниже означает, что UPnP работает, и вы можете создавать мостовые соединения для других пользователей CENO:

Состояние UPnP

enabled

Состояние доступности

likely reachable / reachable

На рынке представлено множество роутеров Wi-Fi, и каждый из них имеет свои особенности. Ниже приведен список инструкций некоторых производителей по включению UPnP:

Использование переадресации портов в качестве альтернативы UPnP

Вместо включения UPnP на роутере можно создать правило переадресации портов, чтобы соединения из сети CENO направлялись на ваше устройство. Вам необходимо войти в панель управления роутера и найти опцию переадресация портов. Чтобы узнать, на какой IP-адрес и порт вам нужно перенаправлять соединения, откройте страницу Настройки CENO и найдите раздел Локальная конечные точки UDP.

Локальные конечные точки UDP

192.168.1.132:28729

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

Техническое примечание: В качестве альтернативы вы можете убедиться, что роутер всегда назначает один и тот же IP-адрес вашему устройству (например, с помощью статической аренды DHCP для MAC-адреса устройства).

Устранение неполадок

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

Если неполадки все еще присутствуют, пожалуйста, сообщите о них по адресу cenoers@equalit.ie. Мы постараемся помочь вам в их решении.

В меню приложения нет пункта CENO

Возможно расширение CENO все еще загружается. Потерпите немного.

На странице Настройки CENO все виджеты выделены серым цветом

Расширение CENO загрузилось, но оно еще не получило статус из Ouinet. Поскольку подготовка Ouinet может занять некоторое время, потерпите немного.

Если страница настроек остается в таком состоянии более двух минут, возможно, Ouinet столкнулся с какой-то проблемой при запуске.

Попробуйте посетить какую-нибудь страницу, по возможности ту, которая обычно доступна. Если вы получите ошибку типа "Не удалось загрузить ресурс (после попытки использования всех настроенных схем)", возможно, CENO испытывает некоторые проблемы с общим подключением (например, не может присоединиться к сети BitTorrent). Если вы подключены через мобильный интернет, повторите попытку с помощью Wi-Fi.

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

Техническое примечание: Это может произойти, если другое приложение уже прослушивает TCP порты 127.0.0.1:8077 или 127.0.0.1:8078.

На странице отображается не её настоящее содержимое (например, отображается сообщение о блокировке)

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

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

Таким образом, один из способов попасть на настоящий сайт — попытаться зайти на него по протоколу HTTPS, заменив в адресной строке http:// на https:// в начале URL. Конечно, это сработает только в том случае, если сайт поддерживает HTTPS. В противном случае — если вы получаете от CENO сообщение "Не удалось получить ресурс" — необходимо перейти на страницу Настройки, отключить Исходный доступ и повторить попытку.

Поскольку эта настройка не запоминается, а изменение URL каждый раз может надоесть, вы можете настроить CENO на постоянное использование HTTPS для всех сайтов с помощью встроенного расширения HTTPS Everywhere: выберите HTTPS Everywhere в главном меню приложения, затем включите Шифрование всех допустимых сайтов (EASE), как показано ниже. Эта настройка запоминается CENO.

![Рисунок: Настройки HTTPS Everywhere с включенным EASE] (images/httpsew-ease-on.png)

Если вам все еще нужен доступ к какому-то сайту по обычному HTTP при включенном EASE, вы можете открыть сайт (даже если доступ получить не удается), затем на этой вкладке открыть настройки HTTPS Everywhere и нажать на кнопку Отключить на этом сайте, показанную выше, чтобы добавить для сайта исключение.

При доступе к контенту появляется сообщение "Не удалось загрузить ресурс"

Это означает, что CENO испробовал все доступные схемы для получения доступа к контенту, но ни одна из них не увенчалась успехом.

Вы должны убедиться, что для работы CENO выполняются следующие требования:

  • Вы используете последнюю версию Браузера CENO. Устаревшие версии могут не работать с новыми инъекторами или другими клиентами. Проверьте руководство по установке, чтобы узнать, где получить новые версии.
  • Все схемы доступа на странице Настройки включены. В противном случае CENO не сможет обойти некоторые проблемы с доступом к контенту.
  • Ваше устройство имеет рабочее подключение к сети, т.е. ваш обычный веб-браузер может открывать веб-сайты. CENO и Ouinet не могут работать, если все сетевые подключения отключены (хотя пользователи могут найти общую точку доступа Wi-Fi для распространения контента от устройства к устройству напрямую).

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

Исходный доступ

Ваш Браузер CENO не может напрямую связаться с исходным сервером контента. Либо сервер сам испытывает какие-то трудности (например, не работает или подвергается атаке), либо кто-то мешает вашему подключению к нему.

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

Доступ к прокси/инъектору

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

Существуют различные причины, по которым CENO не может связаться с такими клиентами:

  • Ни один другой клиент не является для вас доступным. Если только несколько клиентов Ouinet сейчас онлайн, вполне возможно, что ни один из них не находится в сети, доступной извне. Это должно стать менее вероятным по мере роста популярности CENO и Ouinet и появления большего числа клиентов с различными возможностями подключения.В самом плохом случае, соединения между клиентами Ouinet могут определяться цензором и блокироваться. Это довольно маловероятно (поскольку может повлечь за собой блокировку всего трафика BitTorrent) и в настоящее время выходит за рамки возможностей Ouinet, но мы планируем сделать сеть более устойчивой к таким атакам.

  • Ни один другой клиент не может связаться с инъектором. Поскольку маловероятно, что все инъекторы перестали работать одновременно, это может означать, что вы можете связаться только с теми клиентами Ouinet, которые сами подвержены тому же вмешательству в их работу, что и вы.Это может произойти, когда весь трафик, выходящий или входящий в страну, в которой вы находитесь, прерван. В этом случае CENO прибегает к получению и использованию контента из распределенного кэша, даже если он устарел.

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

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

Распределенный кэш

Имейте в виду, что абсолютным требованием для получения любого контента из распределенного кэша является то, что он уже был загружен другим пользователем CENO или Ouinet. Это означает, что популярный контент будет загружен в сеть с большей вероятностью, а специализированный — с меньшей, если только кто-то не будет целенаправленно распространять его через CENO или другой клиент Ouinet (что может дополнительно подвергнуть его некоторым рискам).

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

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

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

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

Если контент не загружается, возможно, CENO уже удалил его, поскольку он автоматически очищает устаревший контент (по умолчанию старше недели) из вашего локального кэша. Включите режим Публичной сети CENO на странице настроек и снова получите доступ к контенту. Пожалуйста, дайте устройству пару минут, чтобы анонсировать контент в индексе распределенного кэша. Снова установите флажок Размещено другими пользователями CENO и снова попытайтесь загрузить контент; если он по-прежнему не загружается, возможно, Ouinet не считает данный контент безопасным для общего доступа.

Если предыдущий шаг работает, но другое устройство, на котором включен только режим Предоставлено другими пользователями CENO, по-прежнему показывает сообщение "Не удалось загрузить ресурс...", возможны два сценария. Если оба устройства находятся в одной сети (например, на одной точке доступа Wi-Fi), может оказаться, что сеть не разрешает прямой обмен данными между подключенными к ней устройствами. Это происходит в некоторых публичных сетях Wi-Fi, поэтому попробуйте использовать частную сеть.

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

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

Приложение: Внешний интерфейс клиента Ouinet

У клиента Ouinet (запускаемого, например, Браузером CENO) есть служебный интерфейс со справочной информацией и действиями, которые могут быть полезны для отладки клиента. Многие из них также предлагаются расширением CENO через страницу Настройки CENO, однако некоторые доступны только здесь.

The front-end is accessible using any plain Web browser running on the same device (you can use CENO too). Its default address is http://127.0.0.1:8078/. If you open it, you will see something like the figure below.

Рисунок: Внешний интерфейс клиента

На странице отображаются следующие элементы:

  • Ссылка для настройки Ouinet в качестве центра сертификации (ЦС) в вашем браузере, поскольку клиенту необходимо перехватывать HTTPS-трафик.Это нужно только для использования обычного браузера для тестирования клиента Ouinet, в этом случае вам также придется настроить его HTTP/HTTPS прокси на 127.0.0.1:8077, и вручную включить Расширение CENO, чтобы инъекция работала. Мы настоятельно рекомендуем использовать отдельный профиль браузера для этой цели.

Обратите внимание, что ничего из этого не нужно делать для Браузера CENO, поскольку он уже настроен нужным образом.

  • Кнопки для включения или отключения различных механизмов, используемых клиентом для доступа к содержимому.

    • Селекторы для выбора различных уровней журнала (логов), например, по умолчанию INFO (информационные сообщения, предупреждения и ошибки) или DEBUG (подробный вывод, полезный для сообщения об ошибках). Файл журнала также можно включить и получить с этой страницы.При включении файла журнала уровень журнала автоматически устанавливается на значение DEBUG (хотя вы можете изменить его). При отключении файла журнала будет восстановлен исходный уровень.
  • Общая информация о состоянии и версии клиента. Полезно при составлении отчетов об ошибках.

  • Информация о подключении клиентов и адресации инъекторов. Метод по умолчанию, bep5, ищет интернет-адреса среди «роя» инъекторов BitTorrent, как описано в этом разделе.

  • Открытый ключ, используемый для проверки подписей от инъекторов в распределенном кэше.

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

  • Каталог внешнего статического кэша, если он включен (в настоящее время CENO его не использует).