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

This manual is aimed at users of Ceno Browser and related technologies, as created for the Censorship.no! project by eQualitie.

If you are looking for technical documentation, please refer to the Ceno documentation repository, where you will find pointers for further reading and details on implementation, as well as the protocol specifications.

Введение

The Internet and the World Wide Web have become more and more important for people around the world as a source of all kinds of information, and a way to exercise fundamental rights. At the same time, recent years have seen an increase in all kinds of network censorship and other types of network interference (see the reports from OONI, Magma, Censored Planet), both from private and state actors.

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

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

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

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

Что такое Ceno Browser?

Ceno (short for Censorship.no!) is a Web browser for mobile Android devices (such as smartphones and tablets) that uses a novel approach to circumvent Internet censorship and share retrieved content among all users in a peer-to-peer (P2P) fashion. This reduces overall reliance on international network exchanges, and allows frequently requested Web content to persist in the network even during heavy filtering and throttling events.

What sets Ceno apart from most other circumvention initiatives is that users can continue to share Web content even when no (or extremely limited) connectivity exists across national borders. Ceno is thus built in anticipation of aggressive Internet filtering and the establishment of national intranets to fence off nations from the Web.

Ceno Browser is built on an adapted version of Firefox for Android, a popular, modern, feature-rich and secure Free/Libre/Open Source browser. Ceno extends Firefox with Ouinet, the underlying technology allowing it to share content between devices (described in later sections).

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

The Censorship.no! project is run by eQualitie in support of Articles 18, 19 and 20 of the Universal Declaration of Human Rights. Ceno and related technologies are developed as Free/Libre/Open Source software (project source), allowing anyone to use, study, share and enhance it. Please contact cenoers@equalitie.org in case of doubt or for further information.

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

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

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

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

Warning: Ceno is not an anonymity tool. In fact, using Ceno may allow others to know whether you have accessed or are sharing certain Web content. Please take careful consideration of which risks you can assume by using this tool. See the sections on Public vs. Personal browsing and risks for further information.

Что такое Ouinet?

Ouinet is a core technology that allows Ceno Browser to share Web content with other devices. Ouinet comes in the form of reusable computer code (a library) that an application like Ceno can use to become a participant in a network of cooperating nodes that communicate directly (peer-to-peer or P2P) to help access and store new Web content, and to request and deliver previously accessed content to others.

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

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

Same as Ceno Browser, Ouinet is developed by eQualitie as Free/Libre/Open-Source software.

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

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

Please note that Ouinet is an evolving experimental project: some features may not work reliably enough in certain scenarios, bugs may exist and crashes may occur. We encourage you to reach out to us at cenoers@equalitie.org, test it and report back - your feedback is very welcome!

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

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

Ceno Browser allows you to access any website on the Internet, even if it is censored in your country. Ceno uses a peer-to-peer infrastructure to route your requests, as well as to store and share retrieved content with others. Read more about Ceno.

Как начать

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

  1. Install Ceno Browser from Google Play, GitHub or Paskoocheh. No special permissions are needed.
  2. Запустите его.
  3. Browse pages normally to help other users access them; if concerned about privacy for some page or if it is not loading as expected, use a Personal tab (see Public vs. Personal browsing).
  4. Нажмите на уведомление CENO, чтобы полностью остановить его.

Detailed installation instructions are here.

Настройка

Ceno Browser should work out-of-the-box. You can find some diagnostics and settings under the Ceno menu entry.

If you want to make sure that your app is also helping others access blocked content, please read this section.

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

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

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

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

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

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

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

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

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

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

Figure: Client cannot reach content directly

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

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

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

In any Web browser, to access content X it needs to know its Uniform Resource Locator (URL), that is the address in the browser's location bar, e.g. https://example.com/foo/x. From that URL, a normal browser would infer that it has to contact the Web server called example.com using the HTTP protocol (the language used to exchange Web resources) over SSL/TLS (a security layer over TCP, the Internet's rules for programs to talk to each other) and request the resource /foo/x.

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

Technical note: One way the index is implemented is using BitTorrent's Distributed Hash Table (DHT) to get the addresses (IP and port) of the clients with the content. The DHT uses a Cryptographic hash function to compute the table key from the content's URL and some other parameters as the injector key (see below), so that several indexes can coexist.

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

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

Figure: Content not found in the distributed cache

К счастью, 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 от вашего клиента и запрашивает его у исходного сервера.

Figure: Client reaches for injector

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

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

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

Figure: Client receives signed content from injector

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

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

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

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

Figure: Client receives signed content from client

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

Figure: Client receives signed content from multiple clients

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

Public vs. Personal browsing

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

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

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

  • Увеличение доступности контента: Ouinet способен эффективно и надежно предоставлять контент в условиях сильных сетевых помех и вмешательства. Чем популярнее становится определенный контент, тем больше его копий рассылается клиентами Ceno/Ouinet и тем доступнее он становится.

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

  • Faster browsing: Since your client can retrieve different parts of the same content from various clients at the same time, the load of delivering the content is distributed among different networks and devices, thus avoiding clogging the paths to a single client (especially when delivering a big resource like a video). This is not only useful when infrastructure connecting to other countries is limited, but also for publishers to avoid resource usage spikes at origin servers when some of their content becomes very popular (the so-called Slashdot effect).

  • Cheaper browsing: Content popular in a particular region tends to get copied in Ceno/Ouinet clients in that region, even if the origin server is abroad. If you are interested in that content, your client will probably get it from some other client in your region. In some countries where international traffic is more expensive than local one (e.g. in the presence of a national intranet), this can actually save you money.

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

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

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

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

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

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

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

Yes and no. When the user requests content in public browsing mode, all private data (like passwords and cookies) is first removed from the request by the client, and only then is the request encrypted for and forwarded to the injector, which proceeds to decrypt it.

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

Техническое примечание: Только 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.

In general, if a particular website (such as a governmental site) expects you to connect to it as an identifiable individual, from a specific region (or from a national intranet), we recommend that you use a normal Web browser instead of Ceno.

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

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

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

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

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

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

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

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

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

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

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

This chapter gives you some hints on the usage of Ceno Browser as far as its Ouinet-related capabilities are concerned. Please always keep in mind that Ceno is based on Firefox for Android, so for all questions on generic browsing topics you should refer to Mozilla's Firefox for Android Support pages.

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

If your application exhibits behaviors substantially different from those described here, do not hesitate to contact us at cenoers@equalitie.org and report the issue.

Установка Ceno

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

  • Google Play (Ceno Browser from eQualitie): the recommended source for most Android users.
  • Gitlab: for Android devices without Google Play.
  • Paskoocheh: for users in countries blocking access to the previous channels.

Ceno работает на устройствах с ARM64 или ARM32 с поддержкой Neon, под управлением Android Jelly Bean версии не старше 4.1. Таким образом, большинство мобильных устройств выпущенных после конца 2012 года будут совместимы. Для работы Ceno не требуются специальные разрешения.

Warning: Please be extremely skeptical about installing Ceno Browser from sources other than the ones listed above. Because of the application's nature, their potential users may become a target for all kinds of fake or manipulated versions used to violate user privacy or attack other Ceno and Ouinet users. If in doubt, please contact cenoers@equalitie.org before installing a suspicious app.

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

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

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

Figure: Tap on the notification to stop the Ceno service

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

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

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

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

Figure: The last action stops Ceno and clears all its data

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

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

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

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

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

Using Public or Personal browsing

Настройки Ceno

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

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

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

Figure: The Ceno Settings page

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

The four checkboxes on the top of the page selectively enable or disable the different mechanisms or sources that Ceno as a Ouinet client uses to retrieve content while using either Public or Personal browsing tabs. All boxes are enabled by default.

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

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

    If getting most Web content is not particularly slow or expensive, this mechanism may be more than enough for most use cases. However, such direct connections may be tracked by your ISP or government. To some extent, disabling this option may avoid such connections and trivial tracking (but not completely, see risks).

    Also, when accessing a Web site over insecure HTTP (instead of the more secure HTTPS), a censor may intercept the connection and supply the user with a bogus site, a tampering which Ceno cannot detect by itself. In such cases, it may help to disable this option and thus always resort to other, safer Ceno mechanisms. Please check the section on troubleshooting to learn more about this issue.

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

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

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

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

    Другие участники (например, мосты) не увидят незашифрованный трафик.

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

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

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

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

Figure: Invalid settings for private browsing

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

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

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

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

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

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

To drop everything at the same time (especially if you are in a hurry), please learn how to use the "panic button" feature described in Installing Ceno.

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

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

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

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

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

Now that you know how to install and configure Ceno, let us follow some steps to test whether different Ouinet-specific features work. This will involve selectively enabling and disabling different access mechanisms. Keep in mind however that in day-to-day usage of Ceno, you will seldom need to change the default settings at all.

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

All of the tests will be performed using public browsing. If something does not work as expected, please be patient and check the section on troubleshooting. Specifically, if the browser gets stuck for more than a couple of minutes while loading a page, you may hit stop and reload it (although this may alter results slightly).

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

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

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

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

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

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

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

Figure: Sources used when testing injection

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

Figure: Sources used with private browsing

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

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

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

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

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

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

Figure: Sources used when testing distributed cache retrieval

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

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

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

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

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

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

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

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

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

Note: The configuration described in this section may also help your device to effectively seed content to others on the distributed cache, so please consider applying it as well when using Ceno in a censoring country (but keep in mind the risks of serving such content to others).

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

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

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

Technical note: This is mainly due to Android's Doze mode slowing down the operation of the native Ouinet library. Unfortunately, disabling battery optimization for Ceno does not seem to exclude Ouinet from it. Your particular device may also include its own power-saving features which may interfere with Ceno; please check Don't kill my app! for your device's brand.

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

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

  2. Постоянно держать экран устройства включенным.

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

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

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

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

If your computer supports Docker containers, you can run a pre-configured Ceno client on it to act as a bridge. If Docker is not yet installed, please follow the instructions to install the Docker Engine in your platform. For Debian derivatives like Ubuntu or Linux Mint, you can just run: 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

The command will start a container named ceno-client that will run on every boot unless you explicitly tell it to stop. Please check the Ceno Docker client documentation for more information on how to manipulate the container.

Note: This client has no Ceno Settings: when instructed below to access that page, open instead the client front-end, which contains mostly equivalent information.

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

UPnP is the easiest way of making your Ceno Browser (or computer client) reachable to the Ceno network. The Ceno Settings page will indicate the UPnP status on your local network.

Note: Enabling UPnP on the Wi-Fi router may expose devices on your network to external interference. Please make yourself aware of the risks and also consider using alternative methods as explained below.

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

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

undecided

Состояние UPnP

disabled / inactive

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

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

undecided

Состояние UPnP

enabled

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

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

likely reachable / reachable

Состояние UPnP

enabled

Note: Even if UPnP is working, your router may still not be reachable from the outside. This can be the case when Ceno Settings reports External UDP endpoints which look like CGNAT addresses 100.X.Y.Z:N with X between 64 and 127 (increasingly common among home ISPs), or like private addresses 10.X.Y.Z:N, 172.X.Y.Z:N with X between 16 and 31, and 192.168.X.Y:N. If so, please contact your ISP or network administrator to get a public address on your router or to establish port forwardings to the external endpoint.

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

If problems still persist, please report them to cenoers@equalitie.org. We will try to help you with them.

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

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

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

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

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

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

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

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

Состояние клиента Ouinet в Настройки Ceno иное, чем started

Используемый Ceno клиент Ouinet стокнулся с проблемами при запуске на вашем устройстве.

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

One possible reason for not being able to get into BitTorrent (more so when you run Ceno for the first time), is that the default bootstrap servers used by the Ouinet client are blocked or unreachable. In that case you may want to try providing Ceno with extra BitTorrent bootstrap servers in the Settings page. You can ask us if you do not know of any such server. After setting the extra bootstraps, please restart the application. If the problem persists, contact us.

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

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

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

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

  • You are running a recent version of Ceno Browser. Obsolete versions may not be able to communicate with newer injectors or other clients. Check the installation instructions to know where to get new versions.
  • All access mechanisms in the Settings page are enabled. Otherwise Ceno will not be able to circumvent some connectivity issues when accessing content.
  • Ваше устройство имеет рабочее подключение к сети, т.е. ваш обычный веб-браузер может открывать веб-сайты. Ceno и Ouinet не могут работать, если все сетевые подключения отключены (хотя пользователи могут найти общую точку доступа Wi-Fi для распространения контента от устройства к устройству напрямую).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Keep in mind that an absolute requirement to be able to retrieve any content from the distributed cache is that it has already been injected by some other Ceno or Ouinet user. This means that popular content is more likely to eventually get injected and replicated in a natural manner, while more obscure content is less so, unless someone takes care of using Ceno or some other Ouinet client to inject and keep seeding it (which may further expose them to some risks).

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

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

Примечание для сайтов, поддерживающих только HTTP

Ceno automatically switches to the more secure HTTPS protocol to access sites which would otherwise be accessed using plain, insecure HTTP. This is done by the embedded HTTPS by default extension when you enter a bare domain name like example.com or an HTTP URL like http://example.com/… in the location bar, or when you follow a link with such a URL in a page.

Автоматическое переключение на HTTPS выполняется чтобы предотвратить перехват HTTP соединения и перенаправление его на подставной сервер, что приводит к получению заменённого контента (напрмер сообщения о блокировке). Такой перехват легко отследить используя HTTPS, так что Ceno может обходить его, вместо того чтобы загружать заменённый контент.

Хотя это крайне необычно, некоторые сайты не поддерживают HTTPS, и для них не будут работать механизмы доступа. Если вы совершенно уверены, что Ceno не смог загрузить данный сайт именно по этой причине, вы можете исправить URL в адресной строке. Замените https:// на http://и попробуйте снова.

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

  1. В главном меню приложения, выберите HTTPS by default. Вы увидите страницу настроек разрешения.
  2. Введите доменное имя сайта в поле ввода, как показано ниже. Вы можете ввести несколько сайтов, разделяя их пробелами или переводами на новую строку. Обратите внимание, что введя example.com вы также включите все сайты на этом домене, такие какwww.example.com или x.y.example.com.
  3. Когда закончите, вернитесь назад или закройте вкладку.

Figure: Adding exceptions for HTTP-only sites

Note: In the unfortunate case that a site is only accessible via HTTP, and it is also being hijacked by a censor, you will need to go to the Settings page, disable Origin access, and try again. Please note that this setting affects all sites, and it is not remembered by Ceno for subsequent runs. We encourage you to contact the site administrators and tell them to enable HTTPS support.

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

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

Это можно исправить очистив обычный кэш Ceno, открыв Параметры в главном меню приложения, выбрав Удалить мои данные и сняв все галочки кроме Кэш перед выбором Удалить данные.

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

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

First, make sure that your device is still seeding the content by going to the Ceno Settings page, only leaving the Shared by other Ceno users source box checked, then accessing that content again: it should load (at least partially), and tapping the Ceno address bar icon should only show non-zero values under Shared by other Ceno users or Shared by you.

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

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

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

Technical note: If your device reports undecided reachability and you can change the configuration of the access point, you may create a permanent port forwarding rule towards your client. See here for further instructions.

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

The Ouinet client (as run by e.g. Ceno Browser) offers a front-end page with some information and actions which may be useful for debugging the client. Many of them are also offered by the Ceno Extension via the Ceno Settings page, though others are only available here.

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.

Figure: The client front-end

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

  • Ссылка для настройки Ouinet в качестве центра сертификации (ЦС) в вашем браузере, поскольку клиенту необходимо перехватывать HTTPS-трафик.

    You only need this to use a plain browser for testing the Ouinet client, in which case you will also have to configure its HTTP/HTTPS proxies to 127.0.0.1:8077, and manually enable the Ceno Extension for injection to work. We very strongly recommend using a separate, specific browser profile for this purpose.

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

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

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

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

  • Общая информация о состоянии и версии клиента. Полезно при составлении отчетов об ошибках.

  • Information about client connectivity and injector addressing. The default bep5 method looks up Internet addresses in a BitTorrent injector swarm, as explained here.

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

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

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