Censorship.no! Manual del Usuaria(o)

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.

Introducción

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.

La Web cuenta con que tus dispositivos sean capaces de alcanzar computadoras especiales llamadas servidores web (administrados por creadora(e)s de contenido, publicadora(e)s o proveedora(e)s de servicio de Internet) que tienen el contenido que deseas buscar, y para hacerlo de manera sincronizada - más parecido a tener una charla en vivo por teléfono que a intercambiar algunas cartas. Desafortunadamente, esto requiere que el servidor web que necesitas esté conectado a la red y tenga suficientes recursos disponibles para hablar a tu dispositivo en ese momento.

El advenimiento de redes de entrega de contenido (o CDNs, como las comerciales Akamai y Cloudflare, o la orientada a la sociedad civil Deflect) han tomado algo de la carga de estos servidores web distribuyendo copias del contenido a centros de datos de alrededor del mundo, de manera que pueda estar más cercano a tus dispositivos y de esa manera ser más rápido de alcanzar, mientras que mantienen los servidores de origen protegidos del acceso directo. Sin embargo, en la actualidad, los servidores CDN (y por lo tanto las organizaciones que los administran) necesitan que se confíe en ellos tanto por el servidor de origen como por tus dispositivos, y también necesitan ser alcanzables en todo momento.

De nuevo desafortunadamente, hay situaciones en las cuales la conectividad general es escasa (en países subdesarrollados o regiones con poca cobertura, empobrecidas o rurales), cara (con algunos países cobrando más por tráfico internacional) o ha sido bloqueada activamente por un jugador estatal (explícitamente o como resultado de un apagón general). En estos casos, alcanzar a los servidores web de origen o incluso a los servidores CDN es dificultoso o imposible, y tu dispositivo no será capaz de obtener ese contenido - aún si de alguna forma fue capaz de accederlo unas pocas horas atrás y algunas calles nos separan de donde vivimos.

Aquí es donde el Navegador CENO y Ouinet entran en juego. Este capítulo te introducirá a ellos.

¿Qué es el navegador Ceno?

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).

¿Quién desarrolla 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.

¿Para quién es?

Ceno es para toda(o)s, pero es particularmante conveniente para personas interesadas en contenido Web que es censurado en sus redes, y aquellos viviendo en paíes donde la conectividad a la Internet global es de calidad inconsistente, no confiable o cara. Fomenta y posibilita compartir contenido web entre usuaria(o)s, creando una red descentralizada de pares ayudándose entre sí.

No necesitas ser usuaria(o) avanzada(o) de computadoras, ni aún entender cómo las redes par a par operan para usar Ceno. La experiencia de usuaria(o) es similar a operar un navegador Web estándar (La funcionalidad específica de Ceno está bien escondida bajo el capó).

Sin embargo, Ceno puede generar más tráfico de Internet que tu navegador Web usual – ya que necesita hacer conocer a otra(o)s usuaria(o)s qué contenido Web está compartiendo con la red, y posiblemente entregar este contenido a quienes lo soliciten. Por lo tanto Ceno confía en una conectividad dentro del país moderadamente buena. Recomendamos usar Ceno cuando te conectes a Wi-Fi, no solo para evitar agotar los límites de datos móviles (si los tuvieras), sino también para aumentar las chances de ser capaz de entregar contenido Web a otra(o)s usuaria(o)s.

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.

¿Qué es 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 está basada en una combinación y uso inteligentes de tecnologías existentes para lograr cada una de sus funcionalidades: la ubicación de otra(o)s participantes se hace con técnicas provenientes del mundo de la compartición de archivos (la tabla de hash distribuida de BitTorrent), la comunicación con ellos usa protocolos comunes Web y de compartición de archivos (solicitudes proxy HTTP y el µTP de BitTorrent), y estándares modernos de la industria afirman la seguridad de las comunicaciones y la autenticidad del contenido intercambiado (cifrado TLS y firmas Ed25519). Ouinet permite el reemplazo de tecnologías particulares con otras, de ser necesario (por ejemplo, algunos usos de µTP pueden ser reemplazados por los Transportes Conectables de Tor).

En dispositivos móviles, Ouinet puede ser incluida dentro de aplicaciones de usuario final (como una biblioteca Android). En computadoras, puede ser usada por clientes Web normales, como navegadores (como proxy HTTP local).

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

¿Para quién es?

Ouinet es mayormente útil para desarrolladora(e)s de software, creadora(e)s de contenido y publicistas que quieren habilitar a usuaria(o)s de sus aplicaciones compartir contenido descargado con otra(o)s usuaria(o)s. Esto reduce la demanda general en el servidor de aplicación y mejora la accesibilidad del contenido para usuaria(o)s viviendo en países que bloquean el acceso a ese servidor.

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!

Advertencia: Ouinet no es una herramienta de anonimato. Si no estás segura(o) acerca de si es adecuada para una cierta tarea, no dudes en contactarnos.

Guía de inicio rápido

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.

Cómo empezar

Necesitarás un dispositivo Android:

  1. Install Ceno Browser from Google Play, GitHub or Paskoocheh. No special permissions are needed.
  2. Ejecútalo.
  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. Pulsa en la notificación CENO para detenerlo completamente.

Detailed installation instructions are here.

Configuración

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.

¿Más preguntas?

Conceptos principales

Para cumplir su objetivo de eludir varias clases de interferencia y apagones de red, Ceno hace uso de técnicas diversas desde los campos de la World Wide Web, sistemas de compartición de archivos y criptografía avanzada. Estas técnicas son combinadas astutamente por Ouinet para hacer que la experiencia de usar Ceno sea tan cercana como sea posible a la navegación Web normal.

No obstante, para sacar el máximo partido a Ceno es útil entender cómo opera Ouinet, las diferentes maneras en que puede ser usada dependiendo de la clase de contenido al que estamos intentando acceder, y las ventajas y riesgos que eso implica. Este capítulo cubrirá estos tópicos.

¿Cómo funciona?

Esta sección explicará la operación de CENO y Ouinet recorriendo una serie de escenarios. La terminología y los conceptos importantes para Ouinet serán introducidos (resaltados en letras negrita) y usados con posterioridad por razones de eficiencia y para evitar confusiones.

Accediendo directamente al contenido

CENO Browser es un ejemplo de una aplicación que usa la tecnología Ouinet para descargar y compartir contenido Web. Llamamos a tal aplicación un cliente Ouinet. Cuando usas tu cliente (ej., CENO) para intentar acceder a algún contenido X, alojado en un servidor Web (al que llamaremos servidor de origen de X), tu cliente intenta contactar al servidor de origen a través de Internet ya sea directamente o vía alguna otra máquina configurada para contactar servidores Web de parte de otros (un así llamado servidor proxy) y luego solicita el contenido deseado. Esto no es diferente de la manera en que funciona cualquier navegador Web normal.

Nota técnica: De hecho hay una pequeña sorpresa. Ya que el cliente actúa como un proxy HTTP ejecutándose en tu dispositivo, para que el cliente sea capaz de descifrar y actuar sobre solicitudes de contenido HTTPS, la aplicación que está usando al cliente (en este caso, la parte del navegador Web – como Firefox en CENO) necesita aceptar un certificado especial emitido por el cliente mismo (y usado solamente en tu dispositivo). CENO Browser se hace cargo de configurar este certificado para su uso privado para que no tengas que preocuparte.

Sin embargo, estas rutas directas podrían no estar disponibles. Por ejemplo, tu proveedor de servicio de Internet (ISP) podría estar bloqueando el acceso al servidor de origen de X o al proxy debido a una orden estatal (aún si otro tráfico está permitido). Como en la/el usuaria(o) del cliente en la parte superior izquierda ilustrad(a)o a continuación, ambos intentos de alcanzar el contenido X (el pequeño documento cercano a su servidor de origen) fallarían para ti. Puede que también notes el nodo "inyector" en el diagrama. Explicaremos eso en un momento.

Figure: Client cannot reach content directly

Con un navegador normal tu suerte se habría acabado. Sin embargo, con Ouinet puedes solicitarles a otros clientes sus copias del contenido X, en el caso que ya la tuvieran. Dejanos ver cómo Ouinet realiza esta solicitud.

Buscando contenido compartido

El conjunto de todo el contenido almacenado por clientes Ouinet es llamado caché distribuida, por ejemplo un almacenamiento que no se ubica en un solo lugar. ¿Pero cómo puede encontrar tu cliente qué otros clientes formando la caché tienen el contenido deseado?

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 busca al contenido de una manera diferente. Usa un índice no diferente al de un libro: en el índice de la caché distribuida de Ouinet buscas al URL completo del contenido y obtienes una lista de clientes que tienen una copia del mismo. El índice en sí mismo está distribuido, con los clientes haciéndose cargo de anunciar a otros qué contenido tienen. En realidad, solamente es anunciada una pista sobre cada URL, por lo que alguien espiando el tráfico de tu dispositivo no puede decir qué contenido tienes, pero alguien buscando un contenido particular puede seguir las pistas hacia tu cliente.

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.

A su vez, el Navegador CENO no anuncia la URL de cada recurso único que contiene: con cualquier página moderna teniendo decenas o cientos de componentes (imágenes, hojas de estilo, scripts…), eso crearía una gran cantidad de tráfico. Por lo tanto, los recursos son agrupados bajo el URL de la página que los referencia, y solo ese URL es anunciado. Esto se hace con la ayuda de una extensión ad hoc del navegador (descrita más adelante).

De los clientes que ofrecen algún contenido en particular sobre la caché distribuida se dice que están sembrándolo, o que son sus sembradores (estos términos vienen del mundo de la compartición de archivos P2P). Volviendo a nuestro escenario de ejemplo, hay dos clientes sembrando algún contenido. Desafortunadamente, uno está sembrando el contenido Y y el otro el contenido Z, por lo que tu cliente no encontraría entradas para el contenido X en el índice de la caché distribuida, como se ilustra abajo:

Figure: Content not found in the distributed cache

Afortunadamente, Ouinet ofrece una manera de descargar tal contenido y aún más hacerlo disponible a otros clientes en la caché distribuida. Por favor, sigue leyendo para aprender cómo.

Compartiendo contenido nuevo

Proxys en esteroides

En Ouinet, hay clases especiales de servidores proxy llamados inyectores que están (con suerte) en el lado libre de Internet e intentan con todas sus fuerzas permanecer alcanzables a pesar de las medidas de bloqueo:

  • En primer lugar, las conexiones entre clientes e inyectores están cifradas (usando SSL/TLS estándar, como en HTTPS) para evitar que los atacantes espiando el tráfico web identifiquen a los inyectores.

    Dicho sea de paso, los certificados de los inyectores vienen en conjunto con CENO Browser, permitiéndole detectar a los atacantes intentando hacerse pasar por inyectores.

  • Si el cifrado no fuera suficiente, las conexiones a inyectores pueden usar técnicas especiales de ofuscación (como I2P y los Transportes Conectables de Tor, para hacer a la identificación aún más dificultosa.

  • Aún si un inyector fuera identificado y el acceso a él fuera bloqueado por tu ISP, hay varios de ellos y no importa a cuál contacta tu cliente por la Internet.

  • Algunos o todos los inyectores podrían ser bloqueados, pero el conjunto de inyectores puede variar a través del tiempo (con nuevos siendo añadidos).

    Tu cliente no necesita saber sus direcciones de Internet con anticipación; en vez de eso, reliza una búsqueda en el enjambre de inyectores (otro término de intercambio de archivos P2P), un índice distribuido de entrada única similar al índice de la caché distribuida que suministra las direcciones de los inyectores disponibles en este momento.

  • Finalmente, aún si tu cliente no fuera capaz de alcanzar ningún inyector, algunos otros clientes podrían. Cuando un cliente es capaz de alcanzar un inyector y cree que es alcanzable por otros clientes, se transforma en un cliente puente y agrega su propia dirección de Internet al enjambre de puentes, otro índice distribuido de entrada única.

    Por lo que tu cliente puede buscar tal dirección, conectar al puente tras ella y decirle que establezca otra conexión a un inyector de su parte, creando un túnel entre tu cliente y el inyector. Luego una conexión puede ser establecida entre ellos dentro del túnel.

    Por favor ten en cuenta que ya que las conexiones cliente a inyector están cifradas, los puentes no son capaces de ver la información fluyendo entre ellos.

Un inyector puede comportarse como un servidor proxy normal (aunque extra disponible), y esto es efectivamente lo que hacen actualmente los clientes Ouinet (incluyendo el Navegador CENO) cuando tratan de acceder contenido a través de un proxy. En este caso, el inyector tampoco verá información real fluyendo entre tu cliente y el servidor de origen (a menos que en sí misma sea una conexión común, HTTP no cifrada).

Pero existen otras herramientas que te permiten alcanzar proxys en condiciones severas de interferencia de red, entonces, ¿qué tienen de especial los inyectores Ouinet?

Confiando el contenido compartido

Bien, el punto es que un inyector no solo descarga contenido de parte de tu cliente, también te permite compartir ese contenido con otros con posterioridad, aún cuando no haya más acceso al inyector o a la mayoría de Internet.

Tu podrías por supuesto descargar una página desde tu navegador y copiar los archivos resultantes para otras personas, lo cual estaría bien si se conocieran entre todos. ¿Pero qué pasa si recibiste tales archivos de una persona desconocida? ¿Cómo puedes tener seguridad de que el contenido realmente vino del sitio web del que dice ser, que fuera descargado en una cierta fecha o que la información en ellos no fue manipulada?

Queremos que el uso de CENO y Ouinet se expanda y provea tanto contenido para tantas personas como sea posible, por lo que queremos que seas capaz de recibir contenido de personas que no conoces. Para lograr que aceptes tal contenido, Ouinet usa la firma de contenido: tu cliente está configurado para confiar en el contenido que está firmado usando una clave especial propiedad de los inyectores. En cualquier momento en que un cliente le dice a un inyector que descargue algún contenido Web para compartir, el inyector lo obtiene desde el servidor de origen, usa la clave para firmarlo, y retorna el contenido firmado al cliente.

Nota técnica: De hecho, el inyector firma bloques individuales de datos en la medida en que llegan, por lo que aún si la conexión es cortada a la mitad mientras se está descargando un archivo grande, los datos descargados aún pueden ser compartidos por el cliente que los recibió.

Diferentes inyectores podrían tener diferentes claves, por lo que puedes elegir en qué inyectores confiar. Imagínatelo así: podrías confiar en un documento firmado por un notario público de tu país, sin importar quién te lo dio (nacional o extranjero), mientras que no te sería requerido aceptar un documento firmado por un notario de otro país. El Navegador CENO ya está configurado para confiar en un conjunto de inyectores administrados por eQualitie.

Nota técnica: Los inyectores usan un par de claves pública/privada para crear firmas Ed25519; las claves públicas son suficientemente pequeñas para permitir ser enviadas junto con las firmas, y codificadas como 64 caracteres hexadecimales o 52 caracteres Base32. Podrían incluso ser intercambiadas sobre el teléfono o escritas en un pedazo de papel.

Inyección de contenido

Recuerda que en nuestro escenario de ejemplo tu cliente ya había intentado descargar el contenido X directamente del servidor de origen y desde otros clientes sin resultado. El cliente juega su última carta Ouinet e intenta contactar a un inyector confiable para obtener una copia firmada del contenido que pueda compartir con otros clientes.

En la figura de abajo puedes ver un posible resultado de esa operación: el cliente intenta primero contactar al inyector directamente (ej.: usando una dirección de Internet que obtuvo del enjambre de inyectores), pero tristemente, ya está bloqueada por tu ISP; afortunadamente, el enjambre de puentes muestra las direcciones de Internet de otros dos clientes que aún son capaces de alcanzar a un inyector. Tu cliente abre un túnel al inyector a través de uno de estos clientes, por lo que el inyector obtiene la solicitud para el contenido X desde tu cliente, y se lo solicita a su servidor de origen.

Figure: Client reaches for injector

A medida que el contenido X es recibido por el inyector, lo firma con su clave, añade la firma al contenido y lo envía hacia tu cliente a través del túnel por el que arribó (digamos, a través del cliente que está más allá del bloqueo). Una vez que el contenido alcanza a tu cliente, hace tres cosas:

  1. Te lo entrega (en el caso de CENO, muestra el contenido en el navegador).
  2. Guarda el contenido en tu dispositivo para su ulterior sembrado a otra(o)s clientes. Permanecerá allí por un periodo de tiempo configurable, o hasta que decidas limpiar todo el contenido almacenado.
  3. Anuncia en el índice de la caché distribuida que está en posesión de una copia de ese contenido, de manera que otra(o)s clientes puedan encontrarlo.

La operación combinada completa de descarga, firmado, almacenamiento y anuncio es lo que llamamos inyección de contenido, como se muestra en la figura de abajo.

Figure: Client receives signed content from injector

Por favor nota que el mecanismo descrito arriba aún requiere que exista alguna ruta a través del bloqueo y hacia el resto de Internet. Pero a veces esa ruta también faltará: piensa acerca de desconexiones internacionales completas, desastres naturales, o simplemente, congestión excesiva de las pocas rutas existentes (debido a que todos están intentando usarlas). Aquí es donde entra en juego el poder real de la caché distribuida.

Imaginémonos que después de que descargaste el contenido X desde el inyector, un desastre deja a tu región aislada del mundo. Resulta que el contenido X se vuelve especialmente relevante ya que describe algunas maneras en las cuales puedes ayudar a tu comunidad en tal situación.

En ese momento una segunda persona usando el Navegador CENO también intenta obtener ese contenido. El acceso al servidor de origen o a cualquier cosa más allá de tu región es imposible, por lo que CENO comprueba el índice de la caché distribuida por ese contenido y encuentra que tu dispositivo está sembrándolo. CENO obtiene tu dirección de Internet del índice, se conecta a él y solicita el contenido como se muestra abajo.

Figure: Client receives signed content from client

Ahora que segundo dispositivo también tiene una copia del contenido X, así anuncia esto en el índice de la caché distribuida, entonces convirtinéndose en un sembrador. Si una tercera persona interesada en ese contenido usa el Navegador CENO para obtenerlo, CENO ahora verá dos direcciones en el índice para el contenido: tu dispositivo y el de segunda(o) usuaria(o). Si el contenido es pesado (ej.: un video), este tercer dispositivo podría intentar obtener la mitad del mismo desde cada uno de los otros dispositivos (como se muestra abajo), entonces acelerando la descarga y reduciendo el tráfico que usan.

Figure: Client receives signed content from multiple clients

Finalmente, la situación podría tornarse aún peor, y toda la infraestructura de red comercial y estatal podría apagarse. En este caso, Ouinet y el Navegador CENO también tienen algún soporte para compartir contenido de dispositivo a dispositivo entre dos clientes que están en la misma red local (ej.: conectados al mismo punto de acceso Wi-Fi), aún si la red no tiene acceso a otras.

Public vs. Personal browsing

Ventajas de usar Ceno/Ouinet

Las principales ventajas de usar Ceno y Ouinet sobre otras tecnologías de elusión proceden de la cooperación de clientes e inyectores para redirigir tráfico de unos a otros, firmar contenido para su ulterior verificación, y almacenar contenido firmado y sembrarlo para otros. Algunas ventajas que vale la pena mencionar son:

  • Uso familiar: Acceder al contenido Web usando el Navegador Ceno se siente bastante parecido a surfear la Web con tu navegador habitual, aún durante un bloqueo completo. No hay necesidad de nuevos vínculos personalizados para contenido popular, o acciones especiales por parte de la/el usuaria(o) (como transferir archivos entre aplicaciones).

  • Disponibilidad de contenido incrementada: Ouinet es capaz de proveer contenido en una manera eficiente y confiable en situaciones extremas de interferencia de red. Cuanto más popular se torna algún contenido en particular, más copias de él son sembradas por clientes Ceno/Ouinet, y más disponible se vuelve.

    El contenido firmado podría ser llevado hacia clientes particulares en un área desconectada por medios fuera de línea (ej.: una memoria USB), y de ese modo quedar disponible para otra(o)s clientes.

  • 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.

Riesgos al usar Ceno/Ouinet

Como con cualquier sistema de computación suficientemente complejo, y especialmente uno tan innovador, el uso del Navegador Ceno (y cualquier cliente Ouinet en general) no está libre de algunos riesgos. En esta sección los compilaremos y describiremos para ayudarte a entender sus implicaciones de acuerdo a los diferentes roles que podrías jugar cuando uses Ceno:

  • como usuaria(o) navegando sitios Web
  • como sembrador(a) compartiendo contenido a través de la caché distribuída que visitaste previamente
  • como puente permitiendo a otra(o)s usuaria(o)s alcanzar un inyector

Como usuaria(o)

¿Pueden los puentes ver mis comunicaciones con el servidor de origen?

No. El único rol de un puente es redirigir el tráfico en bruto entre un cliente y un inyector. Esta comunicación siempre está cifrada y los puentes no tienen las claves privadas requeridas para acceder al contenido de las comunicaciones.

¿Pueden los inyectores ver mis comunicaciones con el servidor de origen?

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.

Por otro lado, cuando la solicitud utiliza el modo de navegación personal, el cliente no la modifica, pero toda la comunicación queda cifrada para el servidor de origen. Esto significa que en este otro caso el inyector no puede descifrar el contenido.

Nota técnica: Solamente las solicitudes HTTP GET son candidatas para la inyección, con los parámetros de la consulta removidos, junto con todos excepto un conjunto limitado de campos de encabezados HTTP fundamentales y conservadores de la privacidad.

¿Pueden los inyectores ver mi dirección IP?

Sí. Sin embargo, los inyectores no pueden distinguir si una solicitud vino desde un(a) usuaria(o) de Ceno o un puente. Por lo que a las solicitudes yendo al inyector no se les puede asignar confiablemente una dirección IP de origen.

¿Pueden mis datos privados filtrarse a la caché distribuída?

Esperamos que no. Como se mencionó arriba, el Navegador Ceno se esfuerza por eliminar cualquier dato privado (contraseñas, cookies…) de cualquier solicitud para inyección. Además, el inyector no siembra por sí mismo; de hecho, su único propósito es firmar contenido de manera que la(o)s clienta(e)s Ouinet puedan sembrarlo. Esto significa que cuando el contenido vuelve al/la clienta(e), es vuelto a analizar, y si el servidor de origen indicó que es de naturaleza privada, Ceno tampoco lo sembrará.

Aún así, pudiera haber casos de páginas pobremente diseñadas o maliciosas las cuales podrían recolectar alguna información sobre tí (como una dirección electrónica en un formulario o algunas huellas digitales del navegador usando JavaScript) e incluirlas en otro vínculo URL como componentes normales de la ruta (ej., http://example.com/subscribe/you@example.org). Si sospechas que una página podría estar haciendo eso, mejor elegir el lado seguro y usar la navegación personal para ella.

¿Puede el servidor de origen saber si estoy usando Ceno?

Muy probablemente no. Cada vez que Ceno contacta un servidor de origen directamente, se comporta como lo hace un Firefox para Android normal, por lo que tu dispositivo particular aparece como una aplicación Firefox normal de la misma versión.

Sin embargo, cuando usa un inyector para obtener algún contenido desde su servidor de origen, hay (al menos) dos maneras para que este sepa que Ceno o Ouinet están involucrados:

  1. La dirección primitiva de la conexión llegando al servidor de origen se encuentra en el enjambre de inyectores (ya que la conexión viene de hecho desde el inyector);
  2. La presencia o ausencia de cierta información en la solicitud de contenido es característica de Ouinet. Esto pasa cuando el inyector está solicitando el contenido porque tu cliente le pidió que descargue y firme ese contenido, ya que el inyector remueve de la solicitud información única a tu dispositivo en particular.

Por favor ten en cuenta que estas solamente marcan la solicitud como proviniente desde Ouinet, pero no las vinculan a tí o a tu dispositivo en particular. Sin embargo, si la solicitud aún contenía alguna información personalmente identificable por algunas de las razones mencionadas en la pregunta previa, pudiera ser usada para marcarte como usuaria(o) de 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.

Como sembrador(a)

¿Qué datos son sembrados desde mi dispositivo?

Actualmente, el único contenido que es sembrado por Ceno es cualquier contenido Web no privado que fue solicitado en modo de navegación pública. Esto también significa que la(o)s usuaria(o)s no siembran nada que no hayan accedido ella(o)s mismos en el pasado reciente.

¿Cualquiera puede descubrir lo que siembro?

Sí y no. Cualquiera con suficiente entendimiento de las operaciones de Ouinet podría construir una herramienta para descubrir desde qué direcciones IP un contenido en particular está siendo compartido (como con BitTorrent). Sin embargo, no es posible apuntar a una dirección IP específica y obtener una lista de todo el contenido sembrado por los clientes detrás de ella.

Como puente

¿Pueden otra(o)s encontrar mi dirección IP?

Sí, cada Navegador Ceno capaz de comunicarse con los inyectores registrará su dirección IP en el enjambre de puentes donde otra(o)s clientes Ouinet puedan encontrarlos.

¿Es posible que esté ayudando a alguien a acceder a contenido que es ilegal en mi país?

Sí. Sin embargo, los puentes solamente repiten una comunicación cifrada entre un cliente Ouinet y un inyector. Esto significa que un puente nunca hará solicitudes directas por contenido a cualquier otro servidor de parte de alguien más.

Usando Navegador 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.

Cuando sea relevante, serán incluidas capturas de pantalla para ilustrar el texto. Por favor ten en cuenta que estas podrían diferir ligeramente de lo que ves en tu dispositivo, especialmente a medida que progresa el desarrollo de Ceno. Esta documentación está actualizada para Ceno versión 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.

Instalando Ceno

Navegador Ceno puede ser instalado a través de los siguientes medios:

  • 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 requiere un dispositivo basado en ARM64 o ARM32 compatible con Neo que ejecute al menos Android 4.1 Jelly Bean, por lo que la mayoría de dispositivos móviles posteriores a finales de 2012 deberían funcionar. Ceno no requiere permisos especiales para ejecutarse.

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.

Deteniendo Ceno completamente

Cada vez que inicies la app, un icono de Ceno aparecerá en la barra de notificaciones de tu dispositivo. Este icono representa al servicio del Navegador Ceno, que es la parte de Ceno que se ejecuta permanentemente (aún cuando no estés navegando) y permite a otra(o)s clientes usar tu dispositivo como puente y descargar contenido desde él en cualquier momento.

Ya que ejecutar tal servicio usa recursos de red y procesador, podrías querer detenerlo cada vez que estés desplazándote (esto es, no conectado al Wi-Fi o lejos de un cargador). Pulsando sobre la notificación adjunta al icono detendrá tanto Ceno como a su servicio al mismo tiempo (hasta que abras Ceno de nuevo).

Figure: Tap on the notification to stop the Ceno service

Purgando todos los datos en Ceno (el "botón de pánico")

La notificación servicio Navegador Ceno mostrada arriba incluye unas pocas acciones de acompañamiento que pueden ser desencadenadas pulsando sobre ellas. La acción Inicio solo abrirá a Ceno con una nueva pestaña de navegación pública mostrando su página de inicio. La acción Borrar demanda más explicación.

Nota: Si las acciones debajo de la notificación no son visibles, arrastra la notificación desde su centro hacia el fondo para desplegarla. Si sólo aparece la acción Inicio, puede que tu dispositivo sea demasiado antiguo para permitir la acción Borrar.

Si alguna vez necesitaras detener Ceno rápidamente y limpiar absolutamente todos los datos relacionados con él (no solamente el contenido cacheado, sino también configuraciones como favoritos, contraseñas y todo el historial de navegación), puedes pulsar sobre Borrar. Para evitar perder tus datos accidentalmente, esto aún no eliminará nada, solo te mostrará una acción adicional por un breve momento, como se ilustra abajo:

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

Si pulsas sobre la acción , Ceno será detenido y todos sus datos removidos sin más preguntas, dejando efectivamente tu dispositivo como si Ceno nunca hubiese sido usado.

Si no pulsas sobre la acción, desaparecerá en unos pocos segundos.

Nota: El método descrito arriba requiere que Ceno esté ejecutándose en tu dispositivo. Para lograr el mismo efecto cuando Ceno está detenido, puedes usar la página general de Ajustes de Android y, bajo la entrada Apps, elegir Ceno y luego Limpiar datos.

Como alternativa más drástica, podrías desinstalar la app completamente.

Advertencia: Android aún podría mantener otros rastros de haber usado una app además de sus datos, por ejemplo en su registro del sistema.

Modos de navegación público y personal

As described in a previous section, Ceno has two different modes of operation depending on whether you want to share the content that you browse with others (Public browsing) or not (Personal browsing).

Esta configuración se aplica a cada pestaña que abra en el navegador, es decir, puede tener pestañas de navegación pública y pestañas de navegación personal. Por defecto, Ceno utiliza la navegación pública siempre que se inicia o se abre una nueva pestaña (a través de la opción "Pestañas públicas" de la página de inicio o del icono de pestañas situado junto al icono "Limpiar" de la barra de direcciones). Para abrir una nueva pestaña en modo de navegación personal, basta con elegir Pestañas personales en la página de inicio o cambiar al icono de modo personal en el menú de pestañas.

Puedes distinguir las pestañas públicas de las personales porque las públicas tienen una barra de herramientas más clara (o blanca):

Figure: A Public browsing tab

En cambio, las pestañas privadas tienen una barra de herramientas más oscura:

Figure: A Personal browsing tab

Una vez que haya cargado una página en una pestaña, el icono Ceno de la barra de direcciones le ayudará a saber cómo ha recuperado realmente los distintos elementos del contenido. Nos ocuparemos de este icono más adelante.

Configuración de Ceno

El Navegador Ceno te permite cambiar algunas configuraciones específicas de Ouinet y obtener información acerca de tu cliente en una manera simple. Esto no debiera ser necesario para la operación normal, pero puede ser útil para ayudar a probar diferentes estrategias en contra de la interferencia de red, e informar de problemas con la app.

Nota técnica: Estas opciones son provistas por la Extensión Ceno, una extensión de Firefox que viene instalada con Ceno y se ocupa de la integración apropiada con Ouinet, como la habilitación de la inyección de contenido y la descarga de caché bajo navegación pública, dando a el/la usuaria(o) pistas acerca de la fuente del contenido que está siendo visualizado, y notificando acerca de nuevas versiones de Ouinet.

Estas características están disponibles en una página que puede ser accedida eligiendo Ceno en el menú principal de la app. Por favor ten en cuenta que la entrada del menú podría tardar unos pocos segundos en aparecer al iniciarse la app. La página debería verse así:

Figure: The Ceno Settings page

Eligiendo mecanismos de acceso

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.

  • Directo desde el sitio web (o acceso de origen) le permite a Ceno intentar alcanzar al servidor de origen directamente antes de intentar otros mecanismos habilitados abajo.

    Aunque este mecanismo funciona tanto en el modo de navegación prrsonal como en el pública, los contenidos así recuperados no pueden compartirse con otras personas.

    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.

  • A través de la red Ceno (privada) (o acceso por proxy) le permite a Ceno usar inyectores como servidores proxy HTTP normales para alcanzar a los servidores de origen.

    Este mecanismo sólo funciona en el modo de navegación personal.

    Al acceder contenido sobre HTTPS, solamente los servidores de origen serán capaces de descifrar el tráfico. Al usar HTTP común, el inyector también podría ver el tráfico no cifrado (pero aún así no firma o comparte su contenido con otros). Otra(o)s participantes, como los puentes, nunca verán el tráfico no cifrado.

  • A través de la red Ceno (pública) (o acceso por inyector) permite a Ceno quitar cualquier información privada de las solicitudes y enviarlas a un inyector. El inyector obtiene el contenido desde un servidor de origen, lo firma y lo envia de vuelta a Ceno, el cual empezará a sembrarlo.

    Otra(o)s participantes (como los puentes) no verán el tráfico no cifrado.

    Este mecanismo solamente funciona en el modo de navegación público.

  • Compartido por otra(o)s usuaria(o)s de Ceno le permite a Ceno intentar descargar contenido desde la caché distribuída, esto es desde otros clientes de Ceno y Ouinet sembrándolo.

    Este mecanismo solamente funciona en el modo de navegación público.

Si desactiva todos los mecanismos disponibles para los modos de navegación pública o personal, éstos quedarán inutilizados. Si establece una configuración de este tipo, aparecerá una advertencia como la que se muestra a continuación:

Figure: Invalid settings for private browsing

Acerca de tu app

Esta página también te provee con alguna información acerca de tu aplicación de Ceno Browser y el cliente Ouinet:

  • Tamaño de la caché local muestra una aproximación de cuánto almacenamiento es ocupado por el contenido que está siendo sembrado desde la caché local de tu dispositivo.
  • Contenido compartido por tí te permite comprobar el contenido que está siendo anunciado por tu dispositivo.
  • Estado del cliente Ouinet, si es started, significa que tu cliente Ouinet pudo ejecutarse exitosamente. De otra manera, puede haber dificultades en la conectividad o algún error interno. Por favor incluye esta información en tus informes de problemas.
  • Estado de alcance indica qué tan probable es que tu dispositivo sea capaz de sembrar contenido efectivamente para otra(o)s clientes. También inclúyelo en informes.
  • Estado UPnP indica si Ceno fue capaz de decirle a tu enrutador o punto de acceso que permita conexiones entrantes hacia él. También inclúyelo en informes.
  • Puntos de conexión UDP locales son las direcciones de Internet en tu dispositivo usadas por Ceno para sembrar contenido firmado para otra(o)s clientes. Estos se muestran para ayudar a probar la app y eliminar errores, y generalmente no deberían ser divulgados.
  • Puntos de conexión UDP externos son las direcciones de Internet en tu enrutador dadas a tu tráfico de Ceno. Disponibles únicamente en enrutadores con UPnP habilitado, también son útiles para diagnósticos y generalmente no deberían ser divulgados.
  • Puntos de conexión UDP públicos son las direcciones de Internet que ven las/los clientes Ouinet fuera de tu red cuando se comunican con tu dispositivo. También para diagnósticos y no deberían ser divulgados.
  • Servidores extra de arranque de BitTorrent son aquéllos que ayudarán a tu dispositivo a conectarse a la red BitTorrent, si los servidores por defecto no funcionan. También inclúyelos en informes. Puedes editar la lista de anfitriones separados por espacios (con puertos opcionales) o añadir los tuyos propios, a continuación elige Guardar. Los cambios se aplicarán la próxima vez cuando tu cliente Ouinet sea iniciado.
  • Ceno Browser indica la versión exacta de Ceno que estás usando. También inclúyela en los informes.
  • Extensión Ceno muestra la versión de la extensión que integra Firefox con Ceno. También inclúyela en los informes.
  • Ouinet muestra la versión de Ouinet detrás de Ceno. También inclúyela en los informes.
  • Protocolo Ouinet es el número de versión del protocolo que usa Ceno para hablar con otros clientes Ouinet e inyectores. También inclúyela en los informes.

Purgando la caché local

Al lado del valor de arriba Tamaño de la caché local, hay un botón que te permite detener el sembrado y descartar todo el contenido compartido por tu dispositivo a través de Ouinet. Esto te permite liberar algo del espacio de almacenamiento en tu dispositivo, mientras que mantienes otras configuraciones Ceno como los Favoritos.

Si quieres limpiar la caché de navegación normal de Ceno (la usada por el navegador pero no compartida con otra(o)s) u otros ítems como cookies, el historial de navegación o los favoritos, deberías elegir Configuración en el menú principal de la app, luego Limpiar datos privados. Se te preguntará acerca de qué ítems deseas limpiar.

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.

Recopilando mensajes de registro

En la parte inferior de la página hay una casilla de comprobación Habilitar archivo de registro que te permite recopilar todos los mensajes internos de Ouinet y descargarlos a un archivo. Esto solamente debería ser usado al diagnosticar algún problema en Ceno; solo sigue estos pasos:

  1. En la página Configuración de Ceno, marca Habilitar archivo de registro.
  2. Vuelve a navegar y haz cualquier acción que desencadene el comportamiento problemático.
  3. Regresa a la página Configuración de Ceno y haz clic en el vínculo Descargar al lado de la casilla de comprobación Habilitar archivo de registro. Guarda el archivo para su uso posterior. Android podría preguntarte en este momento si le permites a Ceno acceso a medios almacenados: esto es necesario para poder guardar el archivo.
  4. Desmarca Habilitar archivo de registro para evitar que crezca demasiado.

Ahora puedes usar el archivo de registro guardado para documentar un informe de problemas, pero intenta evitar hacerlo público ya que podría contener información delicada acerca de tu navegación.

Probando el Navegador

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.

Para completar todas las pruebas a continuación, necesitarás al menos dos dispositivos conectados a la misma red Wi-Fi, y un tercero en una red completamente diferente.

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).

Accediendo a un inyector

Comprobemos primero si tu Navegador Ceno puede alcanzar a un inyector. Esto podría parecer trivial, pero tu cliente ya estaría ejercitando varias características de Ouinet en el proceso: buscando la dirección del inyector en el enjambre de los mismos, intentando contactarlo directamente y, si está bloqueado por tu proveedor de acceso o país, buscando en el enjambre de puentes e intentando contactar al inyector a través de algún otro cliente Ouinet.

En el primer dispositivo efectúa los siguientes pasos:

  1. Primero de todo, instala Ceno y ejecútalo. Aparecerá su página de inicio.
  2. Abre el menú principal de la aplicación y elige Ajustes para abrir la página Ajustes de Ceno. Ya que solo deseamos probar el acceso a los inyectores, desmarca todas las casillas para las fuentes de contenido excepto Vía la red Ceno (pública).
  3. Vuelve a la página inicial de Ceno. Selecciona uno de los sitios Web recomendados, o bien ingresa el URL de algún otro sitio en la barra de direcciones en la parte superior de la ventana. Si sabes acerca de un sitio que usualmente está bloqueado para tí, ¡continúa e ingrésalo!
  4. El sitio elegido debería eventualmente aparecer.

Nota: Si obtienes una página falsa en vez de una legítima, usa la barra de direcciones para ingresar el URL del sitio con https:// al inicio (en vez de http://) y repite la prueba.

Si el sitio se carga, ¡puedes estar feliz de que tu dispositivo puede alcanzar al inyector! Ya que eres capaz de consultar a enjambres y contactar a otros clientes, probablemente también seas capaz de descargar contenido desde la caché distribuída.

De paso, si presionas el ícono Ceno en la barra de direcciones, se abrirá una ventana emergente como la de abajo, mostrando cuántos elementos del sitio fueron descargados desde las diferentes fuentes. Solamente Vía la red Ceno (pública) debería tener un valor no nulo ya que las otras fuentes fueron deshabilitadas.

Figure: Sources used when testing injection

En cambio, si hubiera utilizado la navegación personal con la configuración predeterminada, es posible que hubiera visto una ventana emergente como la siguiente, con recuentos distintos de cero en Directo desde la página web o Vía red Ceno (privada).

Figure: Sources used with private browsing

Obteniendo contenido desde usuaria(o)s cercana(o)s

Ya que tu primer dispositivo fue capaz de obtener algún contenido desde un inyector, dejanos probar si es capaz de compartirlo con otro dispositivo a través de la caché distribuída. La manera más simple es usar el soporte dispositivo a dispositivo de Ceno para comprobar si funciona la obtención y verificación de contenido firmado.

Después de completar exitosamente la prueba de arriba sobre el primer dispositivo, deja a Ceno ejecutándose en él (el ícono Ceno debería aparecer en su barra de notificación). Luego obtén un segundo dispositivo (puedes invitar a un(a) amigo(a) para ayudarte a probar) y conectarle a la misma red Wi-Fi. Luego, sigue los pasos de abajo en el segundo dispositivo:

  1. Instala Ceno si fuera necesario e inícialo como está arriba.
  2. Abre la página de Configuración de Ceno como arriba. Ya que solamente deseamos probar el acceso a la caché distribuida, desmarca todas las casillas para las fuentes de contenido excepto Compartido por otra(o)s usuaria(o)s de Ceno.
  3. Vuelve a la página inicial de Ceno y visita el mismo sitio de la misma manera en que lo hiciste arriba (esto es, seleccionando uno de los sitios web recomendados, o ingresando su URL en la barra de direcciones).
  4. El sitio elegido debería eventualmente aparecer.

Si no funciona, tu red Wi-Fi podría estar bloqueando la comunicación directa entre sus dispositivos. Este "aislamiento de cliente" podría pasar en redes públicas como aquellas de parques, bares u hoteles. Por favor intenta de nuevo sobre una red diferente.

Si funciona, significa que ambos dispositivos son capaces de entregar ese contenido a otros clientes. Pulsando el icono Ceno de la barra de direcciones debería aparecer una ventana emergente como la de abajo, donde solamente Compartido por otra(o)s usuaria(o)s de Ceno tiene un valor no nulo.

Figure: Sources used when testing distributed cache retrieval

Finalmente, también podrías haber notado que hay un contador para Compartido por tí. Esta no es una fuente diferente en sí misma: los elementes contados aquí son efectivamente parte de la caché distribuída, pero sucede que ya están almacenados en tu dispositivo, por lo que Ceno no necesita descargarlos de la red.

Obteniendo contenido desde usuaria(o)s remota(o)s

Hemos hecho una prueba a pequeña escala de la caché distribuída. Probemos ahora cómo funciona a través de Internet.

Luego de completar exitosamente la prueba de arriba, deja Ceno ejecutándose sobre el primer dispositivo como en la prueba previa, y detén Ceno en el segundo (mostrando sus notificaciones y presionando "Pulsar para detener").

Esta vez necesitarás un tercer dispositivo, pero debe estar conectado a una red Wi-Fi diferente (tal vez otra(o) amiga(o) puede ayudar desde su hogar). Los pasos a seguir para ese dispositivo son exactamente los mismos que aquellos en la prueba anterior.

Si el tercer dispositivo puede cargar el sitio usado para la prueba, ya está todo listo. El primer dispositivo es capaz de sembrar contenido para otra(o)s, y con toda probabilidad actuar también como puente.

¡Felicitaciones!

Ayudando a otra(o)s usuaria(o)s de Ceno a navegar la Web

Una red punto a punto construída desde cada nodo conectado a ella (sí, ¡eso significa que tú también!). A mayor cantidad de nodos, más fuerte y más versátil se torna la red. Si estás ejecutando el Navegador Ceno desde un país que no censura la Internet (o no tan pesadamente como algunos), considera ayudar a otra(o)s usuaria(o)s de Ceno volviéndote un nodo puente. Entonces empezarás a enrutar tráfico entre clientes viviendo en países abrumadoramente censurados e inyectores Ceno. No serás capaz de ver su tráfico (será enviado a través de un túnel cifrado), y nada de este tráfico permanecerá en tu dispositivo.

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).

Cómo volverse un puente Ceno

Esta funcionalidad ya está incorporada dentro de Navegador Ceno. Tu dispositivo necesitará estar conectado a una red Wi-Fi que tenga habilitado UPnP o bien configurada explícitamente para redirigir puertos para Ceno. Vea las siguientes secciones para mayores detalles.

Sin embargo, por favor nota que Android solamente le permitirá a un dispositivo móvil actuar como un puente apropiado mientras que estés usándolo activamente, ya que de lo contrario las funcionalidades de ahorro de energía reducirán la operación de 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.

Por lo tanto si tu intención es tener a Ceno actuando permanentemente, como un puente siempre alcanzable, además de una red Wi-Fi apropiadamente configurada necesitarás:

  1. Tener tu dispositivo conectado al suministro eléctrico en todo momento.

  2. Tener la pantalla del dispositivo siempre activa.

    Una manera conveniente de hacer esto sin consumir demasiada energía y sin la desagradable iluminación permanente es utilizar el protector de pantalla de Android: habilítalo bajo Ajustes / Pantalla / Protector de Pantalla (o Daydream en algunas versiones), elige el widget Reloj y Cuando iniciar el protector de pantalla en el menú y selecciona Mientras se esté cargando o Cualquiera. Un reloj muy tenue aparecerá sobre un fondo negro mientras que el dispositivo no esté activo.

    Por favor ten en cuenta que no deberías usar el botón de encendido para bloquear el dispositivo ya que esto apagará la pantalla. En vez de eso, solo espera que el dispositivo se bloquee por sí mismo con la pantalla encendida.

Si esa configuración no es una opción para tí, ¡no te des aún por vencida(o)! Si tienes una computadora con buena conectividad que está activa la mayor parte del tiempo, por favor continúa leyendo.

Ejecutando un puente en una computadora

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

Para implementar un contenedor con un cliente Ceno solamente necesitas ejecutar el siguiente comando en una terminal (da un poco de miedo pero puedes copiar y pegarlo ya que está en la línea de comando):

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

Si tu computadora no está basada en GNU/Linux, el comando necesita ser ligeramente diferente:

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.

Habilitando UPnP en tu enrutador 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.

Un estado como el siguiente indica que UPnP no está disponible o no funciona en tu enrutador Wi-Fi:

Estado de alcanzabilidad

undecided

Estado UPnP

disabled / inactive

El siguiente estado indica que UPnP está probablemente funcionando y Ceno está en este momento verificando la conectividad:

Estado de alcanzabilidad

undecided

Estado UPnP

enabled

El estado a continuación indica que UPnP está funcionando y puedes actuar como puente para las conexiones de otra(o)s usuaria(o)s de Ceno:

Estado de alcanzabilidad

likely reachable / reachable

Estado 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.

Hay muchos enrutadores Wi-Fi en el mercado y cada uno tiene sus propias características particulares. He aquí una lista de las instrucciones de algunos fabricantes para habilitar UPnP:

Usando redireccionamiento de puertos como alternativa a UPnP

En vez de habilitar UPnP en tu enrutador, puedes crear una regla de redireccionamiento de puerto para asegurarte que las conexiones desde la red Ceno sean dirigidas a tu dispositivo. Necesitarás iniciar sesión en la interfaz administrativa del enrutador y ubicar la opción redireccionamiento de puertos. Para ver a cuál dirección IP necesitas redirigir las conexiones y el puerto relevante, abre la página Configuración de Ceno y mira la sección Puntos finales UDP locales.

Puntos finales UDP locales

192.168.1.132:28729

La redirección de puerto debe ser para el protocolo UDP (no TCP). Ceno elige un puerto aleatorio en la primera ejecución y lo mantiene por las subsiguientes, pero la dirección IP de tu dispositivo en la red local podría cambiar de tiempo en tiempo. Por lo que periódicamente deberías revisar la página Configuración de Ceno para ver que tu dispositivo sea alcanzable para la red Ceno.

Nota técnica: Alternativamente, puedes asegurarte de que el enrutador siempre asigne la misma dirección IP a tu dispositivo (ej., a través de una asignación DHCP estática para la dirección MAC del dispositivo).

Solución de problemas

Esta sección te dará algunas pistas acerca de qué hacer cuando diferentes, problemas conocidos surgen con Ceno y Ouinet. Por favor ten en mente que estos son proyectos experimentales, y que su operación está sujeta a una multitud de factores más allá de nuestro control, como la configuración particular y el estado de la infraestructura de red, como así también qué contenido han descargado otra(o)s usuaria(o)s y la característica de sus conexiones.

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

No hay ninguna entrada Ceno en el menú de la app

La Extensión Ceno aún podría estar cargándose. Por favor sé paciente.

Todos los widgets están en gris en la página Configuración de Ceno

La Extensión Ceno se ha cargado, pero aún no ha tenido oportunidad de recibir el estado desde Ouinet. Ya que podría tomar un momento para que Ouinet esté lista, por favor sé paciente.

Si la página de Configuración permanece así después de más de dos minutos, Ouinet podría haber encontrado alguna dificultad mientras se iniciaba.

Intenta visitar alguna página, si es posible una que usualmente esté disponible. Si obtienes un error como "Fallo al descargar el recurso (después de intentar todos los mecanismos configurados)", Ceno podría estar experimentando algunas dificultades con la conectividad general (como ser incapaz de unirse a la red BitTorrent). Si estás sobre una conexión móvil, intenta de nuevo con Wi-Fi.

Si obtienes un error como "El servidor proxy está rechazando conexiones" al visitar la página, intenta detener otras aplicaciones que podrían estar ofreciendo algún servicio al dispositivo, y luego reinicia Ceno.

Nota técnica: Esto podría pasar si otra aplicación ya está escuchando sobre los puertos TCP 127.0.0.1:8077 o 127.0.0.1:8078.

El Estado del cliente Ouinet bajo Configuraciones de Ceno no es started

El cliente Ouinet ejecutado por Ceno está encontrando problemas para iniciarse en tu dispositivo.

Cuando ejecutas Ceno, el estado podría indicar starting por unos segundos, esto es normal. Sin embargo, si el estado permanece en starting por demasiado tiempo, podría ser una señal de dificultades serias de conectividad que evitan que la aplicación alcance a la red BitTorrent. Por favor, comprueba tu conexión de red e intenta reiniciar Ceno. Si tienes una conexión funcional, pero el estado permanece en starting, por favor contáctanos (sobre todo si el estado fue started en ejecuciones anteriores).

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.

Si ves algún otro estado, podría haber algún error interno en el cliente Ouinet. Por favor infórmanos sobre esta dificultad.

Al acceder a algún contenido aparece "Fallo al descargar el recurso"

Esto significa que Ceno intentó todos los mecanismos disponibles para acceder al contenido, pero ninguno tuvo éxito.

Deberías asegurarte de que los siguientes requerimientos sean cumplidos para que Ceno funcione:

  • 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.
  • Tu dispositivo tiene una conexión funcional a la red, por ejemplo tu navegador Web normal es capaz de abrir algunos sitios Web. Ceno y Ouinet no pueden funcionar cuando toda la conectividad de red está cortada (aunque la(o)s usuaria(o)s aún podrían encontrar un punto de acceso Wi-Fi común para compartir de dispositivo a dispositivo).

Si ese es el caso, vale la pena explicar qué podría estar pasando para que todos los mecanismos de acceso fallen, para darte una idea de las posibilidades que tienes de obtener contenido usando Ceno.

Acceso al origen

Tu Navegador Ceno no puede alcanzar directamente el contenido del servidor de origen. O bien el servidor está teniendo algunas dificultades por sí mismo (ej.: está caído o bajo algún ataque), o alguien está interfiriendo con tu conexión a él.

Este es el caso principal de uso para Ceno y los otros mecanismos deberían compensar por él.

Acceso al Proxy/Inyector

Alguien está interfiriendo con tu conexión a direcciones de Internet en el enjambre de inyectores. Ya que esto se espera que pase eventualmente en la medida en que Ceno (y Ouinet) se popularicen, Ceno recurre a alcanzar a los inyectores a través de otra(o)s clientes actuando como puentes.

Hay razones diferentes para que Ceno no sea capaz de alcanzar tales clientes:

  • Ningún otra(o) cliente es alcanzable por ti. Si solamente unos pocos clientes Ouinet están en línea, es por completo posible que ninguna(o) de ella(o)s esté en una red que pueda ser alcanzada desde el exterior. Esto debería tornarse menos probable a medida que Ceno y Ouinet se popularicen y más clientes con conectividad diversa aparezcan en línea.

    El caso extremo aquí es que las conexiones entre clientes Ouinet sean detectadas como tales por un censor y sean bloqueadas. Esto es bastante improbable (ya que podría implicar bloquear todo el tráfico de BitTorrent) y por el momento es más allá de lo que soporta Ouinet, pero planeamos hacerla más resistente contra estos ataques.

  • Ningún otro cliente puede alcanzar a un inyector. Ya que es improbable que todos los inyectores estén caídos simultáneamente, eso podría significar que solamente puedes alcanzar clientes Ouinet que están afectados por una interferencia de red similar a la tuya.

    Esto puede pasar cuando todo el tráfico saliendo o entrando al país en el que estás es interrumpido. En este caso, Ceno recurriría a obtener y usar el contenido desde la caché distribuída, aún si no está actualizado.

    De nuevo, en la medida en que Ceno y Ouinet se tornen más populares, se incrementan las oportunidades de que haya al menos unos pocos clientes que sí tengan alguna clase de acceso a sitios internacionales. Aún si el acceso es precario, un único cliente Ouinet capaz de inyectar algún contenido dentro del país podría bastar para prmitir que se difunda (sobre la caché distribuída) sin necesidad ulterior de acceder al mundo exterior.

Finalmente, nosotra(o)s administramos algunos clientes Ouinet con buena conectividad en países (esperemos) libres de censura para intentar evitar esas dos situaciones, pero por favor ten en cuenta que clientes con direcciones de Internet de tal estabilidad también podrían ser bloqueados.

Caché distribuída

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).

Por favor ten en cuenta que algún contenido que no es considerado seguro para compartir nunca será inyectado, sin importar cuántas personas lo descarguen usando navegación pública. Esto incluye contenido marcado como privado por el servidor de origen, contenido que requiere autenticación, y algo del tráfico intercambiado por ciertas aplicaciones Web dinámicas.

También ten presente que clientes que tienen copias de contenido inyectado necesitan ser alcanzables por tí. Aquí se aplican las mismas observaciones descritas en el punto previo para alcanzar clientes puente.

Una nota sobre sitios solo 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.

La selección automática de HTTPS es hecha para prevenir que alguien intercepte una conexión HTTP y la dirija hacia un servidor ilegítimo, resultando en contenido espurio (como un mensaje de bloqueo). Esta clase de secuestro es trivial de detectar con HTTPS, por lo que Ceno puede evitarla en vez de ser engañado para cargar el contenido espurio.

Aunque es muy inusual, algunos sitios no aceptan HTTPS, y ningún mecanismo de acceso funcionará para ellos. Si tienes completa seguridad de que este es el caso para un sitio que acaba de fallar al cargarse en Ceno, puedes editar su URL en la barra de direcciones, cambiando https:// a http://, e intentar de nuevo.

Si siempre quieres acceder a un sitio en particular sobre HTTP simple, puedes agregar una excepción permanente así:

  1. En el menú principal de la app, elige HTTPS by default. Verás la página de configuraciones de la extensión.
  2. Ingresa el nombre de dominio del sitio en la casilla de texto, como se muestra abajo. Mira allí cómo podrías ingresar varios sitios separándolos con espacios o nuevas líneas. Por favor advierte que ingresando ejemplo.com también incluirá todos los sitios bajo ese dominio, como www.ejemplo.com o x.y.ejemplo.com.
  3. Cuando termines, ve hacia atrás o cierra la pestaña.

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.

Una página muestra contenido falso (como un mensaje bloqueado)

Esto puede suceder cuando usaste una versión antigua de Ceno para visitar un sitio bloqueado en el pasado, y alguien interceptó la conexión y la dirigió hacia un servidor ilegítimo. Ceno luego recordó esa redirección, y ahora abre automáticamente este último sitio cuando intentas visitar el anterior.

Una manera de solucionar esta dificultad es limpiar el caché normal de navegación de Ceno eligiendo Configuración en el menú principal de la app, luego Limpiar datos privados, y deshabilitar todas las casillas excepto Caché antes de pulsar sobre Limpiar datos.

Por favor ten en cuenta que las versiones 1.3.0 y posteriores de Ceno evitan el secuestro de sitios visitados recientemente empleando siempre HTTPS, como se explicó en la sección previa.

Otros no pueden descargar contenido sembrado por mi dispositivo

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.

Si el contenido no se carga, podría ser que Ceno ya lo haya eliminado, ya que limpia automáticamente al contenido obsoleto (en forma predeterminada, más de una semana de antigüedad) de tu caché local. Habilita la fuente Vía la red Ceno (pública) en la página Configuración y accede al contenido de nuevo. Por favor espera un par de minutos para que el dispositivo anuncie el contenido en el índice de la caché distribuida. De nuevo, haz de Compartido por otros usuarios de Ceno la única casilla marcada, y accede al contenido una vez más; si aún no se carga, podría ser que ese contenido en particular no es determinado como seguro para compartir por Ouinet.

Si el paso previo funciona, pero otro dispositivo solamente con la fuente Compartido por otra(o)s usuaria(o)s de Ceno habilitada aún indica "Fallo al descargar el recurso…", hay dos escenarios posibles. Si ambos dispositivos están en la misma red (ej.: sobre el mismo punto de acceso Wi-Fi), podría ser que la red no permita la comunicación directa entre dispositivos conectados a ella. Esto pasa en algunas redes Wi-Fi públicas, por lo que intenta utilizar una privada.

Si los dispositivos están en diferentes redes, podría ser debido a una variedad de razones. Una de ellas es que la red del primer dispositivo no permite conexiones entrantes: si abres su página Configuración de Ceno, bajo Estado de alcanzabilidad debería decir alcanzable o probablemente alcanzable. De otro modo el sembrado podría no ser posible desde esa red tal como está.

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.

Anexo: El front-end del cliente 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

Los ítems mostrados en la página incluyen:

  • Un vínculo para habilitar al cliente como autoridad certificadora (CA) en tu navegador, ya que el cliente necesita interceptar tráfico 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.

    Por favor ten en cuenta que nada de esto necesita ser hecho para el Ceno Browser, ya que ya está configurado así.

  • Botones para habilitar o deshabilitar los diferentes mecanismos usados por el cliente para acceder al contenido.

  • Selectores para elegir diferentes niveles de registro, como el predeterminado INFO (mensajes informativos, advertencias y errores) o DEBUG (salida detallada útil para informar errores). El archivo de registro también puede ser habilitado y descargado desde aquí.

    Al habilitar el archivo de registro, el nivel de registro automáticamente se establece a DEBUG (aunque también puedes cambiarlo de nuevo desde aquí). Al deshabilitar el archivo de registro, el nivel de registro original es restablecido.

  • Estado global del cliente e información de versión. Útil al reportar errores.

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

  • La clave pública usada para verificar firmas de inyectores en la caché distribuida.

  • Información en tu caché local como la antigüedad máxima del contenido, el tamaño aproximado de la caché, un botón para purgarla completamente, y un vínculo a la lista de entradas de caché anunciadas.

  • El directorio de la caché estática externa, si está habilitada (Ceno no usa esto en la actualidad).