Censorship.no! Manual de Usuário

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.

Introdução

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.

A Web depende da capacidade de seus dispositivos alcançarem computadores especiais chamados servidores web (administrados por criadores de conteúdo, editores e provedores de serviço) que guardam o conteúdo que você deseja recuperar para fazer isso de uma maneira sincronizada - mais parecida com ter uma conversa ao vivo no telefone que com trocar algumas cartas. Infelizmente, essa ação requer que o servidor web de que você precisa esteja conectado à rede e tenha recursos disponíveis suficientes para conversar com o seu dispositivo naquele momento.

O advento das redes de distribuição de conteúdo (ou CDNs, como as comerciais Akamal e Cloudfare, ou a Deflect, destinada à sociedade civil) retirou parte da carga destes servidores web através da distribuição de cópias do conteúdo para data centers espalhados ao redor do mundo. Desse modo, ele pode estar mais perto dos dispositivos e, por consequência, ser alcançado mais rapidamente, ao memo tempo em que mantém os servidores de origem protegidos do acesso direto. Contudo, no momento os servidores CDN (e, portanto, as organizações que os administram) precisam ser considerados confiáveis tanto pelo servidor de origem quanto pelos seus dispositivos e precisam, também, ser alcançáveis em todos os momentos.

Infelizmente, há situações nas quais a conectividade no geral é escassa (em países em desenvolvimento ou carentes, empobrecidos ou em regiões rurais), custosa (com alguns países cobrando mais por tráfego internacional) ou foi ativamente bloqueada por um agente estatal (explicitamente ou como resultado de um desligamento geral). Nestes casos, alcançar o servidor web de origem ou até os servidores CDN é difícil ou impossível e seu dispositivo não será capaz de obter aquele conteúdo - mesmo que eu tenha conseguido acessá-lo algumas horas atrás e estejamos morando apenas a algumas ruas de distância.

É aqui onde o Navegador CENO e a Ouinet entram em cena. Este capítulo vai apresentá-los a você.

O que é o 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).

Quem desenvolve o 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.

É feito para quem?

Ceno é feito para todas as pessoas, mas é particularmente conveniente para as interessadas em conteúdo Web que está censurado na sua rede e para aquelas habitando países onde a conectividade com a Internet global é errática, não confiável ou cara. Ele incentiva e permite o compartilhamento de conteúdo Web entre os usuários, criando uma rede descentralizada de pares que se ajudam mutuamente.

Você não precisa ser um usuário de computador avançado ou mesmo entender como redes P2P operam para usar o Ceno. A experiência do usuário é similar a operar um navegador Web comum (funcionalidades específicas do Ceno são em grande parte invisíveis).

Ceno pode, contudo, gerar mais tráfego na Internet que o seu navegador Web usual

  • pois ele precisa deixar outros usuários saberem qual conteúdo Web está compartilhando com a rede e possivelmente entregar esse conteúdo para aqueles que o solicitam. Desse modo, o Ceno depende de conectividade moderadamente boa dentro do país. Recomendamos usar o Ceno quando houver conexão WiFi, não só para evitar atingir os limites de uso de dados móveis (caso os tenha), como para aumentar as chances de conseguir entregar conteúdo Web para outros usuários.

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.

O que é 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 é baseada em uma combinação inventiva no uso de tecnologias existentes para compor todas as suas funcionalidades: a localização de outros participantes é feita com técnicas advindas do universo do compartilhamento de arquivos (a tabela hash distribuída do BitTorrent), a comunicação com eles usa protocolos comuns da Web e de compartilhamento de arquivos (requisições de proxy HTTP e o µTP do BitTorrent). Além disso, padrões modernos da indústria garantem a segurança das comunicações e a autenticidade do conteúdo intercambiado (criptografia TLS e assinaturas Ed25519). A Ouinet permite a substituição de tecnologias específicas por outras, se necessário (por exemplo, alguns usos do µTP podem ser substituídos por Transportes Plugáveis do Tor).

Em dispositivos móveis, a Ouinet pode ser incorporada em aplicações para o usuário final (como uma biblioteca do Android). Em computadores, ela pode ser usada por clientes Web comuns, como navegadores (como um proxy HTTP local).

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

É feito para quem?

Ouinet é útil principalmente para desenvolvedores de software, criadores de conteúdo e editores que desejam permitir aos usuários de suas aplicações o compartilhamento de conteúdo com outros usuários. Essa possibilidade reduz a demanda geral para o servidor da aplicação e melhora a acessibilidade ao conteúdo para usuários habitantes de países que bloqueiam o acesso àquele 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!

Aviso: Ouinet não é uma ferramenta de anonimato. Se você não tem certeza sobre ela ser adequada a uma certa tarefa, não hesite em nos contatar.

Guia para Início 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.

Como começar

Você vai precisar de um dispositivo Android:

  1. Install Ceno Browser from Google Play, GitHub or Paskoocheh. No special permissions are needed.
  2. Execute-o.
  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. Toque na notificação do CENO para interrompê-lo completamente.

Detailed installation instructions are here.

Configuração

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.

Mais perguntas?

Conceitos principais

Para cumprir seu objetivo de contornar diversos tipos de interferência e escassez na rede, Ceno faz uso de variadas técnicas dos campos de World Wide Web, sistemas de compartilhamento de arquivo e criptografia avançada. Tais técnicas são inventivamente combinadas pela Ouinet de modo a tornar a experiência de uso do Ceno o mais próxima possível da navegação Web normal.

De todo modo, para aproveitar ao máximo o Ceno, é útil entender como a Ouinet opera, as diferentes formas em que ela pode ser usada a depender do tipo de conteúdo que tentamos acessar e as vantagens e riscos que elas condicionam. Este capítulo aborda esses tópicos.

Como funciona?

Esta seção explicará as operaçãos do CENO e da Ouinet percorrendo uma série de cenários. Terminologias e conceitos importantes para a Ouinet serão introduzidos (destacados com letras em negrito) e usados posteriormente para garantir eficiência e para evitar confusões.

Acessando conteúdo diretamente

O Navegador CENO é um exemplo de uma aplicação que usa a tecnologia Ouinet para recuperar e compartilhar conteúdo Web. Chamamos tal tipo de aplicação um cliente da Ouinet. Quando você usa seu cliente (isto é, CENO) para tentar acessar algum conteúdo X, hospedado em um servidor Web (o qual chamaremos de servidor de origem de X), seu cliente tenta contatar o servidor de origem através da Internet, seja diretamente ou via alguma outra máquina configurada para contatar servidores Web em nome de outros (o chamado servidor proxy) e então solicita o conteúdo desejado. Isso não é diferente da forma como qualquer navegador Web comum funciona.

Nota técnica: Há, de fato, uma pequena pegadinha. Já que o cliente age como um proxy HTTP sendo executado em seu dispositivo, para o cliente ser capaz de decodificar e atuar sobre solicitações de conteúdo HTTPS, a aplicação usando o cliente (isto é, a parte do navegador Web - como Firefox no CENO), precisa aceitar um certificado especial emitido pelo próprio cliente (e apenas usado no seu dispositivo). O Navegador CENO já se responsabiliza por estruturar esse certificado para seu uso privado de maneira que você não precisa de preocupar.

No entanto, estes caminhos diretos podem não estar disponíveis. Por exemplo, seu provedor de serviço de Internet (ISP) pode estar bloqueando o acesso à origem de X ou ao proxy por causa de uma determinação do Estado (mesmo se outros tipos de tráfego continuarem permitidos). Assim como para o usuário do cliente do canto superior esquerdo ilustrado abaixo, ambas as tentativas de alcançar o conteúdo X (o pequeno documento perto do servidor de origem dele) iriam falhar para você. Observe, também, o nó "injetor" no diagrama. Explicaremos esse em um instante.

Figure: Client cannot reach content directly

Com um navegador comum, você não teria sorte. Contudo, com Ouinet você pode pedir a outros clientes as suas cópias do conteúdo X, caso eles já possuam uma cópia. Vejamos como a Ouinet realiza essa solicitação.

Procurando conteúdo compartilhado

O conjunto de todo o conteúdo armazenado por clientes Ouinet é chamado cache distribuído, isto é, um armazenamento que não reside em um único lugar. Mas como o seu cliente pode encontrar quais outros clientes que compõe o cache possuem o conteúdo desejado?

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 procura o conteúdo de uma forma diferente. Ela usa um índex não muito diferente do de um livro: no índex de cache distribuído você procura o URL completo do conteúdo e obtém uma lista de clientes mantendo uma cópia dele. O índex em si é distribuído, com clientes encarregados de anunciar quais conteúdos eles possuem para outros. Na verdade, somente uma dica de cada URL é anunciada, de modo que alguém espionando o tráfego de seu dispositivo não é capaz de identificar qual conteúdo você possui, mas alguém procurando por um conteúdo específico pode seguir as dicas em direção ao seu 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.

O Navegadro CENO, por sua vez, não anuncia a URL de cada recurso que detém: como qualquer página moderna tem dezenas de milhares de componentes (imagens, fichas de estilo, scripts...), essa ação criaria uma grande quantidade de tráfego. Em vez disso, os recursos são agrupados sob a URL da página que faz referência a eles, e somente aquela URL é anunciada. Isso é feito com a ajuda de uma extensão ad hoc do navegador (descrito mais à frente).

Diz-se que os clientes oferecendo algum conteúdo específico sobre o cache distribuído o estão semeando, ou que são semeadores dele (esses termos advém do universo de compartilhamento P2P de arquivos). Retornando ao nosso cenário de exemplo, há dois clientes semeando algum conteúdo. Infelizmente, um está semeando o conteúdo Y e outro o conteúdo Z, de forma que o seu cliente não encontraria entradas para o conteúdo X no índex do cache distribuído, como ilustrado abaixo:

Figure: Content not found in the distributed cache

Felizmente, a Ouinet oferece uma maneira de recuperar tal conteúdo e posteriormente o disponibiliza para outros clientes no cache distribuído. Por favor, continue lendo para aprender como.

Compartilhando conteúdo novo

Proxies em esteroides

Na Ouinet, existem alguns tipos especiais de servidores proxy chamados injetores, os quais ocupam (espera-se) a parte livre da Internet e tentam fortemente continuar alcançáveis apesar de medidas de bloqueio:

  • Em primeiro lugar, as conexões entre clientes e injetores são criptografadas (usando padrões SSL/TLS como no HTTPS) para evitar que atacantes identifiquem injetores ao espionarem o tráfego web.

    A propósito, os certificados do injetor são entregues no Navegador CENO, permitindo a este detectar atacantes que tentam se passar por injetores.

  • Se a criptografia não foi o suficiente, as conexões com os injetores podem usar técnicas especiais de ofuscamento (como I2P e os Transportes Plugáveis do Tor) para tornar a identificação ainda mais difícil.

  • Ainda que um injetor tenha sido identificado e tido seu acesso bloqueado por seu ISP, há diversos deles e não importa qual o seu cliente contate pela Internet.

  • Alguns ou todos os injetores podem ser bloqueados mas, nesse caso, o conjunto de injetores pode variar ao longo do tempo (com adição de novos).

    Seu cliente não precisa saber seus endereços de Internet com antecedência; ao invés disso, ele realiza uma busca no enxame de injetores (outro termo de compartilhamento de arquivos P2P), um índex distribuído de entrada única similar ao índex do cache distribuído que fornece os endereços dos injetores disponíveis no momento.

  • Por fim, mesmo que seu cliente possa não ser capaz de alcançar qualquer injetor, alguns outros clientes podem. Quando um cliente é capaz de alcançar um injetor e acredita ser ele mesmo alcançável por outros clientes, ele se torna um cliente ponte e adiciona seu próprio endereço de Internet ao enxame de pontes, outro índex distribuído de entrada única.

    Assim, seu cliente pode procurar por tal endereço, conectar-se à ponte por trás e dizer a ela para estabelecer outra conexão com um injetor em seu nome, criando um túnel entre o seu cliente e o injetor. Uma conexão pode, então, ser estabelecida entre eles dentro do túnel.

    Por favor, observe que devido às conexões entre cliente e injetor serem criptografadas, pontes não são capazes de ver a informação circulando entre eles.

Um injetor pode se comportar como um servidor proxy normal (apesar de extra-disponível), e esse comportamento é de fato o que clientes Ouinet (incluindo o Navegador CENO) fazem corriqueiramente ao tentar acessar conteúdo através de um proxy. Nesse caso, o injetor não verá a informação verdadeira circulando entre o seu cliente e o servidor de origem (a menos que seja ela mesma uma consexão HTTP simples, não criptografada).

Porém existem outras ferramentas permitindo que você alcance proxies em condições de severa interferência na rede. Então, o que é tão especial nos injetores da Ouinet?

Confiando no conteúdo compartilhado

Bem, o ponto é que um injetor não apenas recupera conteúdo em nome do seu cliente, ele também permite a você compartilhar aquele conteúdo com outros posteriormente, mesmo quando não há mais acesso ao injetor ou à maior parte da Internet.

Você com certeza poderia baixar uma página a partir do seu navegador e copiar os arquivos resultantes para outras pessoas, o que não tem problema se vocês se conhecem. Mas e se você recebesse tais arquivos de uma pessoa desconhecida? Como poderia ter certeza de que aquele conteúdo de fato veio do website do qual diz ter vindo, de que foi recuperado em uma determinada data ou de que a informação contida nele não foi manipulada?

Queremos que o uso do CENO e da Ouinet escale e ofereça o máximo de conteúdo para o máximo de pessoas possível. Portanto, queremos que você consiga receber conteúdo de pessoas desconhecidas. Para possibilitar que você aceite tal conteúdo, a Ouinet utiliza a assinatura de conteúdo: seu cliente é configurado para confiar em conteúdo assinado usando uma chave especial pertencente aos injetores. A qualquer momento que um cliente diga a um injetor para recuperar algum conteúdo Web para compartilhamento, o injetor o obtém do servidor de origem, usa a chave para assiná-lo e retorna o conteúdo assinado para o cliente.

Nota técnica: Na verdade, o injetor assina blocos individuais de dados conforme eles chegam, então mesmo que a conexão seja cortada no meio da recuperação de um arquivo grande, os dados baixados ainda podem ser compartilhados pelo cliente que os recebeu.

Injetores diferentes podem ter diferentes chaves, então você pode escolher em quais injetores confiar. Imagine desta forma: você pode confiar em um documento assinado por um notário público do seu país, independentemente de quem lhe deu (nacional ou estrangeiro), ao mesmo tempo, não seria exigido que aceitasse um documento assinado por um notário de outro país. O Navegador CENO já está configurado para confiar em um conjunto de injetores gerenciados pela eQualitie.

Nota técnica: Injetores usam um par de chaves pública/privada para criar assinaturas Ed25519. Chaves públicas são pequenas o suficiente para permitir seu envio junto com as assinaturas e codificadas como 64 caracteres hexadecimais ou 52 caracteres de Base32. Elas podem até ser intercambiadas no telefone ou escritas em um pedaço de papel.

Injeção de conteúdo

Lembre-se de que em nosso cenário de exemplo seu cliente já havia tentado recuperar o conteúdo X diretamente do servidor de origem e a partir de outros clientes sem sucesso. O cliente joga a sua última carta Ouinet e tenta contatar um injector confiável para obter uma cópia assinada do conteúdo que ele pode compartilhar com outros clientes.

Na figura abaixo, você pode ver um possível resultado dessa operação: o cliente primeiro tenta contatar o injetor diretamente (exemplo, usando o endereço de Internet que ele obteve do enxame de injetores), mas infelizmente ele está bloqueado pelo seu ISP. Por sorte, o enxame de pontes exibe os endereços de Internet para dois outros clientes que ainda conseguem alcançar um injetor. Seu cliente abre um túnel para o injetor através de um desses clientes, de modo que o injetor obtém a solicitação para o conteúdo X advinda do seu cliente e pede tal conteúdo ao servidor de origem.

Figure: Client reaches for injector

Conforme o conteúdo X é recebido pelo injetor, este o assina com sua chave, adiciona a assinatura ao conteúdo e o devolve ao seu cliente pelo túnel de onde ele veio (digamos, através do cliente localizado além do bloqueio). Uma vez que o conteúdo alcança o seu cliente, ele realiza três ações:

  1. Entrega o conteúdo para você (no caso do CENO, o conteúdo é exibido no navegador).
  2. Salva o conteúdo no seu dispositivo a fim de semear para outros clientes no futuro. Ele ficará lá por um intervalo de tempo configurável, ou até que você decida limpar todo o conteúdo armazenado.
  3. Anuncia no índex do cache distribuído que possui uma cópia daquele conteúdo, assim outros clientes podem encontrá-lo.

Toda a operação combinada de recuperação, assinatura, armazenamento e anúncio é o que chamamos injeção de conteúdo, como mostrado na figura abaixo.

Figure: Client receives signed content from injector

Por favor, observe que o mecanismo descrito acima ainda demanda que exista algum caminho que atravesse o bloqueio em direção ao resto da Internet. Mas algumas vezes este caminho também estará em falta: pense em desconexões internacionais totais, desastres naturais ou simplesmente congestionamento excessivo dos poucos caminhos existentes (devido a todas as pessoas tentarem passar por eles). É neste momento que o poder do cache distribuído entra em ação.

Imaginemos que, depois de você recuperar o conteúdo X do injetor, um desastre deixa a sua região isolada do mundo. Acontece que o conteúdo X se torna especialmente relevante, pois ele descreve algumas formas pelas quais você pode ajudar a sua comunidade em situações como essa.

Nesse momento, uma segunda pessoa usando o Navegador CENO também tenta obter tal conteúdo. O acesso ao servidor de origem ou a qualquer coisa para além de sua região é impossível, então o CENO verifica o índex do cache distribuído para aquele conteúdo e descobre que seu dispositivo o está semeando. O CENO obtém seu endereço de Internet pelo índex, conecta-se a ele e solicita o conteúdo conforme mostrado abaixo.

Figure: Client receives signed content from client

Agora que o segundo dispositivo também detém uma cópia do conteúdo X, ele então anuncia isso no índex de cache distribuído e, por consequência, torna-se um semeador. Caso uma terceira pessoa interessada nesse conteúdo use o Navegador CENO para recuperá-lo, o CENO a partir de então verá no índex dois endereços para o conteúdo: o do seu dispositivo e o do segundo usuário. Se o conteúdo é pesado (por exemplo, um vídeo), o terceiro dispositivo pode tentar obter metade dele a partir de cada um dos outros dispositivos (como mostrado abaixo), assim acelerando o download e reduzindo o tráfego usado por eles.

Figure: Client receives signed content from multiple clients

Por fim, a situação pode ficar ainda pior e toda a infraestrutura comercial e estatal de rede pode ser desligada. Neste caso, a Ouinet e o Navegador CENO também possuem algum suporte para compartilhamento dispositivo para dispositivo de conteúdo entre dois clientes situados em uma mesma rede local (por exemplo, conectados o mesmo ponto de acesso WiFi), mesmo que a rede não possua acesso a outras.

Public vs. Personal browsing

Vantagens de usar Ceno/Ouinet

As principais vantagens de usar Ceno e Ouinet em relação a outras tecnologias de contorno residem na cooperação dos clientes e injetores para encaminhar tráfego uns para os outros, assinar conteúdo para verificação posterior e armazenar conteúdo assinado para semear para outras pessoas. Algumas vantagens dignas de serem mencionadas:

  • Uso familiar: Acessar conteúdo Web pelo Navegador Ceno é como navegar na Web em seu navegador habitual, mesmo durante bloqueios completos. Não há necessidade de novos links personalizados para conteúdo popular ou ações especiais do usuário (como transferir arquivos entre aplicações).

  • Disponibilidade de conteúdo aumentada: Ouinet é capaz de prover conteúdo de maneira eficiente e confiável em situações de interferência extrema na rede. Quanto mais popular um conteúdo específico se torna, mais cópias dele são semeadas por clientes Ceno/Ouinet e mais disponível ele se torna.

    Conteúdo assinado pode ser fornecido por clientes específicos em uma área desconectada através de meios offline (exemplo, memória USB) e assim ser disponibilizado para outros 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.

Riscos em usar Ceno/Ouinet

Como ocorre com todo o sistema de computação suficientemente complexo, especialmente um tão inovador, o uso do Navegador Ceno (e qualquer cliente Ouinet em geral) não é isento de riscos. Nesta seção, compilaremos e descreveremos tais riscos para ajudar você a entender suas implicações de acordo com os diferentes papéis que você pode desempenhar ao usar o Ceno:

  • como um usuário navegando por websites
  • como um semeador compartilhando através do cache distribuído conteúdo visitado anteriormente
  • como uma ponte permitindo a outros usuários alcançar um injetor

Como um usuário

As pontes podem ver minhas comunicações com o servidor de origem?

Não. O único papel de uma ponte é encaminhar tráfego bruto entre um cliente e um injetor. Esta comunicação é sempre criptografada e as pontes não possuem as chaves privadas necessárias para acessar o conteúdo das comunicações.

Os injetores podem ver minhas comunicações com o servidor de origem?

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.

On the other hand, when the request uses Personal browsing mode, it is not modified by the client, but the whole communication is encrypted for the origin server. This means that in this other case the injector cannot decrypt the content.

Nota técnica: Somente solicitações HTTP GET são candidatas para a injeção, com parâmetros de consulta removidos, junto com todos exceto um conjunto limitado de campos de cabeçalho HTTP fundamentais e que preservam a privacidade.

Injetores podem ver meu endereço de IP?

Sim. No entanto, injetores não podem distinguir se uma solicitação veio de um usuário do Ceno ou de uma ponte. Logo, solicitações indo para o injetor não podem confiavelmente ter um IP de origem designado a elas.

Meus dados privados podem vazar para o cache distribuído?

Esperamos que não. Como mencionamos acima, o Navegador Ceno se esforça para remover qualquer dado privado (senhas, cookies...) de qualquer solicitação para injetores. Além disso, o injetor em si não semeia; na verdade, o único propósito dele é assinar conteúdo de modo que clientes Ouinet possam semeá-lo. Isso significa que quando o conteúdo volta para o cliente, ele é posteriormente analizado e se o servidor de origem indicou que é de natureza privada, o Ceno também não irá semeá-lo.

Still, there could be cases of badly designed or malicious pages which may collect some information from you (like an email address in a form or some browser fingerprints using JavaScript) and stuff it in another link URL as normal path components (e.g. http://example.com/subscribe/you@example.org). If you suspect that a page may be doing that, better be on the safe side and use Personal browsing for it.

O servidor de origem pode saber se eu estou usando o Ceno?

É mais provável que não. No momento em que o Ceno contata um servidor de origem diretamente, ele se comporta como um Firefox para Android comum, então seu dispositivo específico aparece como um aplicativo normal do Firefox da mesma versão.

Contudo, ao utilizar um injetor para obter conteúdo do seu servidor de origem, há (pelo menos) duas formas de o último saber que o Ceno ou a Ouinet estão envolvidos:

  1. O endereço source da conexão alcançando o servidor de origem é encontrado no enxame de injetores (já que a conexão vem, de fato, do injetor);
  2. A presença ou ausência de certas informações na solicitação de conteúdo é característica da Ouinet. Isso acontece quando o injetor está solicitando o conteúdo porque seu cliente pediu a ele para recuperar e assinar aquele conteúdo, já que o injetor remove da solicitação informações exclusivas do seu dispositivo específico.

Por favor, observe que essas maneiras apenas marcam a solicitação como advinda da Ouinet, mas não a conectam a você ou ao seu dispositivo específico. No entanto, se a solicitação por alguma das razões mencionadas nas questões anteriores ainda contém algumas informações passíveis de identificação pessoal, ela poderia ser usada para marcar você como um usuário do 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 um semeador

Quais dados estão sendo semeados a partir do meu dispositivo?

Atualmente, o único conteúdo semeado pelo Ceno é qualquer conteúdo Web não privativo que foi requisitado no modo de navegação pública. Isso significa, também, que usuários não semeiam nada que eles não tenham eles mesmos acessado em um passado recente.

Alguém pode descobrir o que eu semeio?

Sim e não. Qualquer pessoa com entendimento suficiente das operações da Ouinet poderia construir uma ferramenta para descobrir a partir de quais endereços de IP um determinado conteúdo está sendo compartilhado (como com BitTorrent). Porém, não é possível definir um endereço de IP específico como alvo e obter uma lista de todo o conteúdo semeado por clientes atrás dele.

Como uma ponte

Outras pessoas podem encontrar meu endereço de IP?

Sim, todo Navegador Ceno capaz de se comunicar com injetores registrará seus endereços de IP no enxame de pontes onde outros clientes Ouinet podem encontrá-los.

É possível que eu esteja ajudando alguém a acessar conteúdo considerado ilegal em meu país?

Sim. No entanto, pontes apenas retransmitem comunicações criptografadas entre um cliente e um injetor Ouinet. Isso significa que uma ponte nunca deve fazer solicitações diretas de conteúdo para nenhum outro servidor em nome de outra pessoa.

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

Quando for relevante, capturas de tela serão incluídas para ilustrar o texto. Por favor, observe que elas podem divergir um pouco do que você vê em seu dispositivo, especialmente à medida que o desenvolvimento do Ceno avança. Esta documentação está atualizada para a versão 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 o Ceno

O Navegador Ceno pode ser instalado via os seguintes meios:

  • 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 requer um dispositivo ARM64 ou um ARM32 compatível com Neon, rodando no mínimo Android 4.1 Jelly Bean. Logo, deve funcionar na maioria dos dispositivos móveis lançados do fim de 2012 em diante. Ceno não precisa de permissões especiais para ser executado.

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.

Interromper o Ceno completamente

Todas as vezes em que você iniciar o aplicativo, um ícone do Ceno aparecerá na barra de notificações de seu dispositivo. Esse ícone representa o serviço do Navegador Ceno, a parte do Ceno que é executada permanentemente (mesmo quando você não está navegando) e permite que outros clientes usem seu dispositivo como uma ponte e recuperem conteúdo dela a qualquer momento.

Já que a execução desse serviço consome muitos recursos de rede e processamento, você pode querer interrompê-la a qualquer momento que estiver em trânsito (isto é, não conectado ao WiFi ou longe de um carregador). Tocar na notificação acoplada ao ícone irá interromper tanto o Ceno quanto o seu serviço de uma só vez (até que você abra o Ceno novamente).

Figure: Tap on the notification to stop the Ceno service

Limpando todos os dados do Ceno (o "botão de pânico")

A notificação do serviço do Navegador Ceno mostrada acima inclui algumas ações associadas que podem ser desencadeadas ao serem tocadas. A ação Início irá apenas abrir o Ceno com uma nova aba de navegação pública mostrando sua página inicial. Já a ação Apagar demanda mais explicação.

Nota: Se as ações abaixo da notificação não estiverem visíveis, arraste a notificação do centro até a parte inferior para mostrá-la. Se você apenas consegue ver a ação Início, pode ser que seu dispositivo seja muito antigo para suportar a ação Apagar.

Caso alguma vez precise interromper o Ceno rapidamente e limpar absolutamente todos os dados relacionados a ele (não apenas o conteúdo em cache, mas também configurações como favoritos, senhas e todo o histórico de navegação), você pode tocar em Apagar. Para evitar perder todos os seus dados acidentalmente, essa ação ainda não removerá tudo, mas apenas mostrar uma ação adicional por um breve momento, como ilustrado abaixo:

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

Se você tocar na ação Sim, o Ceno irá ser interrompido e todos os seus dados serão removidos sem mais perguntas, efetivamente deixando seu dispositivo como se o Ceno nunca tivesse sido usado.

Se você não tocar na ação, ela desaparecerá em alguns segundos.

Nota: O método descrito acima requer que o Ceno esteja sendo executado em seu dispositivo. Para atingir o mesmo efeito quando o Ceno estiver interrompido, você pode usar a página das Configurações gerais do Android e, sob a entrada Aplicativos, escolher Ceno e então Limpar dados.

Como alternativa mais radical, você pode desinstalar completamente o aplicativo.

Aviso: O Android ainda pode manter, além dos dados, outros traços de uso de um aplicativo; por exemplo no seu log do sistema.

Using Public or Personal browsing

Configurações do Ceno

O Navegador Ceno permite que você mude algumas configurações específicas da Ouinet e obtenha informações sobre seu cliente de uma maneira simples. Isso não deve ser necessário para operações normais, mas seria útil para testar diferentes estratégias contra a interferência de rede, assim como para reportar problemas com o aplicativo.

Nota técnica: Estas opções são oferecidas pela Extensão Ceno, uma extensão do Firefox que vem instalada junto com o Ceno e cuida da integração adequada com a Ouinet. Ela realiza, por exemplo: a habilitação de injeção de conteúdo e recuperação de cache sob navegação pública; a indicação, para o usuário, da source do conteúdo sendo visualizado e a notificação sobre novas versões da Ouinet.

As funcionalidades citadas estão disponíveis em uma página que pode ser acessada ao se escolher Ceno no menu principal do aplicativo. Por favor, observe que a entrada do menu pode demorar alguns segundos para aparecer na inicialização do aplicativo. A página deve ter a seguinte aparência:

Figure: The Ceno Settings page

Escolhendo os mecanismos de acesso

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.

  • Direto do website (ou acesso de origem) permite ao Ceno tentar alcançar o servidor de origem diretamente antes de tentar outros dos mecanismos habilitados abaixo.

    Although this mechanism works in both Personal and Public browsing modes, content thus retrieved cannot be shared with others.

    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.

  • Via rede do Ceno (privada) (ou acesso via proxy) permite que o Ceno use injetores como servidores proxy HTTP comuns para alcançar os servidores de origem.

    This mechanism only works in Personal browsing mode.

    Ao acessar conteúdo através de HTTPS, apenas os servidores de origem serão capazes de decifrar o tráfego. Ao usar HTTP simples, o injetor pode também ver o tráfego não criptografado (mas ainda assim não deve assinar ou compartilhar seu conteúdo com outras pessoas). Demais participantes, como pontes, nunca verão o tráfego não criptografado.

  • Via rede do Ceno (pública) (ou acesso de injetor) possibilita que o Ceno retire qualquer informação privada das solicitações e as envie para um injetor. O injetor obtém o conteúdo de um servidor de origem, assina-o e o envia de volta para o Ceno - que, então, começa a semeá-lo.

    Outros participantes (tais como pontes) não verão o tráfego não criptografado.

    Esse mecanismo somente funciona no modo de navegação pública.

  • Compartilhado por outros usuários Ceno permite ao Ceno tentar recuperar conteúdo do cache distribuído, isto é, de outros clientes Ceno e Ouinet que o estão semeando.

    Esse mecanismo somente funciona no modo de navegação pública.

Disabling all of the mechanisms available for either Public or Personal browsing mode will render them useless. If you establish such a configuration, a warning will be shown as depicted below:

Figure: Invalid settings for private browsing

Sobre seu aplicativo

Essa página também oferece a você algumas informações sobre o seu aplicativo do Navegador Ceno e cliente Ouinet:

  • Tamanho de cache local exibe uma aproximação do quanto de armazenamento é ocupado pelo conteúdo sendo semeado a partir do cache local do seu dispositivo.
  • Conteúdo compartilhado por você permite que você verifique o conteúdo sendo anunciado pelo seu dispositivo.
  • Estado do cliente Ouinet, se iniciado, significa que o seu cliente Ouinet conseguiu ser executado com sucesso. De outro modo, pode haver problemas de conectividade ou algum erro interno. Por favor, inclua essa informação em seus relatórios de problemas.
  • Estado de acessibilidade indica o quão provável é que o seu dispositivo consiga efetivamente semear conteúdo para outros clientes. Inclua também nos relatórios.
  • Estado UPnP indica se o Ceno conseguiu solicitar que o seu roteador ou ponto de acesso permitisse que as conexões de entrada passassem por ele. Inclua também nos relatórios.
  • Endpoints UDP locais são os endereços de Internet em seu dispositivo usados pelo Ceno para semear conteúdo assinado para outros clientes. Eles são mostrados para ajudar a testar e depurar o aplicativo e não devem, em geral, ser divulgados.
  • Endpoints UDP externos são os endereços de Internet em seu roteador atribuídos para o seu tráfego do Ceno. Somente disponíveis em roteadores com UPnP habilitado, eles também são úteis para diagnóstico e em geral não são divulgados.
  • Endpoints UDP públicos são os endereços de Internet que clientes Ouinet fora da sua rede vêem quando se comunicam com o seu dispositivo. Também são úteis para diagnóstico e não devem ser divulgados.
  • Bootstraps extra do BitTorrent são servidores usados para ajudar o seu dispositivo a entrar na rede BitTorrent, caso os servidores padrão não funcionem. Também incluir nos relatórios. Você pode editar a lista de hosts separada por espaços (com portas opcionais) para configurar ou adicionar o seu próprio host e depois escolher Salvar. As mudanças serão aplicadas na próxima vez em que o seu cliente Ouinet for inicializado.
  • Navegador Ceno indica a versão exata do Ceno que você está usando. Também inclua nos relatórios.
  • Extensão Ceno exibe a versão da extensão que integra o Firefox com Ceno. Inclua também nos relatórios.
  • Ouinet exibe a versão da Ouinet por trás do Ceno. Inclua também nos relatórios.
  • Protocolo Ouinet é o número de versão do protocolo que o Ceno utiliza para conversar com outros clientes e injetores Ouinet. Inclua também nos relatórios.

Limpando o cache local

Ao lado do valor Tamanho do cache local acima, há um botão que permite interromper o semeio e descartar todo o conteúdo compartilhado pelo seu dispositivo através da Ouinet. Essa ação permite liberar algum espaço de armazenamento em seu dispositivo e, ao mesmo tempo, manter outras configurações do Ceno, como Favoritos.

Se deseja limpar o cache de navegação normal do Ceno (aquele usado pelo navegador, mas não compartilhado com outras pessoas) ou outros itens como cookies, histórico de navegação ou favoritos, você deve escolher Configurações no menu principal do aplicativo, em seguida Limpar dados privados. Será perguntado a você quais itens deseja limpar.

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.

Coletando mensagens de log

Na parte inferior da página, há uma caixa chamada Ativar arquivo de log que permite coletar todas as mensagens internas da Ouinet e baixá-las para um arquivo. Essa ação deve apenas ser usada para diagnosticar de algum problema no Ceno; basta seguir estas etapas:

  1. Na página Configurações do Ceno, marque Ativar arquivo de log.
  2. Volte para a navegação e faça quaisquer ações que desencadeiem o comportamento problemático.
  3. Retorne à página Configurações do Ceno e clique no link de Baixar ao lado da caixa de seleção Ativar arquivo de log. Salve o arquivo para uso posterior. A esta altura, o Android pode perguntar se você deseja permitir o acesso do Ceno à mídia armazenada: isso é necessário para que ele seja capaz de salvar o arquivo.
  4. Desmarque Ativar arquivo de log para evitar que os logs se tornem grandes demais.

Você pode agora usar o arquivo de log salvo para documentar um relatório de problemas, mas tente evitar torná-lo público, pois ele pode conter informações sensíveis sobre a sua navegação.

Testando o 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 todos os testes abaixo, você precisará de ao menos dois dispositivos conectados à mesma rede WiFi e um terceiro conectado a uma rede 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).

Acessando um injetor

Vamos primeiramente verificar se o seu Navegador Ceno consegue alcançar um injetor. Essa ação pode parecer trivial, mas o seu cliente já estará exercitando diversas funcionalidades da Ouinet nesse processo: procurar o endereço do injetor no enxame de injetores, tentar contatá-lo diretamente e, se ele estiver bloqueado pelo seu provedor de acesso ou país, procurar um enxame de pontes e tentar contatar o injetor via algum outro cliente Ouinet.

No primeiro dispositivo, realize as seguintes etapas:

  1. Primeiramente, instale o Ceno e o inicie. A página de início aparecerá.
  2. Open the app's main menu and choose Settings to open the Ceno Settings page. Since we only want to test injector access, uncheck all the boxes for content sources except Via the Ceno network (public).
  3. Retorne à página inicial do Ceno. Selecione um dos websites recomendados ou entre a URL de algum outro website na barra de endereço no topo da janela. Se conhece um website que é frequentemente bloqueado para você, continue e insira-o!
  4. O website escolhido deve eventualmente aparecer.

Nota: Se você obtiver uma página falsa ao invés de uma legítima, use a barra de endereço para inserir a URL do website com https:// no começo (ao invés de http://) e repita o teste.

Se o website carregar, você pode comemorar que o seu dispositivo conseguiu alcançar o injetor! Por você ter sido capaz de consultar enxames e contatar outros clientes, é provável que seja capaz, também, de recuperar conteúdo do cache distribuído.

A propósito, se você pressionar o ícone do Ceno na barra de endereço, ele abrirá um popup como o abaixo, mostrando quantos elementos do website foram recuperados das diferentes sources. Somente em Via rede Ceno (pública) deve haver um valor diferente de zero, dado que as outras sources estavam desabilitadas.

Figure: Sources used when testing injection

In contrast, if you had used Personal browsing with default settings, you may have seen a popup like the one below, with non-zero counts in Direct from website or Via Ceno network (private).

Figure: Sources used with private browsing

Obtendo conteúdo de usuários próximos

Visto que seu dispositivo foi capaz de obter algum conteúdo de um injetor, vamos testar se ele consegue compartilhá-lo com outro dispositivo através do cache distribuído. A maneira mais simples é usar o suporte dispositivo a dispositivo do Ceno para verificar se a obtenção e verificação de conteúdo assinado funcionam.

Após completar com sucesso o teste acima no primeiro dispositivo, deixe o Ceno continuar a ser executado nele (o ícone do Ceno deve aparecer na barra de notificações). Consiga, então, um segundo dispositivo (você pode convidar uma pessoa amiga para ajudar no teste) e conecte à mesma rede WiFi. Depois, siga as etapas abaixo para o segundo dispositivo:

  1. Instale o Ceno se necessário e inicie como acima.
  2. Abra a página Configurações do Ceno como acima. Já que apenas desejamos testar o acesso ao cache distribuído, desmarque as caixas para sources de conteúdo exceto Compartilhado por outros usuários Ceno.
  3. Volte para a página inicial do Ceno e visite o mesmo website da mesma maneira que você fez acima (isto é, selecionando os websites recomendados ou entrando sua URL na barra de endereço).
  4. O website escolhido deve eventualmente aparecer.

Caso não funcione, sua rede WiFi pode estar bloqueando as comunicações diretas entre os dispositivos dela. Este "isolamento do cliente" pode acontecer em redes públicas como as de parques, bares ou hotéis. Por favor, tente novamente em uma rede diferente.

Caso funcione, significa que ambos os dispositivos são capazes de entregar aquele conteúdo para outros clientes. Apertar o ícone da barra de endereço do Ceno deve mostrar um popup como o abaixo, no qual somente Compartilhado por outros usuários Ceno possui um valor diferente de zero.

Figure: Sources used when testing distributed cache retrieval

Finalmente, você também pode ter notado que há um contador para Compartilhado por você. Essa não é uma source diferente em si: elementos contados aqui são, de fato, parte do cache distribuído. Porém, eles já estão armazenados no seu dispositivo, então o Ceno não precisa recuperá-los ao longo da rede.

Obtendo conteúdo de usuários distantes

Realizamos um teste de pequena escala do cache distribuído. Vamos agora testar como funciona através da Internet.

Após completar com sucesso o teste acima, mantenha a execução do Ceno no primeiro dispositivo como no teste anterior e interrompa o Ceno no segundo dispositivo (para interromper, exiba as notificações do Ceno e pressione "Toque para interromper").

Dessa vez você precisará de um terceiro dispositivo, mas ele precisa estar conectado a uma rede WiFi diferente (talvez outra pessoa amiga possa ajudar de casa). As etapas a seguir para esse dispositivo são exatamente as mesmas daquelas no teste anterior.

Caso o terceiro dispositivo consiga carregar o website usado para o teste, você está pronto. O primeiro dispositivo é capaz de semear conteúdo para outros e pode, muito provavelmente, atuar também como ponte.

Parabéns!

Ajudando outros usuários Ceno a navegar a Web

Uma rede P2P é construída a partir de cada nó conectado a ela (sim, isso significa você, também!). Quanto mais nós, mais forte e mais versátil a rede se torna. Se estiver executando o Navegador Ceno de um país que não censura a Internet (ou não o faz tão incisivamente quanto alguns), considere ajudar outros usuários do Ceno se tornando um nó ponte. Você começará, então, a encaminhar tráfego entre clientes vivendo em países fortemente censurados e injetores do Ceno. Você não conseguirá ver o tráfego deles (este será enviado através de um túnel criptografado), tampouco haverá em seu dispositivo qualquer registro remanescente deste tráfego.

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

Como se tornar uma ponte do Ceno

Esta funcionalidade já esta embutida no Navegador Ceno. Seu dispositivo precisará ser conectado a uma rede WiFi que tenha ou UPnP ativado ou redirecionamento de porta explicitamente configurado para o Ceno. Veja as próximas seções para maiores detalhes.

No entanto, por favor observe que o Android só permitirá ao dispositivo móvel agir como uma porta adequada enquanto você o estiver usando ativamente. Do contrário, as funcionalidades de economia de energia limitarão as operações do 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.

Portanto, se pretende manter o Ceno agindo como uma ponte permanente, sempre alcançável, além de uma rede WiFi configurada apropriadamente, você precisará:

  1. Ter o seu dispositivo ligado à rede elétrica a todo tempo.

  2. Ter a tela do dispositivo ativa a todo tempo.

    Uma forma conveniente de fazer isso sem muito consumo de energia ou a incômoda iluminação permanente é usar o protetor de tela do Android: ative-o em Configurações/ Visor / Protetor de tela (ou Daydream em algumas versões), abra o widget Relógio, escolha Quando iniciar a proteção de tela no menu e selecione Ao carregar ou Ambos. Um relógio muito atenuado aparecerá em um fundo preto enquanto o dispositivo não estiver ativo.

    Por favor, note que você não deve usar botão de desligar para travar o dispositivo, pois essa ação desligará a tela. Ao invés disso, apenas mantenha a tela ligada e aguarde até que o dispositivo se bloqueie.

Se essa configuração não é possível para você, não desista ainda! Se possuir um computador com uma boa conectividade que fique ligado a maior parte do tempo, por favor continue lendo.

Executando uma ponte em um computador

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 implantar um contêiner de cliente Ceno você apenas precisa executar os seguintes comandos em um terminal (parece assustador, mas você pode simplesmente copiar e colar na linha de comando):

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

Se o seu computador não é baseado em GNU/Linux, o comando precisa ser ligeiramente 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 em seu roteador WiFi

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.

Um estado como o mostrado abaixo indica que UPnP não está disponível ou não está funcionando em seu roteador WiFi:

Estado de acessibilidade

undecided

Estado do UPnP

disabled / inactive

O estado abaixo indica que o UPnP provavelmente está funcionando e que o Ceno está, no momento, verificando a conectividade:

Estado de acessibilidade

undecided

Estado do UPnP

enabled

O estado abaixo indica que o UPnP está funcionando e que você pode ser ponte para conexões de outros usuários do Ceno:

Estado de acessibilidade

likely reachable / reachable

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

Há muitos roteadores WiFi no mercado, e cada um tem suas características específicas. Aqui está uma lista das instruções de alguns fabricantes para habilitar o UPnP:

Usando o redirecionamento de porta como uma alternativa ao UPnP

Em vez de habilitar o UPnP em seu roteador, você pode criar uma regra de redirecionamento de porta para ter certeza de que as conexões da rede Ceno são encaminhadas para o seu dispositivo. Você precisará fazer login na interface administrativa do roteador e localizar a opção redirecionamento de porta. Para ver para qual endereço de IP você precisa redirecionar as conexões e a porta relevante, abra a página Configurações do Ceno e veja a seção Endpoints UDP locais.

Endpoints UDP locais

192.168.1.132:28729

O redirecionamento de porta deve ser para o protocolo UDP (não TCP). O Ceno escolhe uma porta randômica na primeira execução e mantém tal escolha para as execuções subsequentes. Mas o endereço de IP da rede local do seu dispositivo pode mudar de tempos em tempos. Por isso, você deve periodicamente rever a página Configurações do Ceno para confirmar se seu dispositivo está alcançável pela rede Ceno.

Nota técnica: Alternativamente, você pode garantir que o roteador sempre destine o mesmo endereço de IP para o seu dispositivo (por exemplo, via assinatura DHCP estática para o endereço MAC do dispositivo).

Solução de Problemas

Esta seção dará algumas dicas sobre o que fazer quando problemas diferentes e conhecidos surgem com Ceno e Ouinet. Por favor, tenha em mente que estes projetos são experimentais e que suas operações estão sujeitas a uma multitude de fatores além do nosso controle, como a configuração específica e o estado da infraestrutura da rede, bem como qual conteúdo outros usuários recuperaram e as características das conexões deles.

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

Não há a entrada Ceno no menu do aplicativo

A Extensão Ceno pode ainda estar carregando. Por favor, seja paciente.

Todos os widgets estão acinzentados na página Configurações do Ceno

A Extensão Ceno carregou, mas ainda não foi possível recuperar o estado da Ouinet. Já que pode demorar um tempo para a Ouinet estar pronta, por favor, seja paciente.

Se a página Configurações permanecer dessa maneira por mais de dois minutos, Ouinet pode ter encontrado algum problema durante a inicialização.

Tente visitar alguma página, se possível uma que esteja habitualmente disponível. Se você obtiver um erro como "Falha em recuperar o recurso (após tentar todos os mecanismos configurados)", Ceno pode estar encontrando alguns problemas com a conectividade em geral (como não conseguir entrar na rede BitTorrent). Se estiver em uma conexão móvel, tente novamente com WiFi.

Se obtiver um erro como "O servidor proxy está recusando conexões" ao visitar a página, tente interromper outras aplicações que podem estar oferecendo algum serviço ao dispositivo e, então, reinicie Ceno.

Nota técnica: Isso pode acontecer caso outra aplicação já esteja ouvindo as portas TCP 127.0.0.1:8077 ou 127.0.0.1:8078.

O estado do cliente Ouinet dentro das Configurações do Ceno não é iniciado

O cliente Ouinet executado por Ceno está encontrando problemas para inicializar em seu dispositivo.

Quando você abre Ceno, o estado pode indicar inicializando por alguns segundos, esse comportamento é normal. No entanto, se o estado permanece inicializando por muito tempo, pode ser um sinal de sérios problemas de conectividade que impedem a aplicação de alcançar a rede BitTorrent. Por favor, verifique a sua conexão de rede e tente reiniciar Ceno. Se você tem uma conexão funcional mas o estado permanece inicializando, por favor fale conosco (especialmente se o estado já foi iniciado em alguma execução anterior).

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.

Se alguma vez você vir um outro estado, pode haver um erro interno no cliente Ouinet. Por favor, relate o problema para nós.

Acessar algum conteúdo retorna "Falha em recuperar o recurso"

Isso significa que o Ceno tentou todos os mecanismos disponíveis para acessar o conteúdo, mas nenhum deles obteve sucesso.

Você deve certificar-se de que os seguintes requisitos foram preenchidos para o Ceno funcionar:

  • 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.
  • Seu dispositivo tem uma conexão funcional com a rede, isto é, seu navegador Web comum é capaz de abrir alguns websites. Ceno e Ouinet não conseguem funcionar quando toda a conectividade de rede está cortada (apesar de usuários ainda poderem encontrar um ponto de acesso WiFi em comum para fazer compartilhamento de dispositivo para dispositivo).

Se esse é o caso, vale a pena explicar o que pode estar acontecendo para que todos os mecanismos de acesso estejam falhando, para que você tenha uma ideia de suas chances em obter conteúdo usando o Ceno.

Acesso à origem

Seu Navegador Ceno não pode alcançar diretamente o conteúdo do servidor de origem. Ou o servidor está, ele mesmo, enfrentando dificuldades (por exemplo, caiu ou está sob ataque), ou alguém está interferindo em sua conexão com ele.

Este é o principal caso de uso do Ceno e os outros mecanismos devem compensá-lo.

Acesso ao proxy/injetor

Alguém está interferindo na sua conexão com os endereços de Internet no enxame de injetores. Já que se espera que esse problema aconteça eventualmente, conforme Ceno (e Ouinet) se popularizem, Ceno recorre ao alcance dos injetores através de outros clientes agindo como pontes.

Há diferentes razões para o Ceno não conseguir alcançar tais clientes:

  • Nenhum outro cliente é alcançável por você. Se apenas alguns clientes Ouinet estiverem online, é totalmente possível que nenhum deles esteja em uma rede que possa ser alcançada a partir do exterior. Esse cenário deverá se tornar menos provável à medida que Ceno e Ouinet se tornarem populares e mais clientes com conectividade diversificada ficarem online.

    O caso extremo aqui é o de as conexões entre clientes Ouinet serem identificadas como tais por um censor e então bloqueadas. Esta situação é bem improvável (pois ela poderia implicar um bloqueio de todo o tráfego BitTorrent) e, atualmente, está além do suportado pela Ouinet. Mas nós planejamos torná-la mais resistente a estes ataques.

  • Nenhum outro cliente consegue alcançar o injetor. Por ser improvável que todos os injetores estejam simultaneamente inativos, isso pode significar que você apenas pode alcançar clientes Ouinet que estejam afetados por uma interferência na rede similar à sua.

    Tal situação pode acontecer quando todo o tráfego saindo ou entrando no país em que você se encontra estiver interrompido. O Ceno iria recorrer, nesse caso, à obtenção e ao uso do conteúdo do cache distribuído, mesmo se estiver obsoleto.

    Novamente, conforme Ceno e Ouinet se tornarem mais populares, aumentarão as chances de que haja ao menos alguns clientes com algum tipo de acesso a websites internacionais. Mesmo se o acesso for precário, um único cliente Ouinet capaz de injetar algum conteúdo dentro do país pode ser suficiente para permitir que ele se propague (através do cache distribuído) sem necessidade de acessar o mundo exterior.

Por fim, nós executamos alguns clientes Ouinet com boa conectividade em (esperamos) países livres de censura para tentar evitar essas duas situações. Porém, note que clientes com tais endereços de Internet estáveis poderiam ser igualmente bloqueados.

Cache distribuído

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, observe que alguns conteúdos não considerados seguros para compartilhamento nunca serão injetados, não importa quantas pessoas os recuperem usando a navegação pública. Isso inclui conteúdo marcado como privado pelo servidor de origem, conteúdo que requer autenticação e algum tráfego intercambiado por certas aplicações Web dinâmicas.

Observe também que os clientes detentores de cópias de conteúdo injetado precisam estar alcançáveis por você. As mesmas observações descritas no ponto anterior sobre alcançar uma ponte se aplicam aqui.

Uma nota sobre websites unicamente 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.

A escolha automática do HTTPS é feita para evitar que alguém intercepte uma conexão HTTP e a direcione para um servidor ilegítimo, resultando em conteúdo falso (como uma mensagem de bloqueio). Esse tipo de sequestro é trivial de detectar com HTTPS, portanto, Ceno pode contorná-lo em vez de ser induzido a carregar conteúdo falso.

Apesar de muito incomum, alguns websites não suportam HTTPS e nenhum mecanismo de acesso funcionará para eles. Se tem total certeza de que este é o caso para um website cujo carregamento no Ceno acaba de falhar, você pode editar a URL dele na barra de endereços: mude https:// para http:// e tente novamente.

Se quiser sempre acessar um website particular através de HTTP simples, você pode adicionar uma exceção permanente como esta:

  1. No menu principal do aplicativo, escolha HTTPS by default. Você verá a página de configurações dessa extensão.
  2. Insira o nome do domínio para o website na caixa de texto, como mostrado abaixo. Observe ali como você pode inserir diversos websites separando-os com espaços ou novas linhas. Por favor, note que inserir example.com incluirá também todos os websites sob esse domínio, como www.example.com ou x.y.example.com.
  3. Quando terminar, volte ou feche a aba.

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.

Uma página mostra conteúdo falso (como uma mensagem de bloqueio)

Isso pode acontecer quando você usou uma versão antiga do Ceno para visitar um website bloqueado no passado e alguém interceptou a conexão e a direcionou para um servidor ilegítimo. Ceno, então, lembrou desse redirecionamento e agora automaticamente abre o último website ao tentar visitar o primeiro.

Uma forma de consertar esse problema é limpar o cache de navegação normal do Ceno escolhendo Configurações no menu principal do aplicativo, depois clicando em Limpar dados privados e desabilitando todas as caixas exceto Cache antes de tocar em Limpar dados.

Por favor, observe que as versões 1.3.0 e posteriores do Ceno evitam o sequestro de websites recentemente visitados pelo uso perene de HTTPS, como explicado na seção anterior.

Outras pessoas não conseguem recuperar conteúdo semeado pelo meu 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.

Se o conteúdo não carregar, pode ser que o Ceno já o tenha removido, pois ele automaticamente limpa conteúdo obsoleto (mais antigo que uma semana, por padrão) do seu cache local. Ative a source Via rede do Ceno (pública) na página de Configurações e acesse o conteúdo novamente. Por favor, espere alguns minutos se passarem para que o dispositivo anuncie o conteúdo no índex do cache distribuído. Torne Compartilhado por outros usuários Ceno a única caixa marcada novamente e acesse o conteúdo mais uma vez. Se ele ainda não carregar, pode ser que esse conteúdo em particular não seja considerado seguro para compartilhamento pela Ouinet.

Se a etapa anterior funcionar, mas outro dispositivo com apenas a source Compartilhado por outros usuários Ceno ativada ainda exibir "Falha em recuperar o recurso…", há dois cenários possíveis. Se ambos os dispositivos estão na mesma rede (por exemplo, no mesmo ponto de acesso WiFi), pode ser que a rede não permita comunicações diretas entre dispositivos conectados a ela. Isso acontece em algumas redes WiFi públicas, então tente usar uma privada.

Se os dispositivos estão em redes diferentes, pode ser devido a uma gama de razões. Uma delas é a rede do primeiro dispositivo não permitir conexões ingressantes: se você abrir a página Configurações do Ceno, em Estado de acessibilidade deve constar alcançável ou provavelmente alcançável. Caso contrário, pode não ser possível semear dessa rede tal como ela 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: O cliente front-end 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

Os itens mostrados na página incluem:

  • Um link para habilitar o cliente como uma autoridade de certificação (CA) no seu navegador, já que o cliente precisa interceptar o tráfego 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, observe que nenhuma dessas ações precisa ser realizada para o Navegador Ceno, pois ele já está configurado dessa maneira.

  • Botões para habilitar ou desabilitar os diferentes mecanismos usados pelo cliente para acessar conteúdo.

  • Seletores para escolher diferentes níveis de log, como o padrão INFO (mensagens informacionais, avisos e erros) ou DEBUG (saída detalhada útil para reportar erros). O arquivo de log pode também ser habilitado e recuperado a partir daqui.

    Ao habilitar o arquivo de log, o nível de log é automaticamente definido para DEBUG (embora você possa modificá-lo novamente aqui). Ao desabilitar o arquivo de log, o nível de log original é restaurado.

  • Estado global do cliente e informações de versão. Útil ao reportar erros.

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

  • A chave pública usada para verificar assinaturas dos injetores no cache distribuído.

  • Informações no seu cache local tais como a idade máxima do conteúdo, o tamanho aproximado do cache, um botão para limpar completamente e um link para a lista de entradas do cache anunciadas.

  • O diretório do cache externo e estático, caso esteja habilitado (Ceno não o usa atualmente).