Censorship.no! Manuel d’utilisation

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.

Introduction

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.

Le Web repose sur la capacité de vos appareils à atteindre des ordinateurs particuliers appelés « serveurs Web » (exploités par des créateurs de contenu, des éditeurs ou des fournisseurs d’accès à Internet) qui contiennent le contenu que vous voulez récupérer, et ce de manière synchronisée. Cela s’apparente plus à une conversation en direct au téléphone qu’à l’échange de lettres. Malheureusement, il faut pour cela que le serveur Web dont vous avez besoin soit connecté au réseau et dispose de suffisamment de ressources pour échanger avec votre appareil à ce moment précis.

L’avènement des réseaux de diffusion de contenu (ou réseaux CDN, tels que les réseaux commerciaux Akamai et Cloudflare, ou le réseau Deflect axé sur la société civile) a soulagé ces serveurs Web d’une partie de la charge en distribuant des copies du contenu à des centres de données répartis dans le monde entier, afin qu’il soit plus proche de vos appareils et donc atteignable plus rapidement, tout en protégeant les serveurs d’origine d’un accès direct. Toutefois, à l’heure actuelle, les serveurs CDN (et donc les organisations qui les exploitent) doivent recevoir la confiance du serveur d’origine et de vos appareils, et ils doivent aussi toujours être accessibles.

Malheureusement, encore une fois, il existe des situations dans lesquelles la connectivité générale est rare (pays en développement ou régions mal desservies, pauvres ou rurales), coûteuse (trafic international plus cher dans certains pays) ou a été activement bloquée par un acteur gouvernemental (explicitement ou à la suite d’une coupure générale). Dans ces cas, il est difficile, voire impossible, d’atteindre les serveurs Web d’origine ou même les serveurs CDN, et votre appareil ne pourra pas obtenir ce contenu, même si j’ai pu y accéder il y a quelques heures et que nous habitons à quelques rues l’une de l’autre.

C'est là que le Navigateur Ceno et Ouinet entrent en jeu. Ce chapitre vous les présentera.

Qu’est-ce que le Navigateur 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 développe 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.

À qui s’adresse Ouinet ?

Ceno s’adresse à tous. Il est toutefois particulièrement utile pour les personnes qui s’intéressent à des contenus Web censurés sur leur réseau, et pour celles qui vivent dans des pays où la connectivité à l’internet mondial est irrégulière, peu fiable ou coûteuse. Il encourage et permet le partage de contenus Web entre utilisateurs, créant ainsi un réseau décentralisé de pairs qui s’entraident.

Pas besoin d’être un utilisateur expert ou une utilisatrice experte en informatique ni même de comprendre le fonctionnement des réseaux pair à pair pour utiliser Ceno. L’expérience utilisateur ressemble à l’utilisation d’un navigateur Web habituel (la fonctionnalité propre à Ceno est en grande partie invisible).

Ceno peut toutefois générer plus de trafic Internet que votre navigateur Web habituel, puisqu’il doit informer les autres utilisateurs du contenu Web qu’il partage sur le réseau, et éventuellement fournir ce contenu à ceux et celles qui le demandent. Ceno dépend donc d’une assez bonne connectivité à l’intérieur du pays. Nous vous recommandons d’utiliser Ceno connecté au Wi-Fi, non seulement pour éviter d’épuiser les limites de données mobiles (si vous en avez), mais aussi pour augmenter les chances de fournir du contenu Web à d’autres utilisateurs.

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’est-ce 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 repose sur une ingénieuse combinaison de technologies existantes et sur leur utilisation pour accomplir chacune de ses fonctions : la localisation d’autres participants.tes se fait avec des techniques provenant du monde du partage de fichiers (la table de hachage distribuée de BitTorrent), la communication avec eux.elles fait appel à des protocoles Web et de partage de fichiers courants (les requêtes au mandataire HTTP et µTP de BitTorrent), et les normes modernes du secteur assurent la sécurité des communications et l’authenticité des contenus échangés (le chiffrement TLS et les signatures Ed25519). Ouinet permet au besoin de remplacer certaines technologies par d’autres (par exemple, certaines utilisations de µTP peuvent être remplacées par les transports enfichables de Tor).

Sur les appareils mobiles, Ouinet peut être intégré dans les applications des utilisateurs finaux (en tant que bibliothèque Android). Sur les ordinateurs, il peut être utilisé par des clients Web normaux tels que les navigateurs (en tant que mandataire HTTP local).

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

À qui s’adresse Ouinet ?

Ouinet est surtout utile pour les développeurs de logiciels, les créateurs de contenu et les éditeurs qui souhaitent permettre aux utilisateurs et aux utilisatrice de leurs applications de partager avec d’autres le contenu récupéré. Cela réduit la demande globale sur le serveur d’application et améliore l’accessibilité du contenu pour les ceux et celles situés dans des pays où l’accès à ce serveur est bloqué.

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!

Avertissement : Ouinet n’est pas un outil d’anonymisation. Si vous avez des doutes sur pertinence pour une tâche donnée, n’hésitez pas à nous contacter.

Guide de démarrage

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.

Commencer

Vous aurez besoin d’un appareil Android :

  1. Install Ceno Browser from Google Play, GitHub or Paskoocheh. No special permissions are needed.
  2. Lancez-le.
  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. Touchez la notification de Ceno pour l’arrêter complètement.

Detailed installation instructions are here.

Configuration

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.

D’autres questions ?

Principaux concepts

Pour atteindre son objectif de contourner plusieurs sortes d’interférences et d’insuffisances du réseau, Ceno utilise diverses techniques issues du Web, des systèmes de partage de fichiers et de la cryptographie de pointe. Ces techniques sont habilement combinées par Ouinet afin de rendre l’expérience d’utilisation de Ceno aussi proche que possible d’une navigation normale sur le Web.

Néanmoins, pour tirer le meilleur parti de Ceno, il est utile de comprendre le fonctionnement de Ouinet, les différentes façons de l’utiliser selon le type de contenu auquel nous tentons d’accéder, et les avantages et risques qui en découlent. Ce chapitre aborde ces sujets.

Comment ça fonctionne ?

Cette section explique le fonctionnement de Ceno et de Ouinet à partir d’une série de scénarios. La terminologie et les concepts importants pour Ouinet seront présentés (en caractères gras) et utilisés par la suite par efficacité et pour éviter toute confusion.

Accéder directement au contenu

Le Navigateur Ceno est un exemple d’application qui utilise la technologie Ouinet pour récupérer et partager du contenu Web. Nous appelons ce type d’application un client Ouinet. Quand vous utilisez votre client (c.-à-d. Ceno) pour essayer d’accéder à un contenu X hébergé sur un serveur Web (que nous appellerons le serveur d’origine de X), votre client essaie de contacter le serveur d’origine sur Internet, soit directement soit par l’intermédiaire d’une autre machine configurée pour contacter les serveurs Web pour les autres (ce que l’on appelle un serveur mandataire), et demande ensuite le contenu souhaité. Ce mode de fonctionnement n’est pas différent de celui de n’importe quel navigateur Web normal.

Note technique : Il y a en fait un petit inconvénient. Dans la mesure où le client agit comme mandataire HTTP sur votre appareil, pour que le client puisse déchiffrer les demandes de contenu HTTPS et y et donner suite, l’application qui utilise le client (c.-à-d. la partie navigateur Web, Firefox dans Ceno) doit accepter un certificat spécial émis par le client même (et utilisé seulement sur votre appareil). Le Navigateur Ceno se charge déjà de configurer ce certificat pour son usage privé, afin que vous n’ayez pas à vous en soucier.

Il se peut toutefois que ces chemins directs ne soient pas accessibles. Par exemple, votre fournisseur d’accès à Internet (FAI) pourrait bloquer l’accès au serveur d’origine de X ou le mandataire en raison d’une injonction du gouvernement (même si le reste du trafic est toujours autorisé). En tant qu’utilisateur du client en haut à gauche illustré ci-dessous, les deux tentatives d’accès au contenu X (le petit document proche de son serveur d’origine) échoueraient pour vous. Vous aurez peut-être aussi remarqué le nœud « injecteur » sur le diagramme. Nous l’expliquerons dans un instant.

Figure: Client cannot reach content directly

Avec un navigateur normal, vous n’y arriveriez pas. Cependant, avec Ouinet, vous pouvez demander leur copie du contenu X à d’autres clients, s’ils en ont déjà une. Découvrons comment Ouinet effectue cette demande.

Chercher du contenu partagé

L’ensemble des contenus stockés par les clients Ouinet est appelé cache distribué, c.-à-d. un magasin qui ne se trouve pas en un seul endroit. Mais comment votre client peut-il savoir quels autres clients formant le cache ont le contenu souhaité ?

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 recherche le contenu d’une manière différente. Il utilise un index semblable à la table des matières d’un livre : dans l’index du cache distribué de Ouinet, vous cherchez l’URL complète du contenu et obtenez une liste des clients qui en détiennent une copie. L’index même est distribué, les clients devant annoncer aux autres le contenu qu’ils possèdent. En fait, seul un indice de chaque URL est annoncé : si quelqu’un espionne le trafic de votre appareil il ne peut pas savoir quel contenu vous avez, et si quelqu’un cherche un contenu particulier, il peut suivre les indices jusqu’à votre client.

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.

De plus, le Navigateur Ceno n’annonce pas l’URL de chaque ressource qu’il détient : les pages modernes ayant des dizaines ou des centaines de composants (images, feuilles de style, scripts…), cela créerait un trafic important. Les ressources sont plutôt regroupées sous l’URL de la page qui les tirent et seule cette URL est annoncée. Cela se fait à l’aide d’une extension de navigateur ad hoc (décrite plus loin).

Les clients qui proposent un contenu particulier grâce au cache distribué lepropagent, en sont les propagateurs (ces termes proviennent du monde du partage de fichiers pair à pair). Pour en revenir à notre scénario-exemple, deux clients propagent un contenu. Malheureusement, l’un d’eux propage le contenu Y et l’autre le contenu Z, et votre client ne trouverait donc aucune entrée pour le contenu X dans l’index du cache distribué, comme illustré ci-dessous :

Figure: Content not found in the distributed cache

Heureusement, Ouinet offre un moyen de récupérer un tel contenu et en plus de l’offrir aux autres clients du cache distribué. Continuez à lire pour savoir comment.

Partager un nouveau contenu

Mandataires dopés aux stéroïdes

Dans Ouinet, nous trouvons des serveurs mandataires spéciaux appelés injecteurs qui se trouvent (avec un peu de chance) du côté libre d’Internet et qui s’efforcent de rester accessibles malgré les mesures de blocage :

  • Tout d’abord, les connexions entre les clients et les injecteurs sont chiffrées (grâce au SSL/TLS normal, tel que HTTPS) afin d’éviter que des assaillants n’identifient les injecteurs en écoutant le trafic Web.

    D’ailleurs, les certificats des injecteurs sont intégrés au Navigateur Ceno, ce qui lui permet de détecter les assaillants qui tenteraient de se faire passer pour des injecteurs.

  • Si le chiffrement ne suffit pas, les connexions aux injecteurs peuvent utiliser des techniques d’obscurcissement spécifiques (telles qu’I2P et les transports enfichables de Tor) pour compliquer encore l’identification.

  • Même si un injecteur a été identifié et que son accès a été bloqué par votre FAI, il en existe plusieurs et votre client peut contacter n’importe lequel sur Internet.

  • Certains ou tous les injecteurs peuvent être bloqués, mais l’ensemble des injecteurs peut varier dans le temps (et de nouveaux être ajoutés).

    Votre client n’a pas à connaître leurs adresses Internet à l’avance ; il effectue plutôt une recherche dans l’essaim d’injecteurs* (autre terme provenant du partage de fichiers pair à pair), un index distribué à entrée unique semblable à l’index du cache distribué, qui fournit les adresses des injecteurs accessibles actuellement.

  • Enfin, même si votre client n’arrive pas à atteindre un injecteur, d’autres clients pourraient. Si un client est en mesure d’atteindre un injecteur et pense être accessible par d’autres clients, il devient un client pont et ajoute sa propre adresse Internet à l’essaim de ponts*, un autre index distribué à entrée unique.

    Votre client peut donc chercher une telle adresse, se connecter au pont sous-jacent et lui demander d’établir pour lui une autre connexion vers un injecteur, créant ainsi un tunnel entre votre client et l’injecteur. Une connexion peut alors être établie entre eux à l’intérieur du tunnel.

    Dans la mesure où les connexions entre clients et injecteurs sont chiffrées, les ponts ne peuvent voir l’information qui circule entre eux.

Un injecteur peut se comporter comme un serveur mandataire normal (bien que très accessible), et c’est en fait ce que les clients Ouinet (dont le Navigateur Ceno) font actuellement quand ils tentent d’accéder à un contenu par l’intermédiaire d’un mandataire. Dans ce cas, l’injecteur ne pourra pas non plus voir l’information qui circule entre votre client et le serveur d’origine (à moins que ce ne soit une simple connexion HTTP non chiffrée).

Mais il existe d’autres outils qui vous permettent d’atteindre des mandataires dans des conditions d’interférence draconienne du réseau. En quoi les injecteurs de Ouinet sont-ils si particuliers ?

Faire confiance au contenu partagé

Et bien, un injecteur ne se contente pas de récupérer du contenu au nom de votre client, il vous permet aussi de partager ultérieurement ce contenu avec d’autres, même si l’injecteur ou à la majeure partie d’internet ne sont plus accessibles.

Vous pourriez bien sûr télécharger une page de votre navigateur et en copier les fichiers pour d’autres personnes, ce qui ne poserait pas de problème si vous vous connaissez. Mais que se passerait-il si vous receviez ces fichiers d’une personne inconnue ? Comment pourriez-vous savoir si le contenu provient vraiment du site Web en question, qu’il a été récupéré à une certaine date ou que l’information qu’il comprend n’a pas été manipulée ?

Nous voulons que l’utilisation de Ceno et de Ouinet augmente et qu’elle fournisse autant de contenu que possible au plus grand nombre. C’est pourquoi nous voulons que vous puissiez recevoir du contenu de personnes que vous ne connaissez pas. Afin de vous permettre d’accepter de tels contenus, Ouinet fait appel à la signature du contenu : votre client est configuré pour faire confiance aux contenus signés à l’aide d’une clé spéciale appartenant aux injecteurs. Si un client demande à un injecteur de récupérer un contenu Web pour le partager, l’injecteur le récupère du serveur d’origine, utilise la clé pour le signer et renvoie le contenu signé au client.

Note technique : En fait, l’injecteur signe les blocs de données individuels au fur et à mesure qu’ils arrivent, et si la connexion est coupée lors de la récupération d’un gros fichier, les données téléchargées peuvent ainsi être encore partagées par le client qui les a reçues.

Différents injecteurs peuvent avoir des clés différentes et vous pouvez donc choisir les injecteurs auxquels faire confiance. Imaginez la situation ainsi : vous pourriez faire confiance à un document signé par un notaire de votre pays, peu importe qui vous l’aurait donné (quelqu’un de votre pays ou d’un autre), mais vous ne seriez pas tenu d’accepter un document signé par un notaire d’un autre pays. Le Navigateur Ceno est déjà configuré pour faire confiance à un ensemble d’injecteurs exploités par eQualitie.

Note technique : Les injecteurs utilisent une biclé publique et privée pour créer des signatures Ed25519 ; les clés publiques sont suffisamment petites pour être envoyées avec les signatures, et elles sont encodées en 64 caractères hexadécimaux ou en 52 caractères Base32. Elles pourraient même être échangées sur le téléphone ou écrites sur un morceau de papier.

Injection de contenu

Souvenez-vous que dans notre scénario-exemple, votre client avait déjà tenté en vain de récupérer le contenu X directement du serveur d’origine et d’autres clients. Le client joue sa dernière carte Ouinet et tente de contacter un injecteur de confiance pour obtenir une copie signée du contenu qu’il pourra partager avec d’autres clients.

L’illustration ci-dessous présente le résultat possible de cette opération : le client tente d’abord de contacter l’injecteur directement (p. ex. en utilisant une adresse Internet obtenue de l’essaim d’injecteurs), mais elles est malheureusement déjà bloquée par votre FAI ; heureusement, l’essaim de ponts offre les adresses Internet de deux autres clients qui peuvent encore atteindre un injecteur. Votre client ouvre un tunnel vers l’injecteur grâce à l’un de ces clients, de sorte que votre client demande le contenu X à l’injecteur, qui le demande à son tour à son serveur d’origine.

Figure: Client reaches for injector

Quand le contenu X est reçu par l’injecteur, il le signe avec sa clé, ajoute la signature au contenu et le renvoie à votre client dans le tunnel par lequel il est arrivé (disons, grâce au client situé par-delà le blocage). Une fois que le contenu atteint votre client, il accomplit trois choses :

  1. Il vous le remet (dans le cas de Ceno, il affiche le contenu dans le navigateur).
  2. Il enregistre le contenu sur votre appareil pour le propager ultérieurement vers d’autres clients. Il y restera pendant une durée configurable ou jusqu’à ce que vous décidiez d’effacer tout le contenu enregistré.
  3. Il annonce dans l’index du cache distribué qu’il possède un exemplaire de ce contenu, afin que d’autres clients puissent le trouver.

L’opération combinée d’extraction, de signature, de stockage et d’annonce est ce que nous appelons l’injection de contenu, comme illustré ci-dessous.

Figure: Client receives signed content from injector

Notez que le mécanisme décrit ci-dessus demande quand même qu’un chemin existe à travers le blocage et vers le reste d’internet. Mais parfois, ce chemin sera aussi absent : pensez aux déconnexions internationales complètes, aux catastrophes naturelles, ou simplement à une congestion excessive des quelques chemins existants (car tout le monde tente de les emprunter). C’est là que toute la puissance du cache distribué entre en jeu.

Imaginons qu’après avoir récupéré le contenu X de l’injecteur, une catastrophe isole votre région du reste du monde. Il s’avère que le contenu X devient particulièrement pertinent puisqu’il décrit des moyens d’aider votre communauté dans une telle situation.

À ce moment-là, une deuxième personne qui utilise le Navigateur Ceno tente également d’obtenir ce contenu. L’accès au serveur d’origine ou à tout ce qui se trouve par-delà votre région est impossible. Ceno vérifie donc si ce contenu est présent dans l’index du cache distribué et constate que votre appareil le propage. Ceno récupère votre adresse Internet dans l’index, s’y connecte et demande le contenu comme illustré ci-dessous.

Figure: Client receives signed content from client

Maintenant, ce deuxième appareil détient aussi un exemplaire du contenu X et l’annonce donc dans l’index du cache distribué, devenant ainsi propagateur. Si une troisième personne intéressée par ce contenu utilise le Navigateur Ceno pour le récupérer, Ceno verra alors deux adresses pour ce contenu dans l’index : celle de votre appareil et celle du deuxième utilisateur. Si le contenu est volumineux (p. ex. une vidéo), ce troisième appareil pourrait tenter d’en obtenir la moitié de chacun des autres appareils (comme illustré ci-dessous), accélérant ainsi le téléchargement et réduisant le trafic utilisé.

Figure: Client receives signed content from multiple clients

Pour terminer, la situation pourrait encore s’aggraver et toutes les infrastructures de réseau commerciales et nationales pourraient être coupées. Le case échéant, Ouinet et le Navigateur Ceno offre aussi le partage de contenu d’appareil à appareil, entre deux clients situés sur le même réseau local (p. ex. connectés au même point d’accès Wi-Fi), même si le réseau ne peut pas accéder à d’autres.

Public vs. Personal browsing

Avantages de l’utilisation de Ceno et Ouinet

Les principaux avantages de l’utilisation de Ceno et Ouinet comparés à d’autres technologies de contournement découlent de la coopération entre les clients et les injecteurs pour se transférer le trafic les uns vers les autres, signer le contenu pour une vérification ultérieure et stocker le contenu signé pour le propager vers d’autres. Voici quelques avantages dignes d’être mentionnés :

  • Une utilisation familière : Avec le Navigateur Ceno, l’accès au contenu Web donne l’impression de surfer sur le Web avec votre navigateur habituel, même en cas de blocage complet. Aucun nouveau lien personnalisé pour accéder à des contenus populaires ni aucune action particulière de l’utilisateur (tel que le transfert de fichiers entre applications) n’est nécessaire.

  • Une disponibilité accrue du contenu : Ouinet est en mesure de fournir du contenu de manière efficace et fiable dans des situations d’interférence extrême du réseau. Plus un contenu particulier est populaire, plus les clients de Ceno et Ouinet le propagent et plus il devient accessible.

    Le contenu signé peut être apporté à des clients particuliers dans une zone déconnectée par des moyens hors ligne (p. ex. une clé USB) et être ainsi mis à la disposition d’autres clients.

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

Risques inhérents à Ceno et Ouinet

Comme pour tout système informatique suffisamment complexe et surtout aussi innovant, l’utilisation du Navigateur Ceno (et de n’importe quel client Ouinet en général) n’est pas exempte de certains risques. Dans cette section, nous les rassemblerons et les décrirons pour vous aider à comprendre leurs implications en fonction des différents rôles que pourriez jouer lors de l’utilisation de Ceno :

  • en tant qu’utilisateur qui parcourt des sites Web
  • en tant que propagateur qui partage sur le cache distribué du contenu qu vous avez déjà visité
  • en tant que pont qui permet aux autres utilisateurs d’atteindre un injecteur

En tant qu’utilisateur

Les ponts peuvent-ils voir ma communication avec le serveur d’origine ?

Non. Le seul rôle d’un pont est de transmettre le trafic brut entre un client et un injecteur. Cette communication est toujours chiffrée et les ponts ne disposent pas des clés privées nécessaires pour accéder au contenu de la communication.

Les injecteurs peuvent-ils voir ma communication avec le serveur d’origine ?

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.

Note technique : Seules les demandes HTTP GET sont candidates à l’injection, les paramètres de la demande étant supprimés, ainsi que tous les champs d’en-tête HTTP, à l’exception d’un ensemble limité de champs fondamentaux et qui préservent la confidentialité.

Les injecteurs peuvent-ils voir mon adresse IP ?

Oui. Toutefois, les injecteurs ne peuvent pas faire la différence entre une demande qui provient d’un utilisateur de Ceno et une autre d’un pont. Les demandes adressées à l’injecteur ne peuvent donc pas se voir attribuer une adresse IP d’origine de manière fiable.

Mes données privées peuvent-elles être divulguées au cache distribué ?

Il faut espérer que non. Comme mentionnée plus haut, le Navigateur Ceno s’efforce de supprimer toute donnée privée (mots de passe, témoins…) de toute demande d’injection. De plus, l’injecteur même ne propage rien ; en fait, son seul but est de signer le contenu afin que les clients Ouinet puissent le propager. Cela signifie qu’une fois le contenu revenu au client, il est analysé à nouveau et si le serveur d’origine a indiqué qu’il était de nature privée, Ceno ne le propagera pas non plus.

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.

Le serveur d'origine peut-il savoir si j'utilise Ceno ?

Probablement pas. Lorsque Ceno contacte directement un serveur d'origine, il se comporte normalement, comme Firefox pour Android le ferait, de sorte que votre appareil a l'apparence d'une application Firefox normale de la même version.

Cependant, lorsqu'il utilise un injecteur pour obtenir du contenu depuis son serveur d'origine, il y existe (au moins) deux façons pour ce dernier de savoir si Ceno ou Ouinet est impliqué :

  1. L'adresse source de la connexion atteignant le serveur d'origine se trouve dans l'essaim d'injecteurs (puisque la connexion provient bien de l'injecteur) ;
  2. La présence ou l’absence de certains renseignements dans la demande de contenu caractérise Ouinet. Cela se produit quand l’injecteur demande le contenu parce que votre client lui a demandé de récupérer et de signer ce contenu, car l’injecteur supprime de la demande les renseignements propres à votre appareil particulier.

Veuillez noter qu’elles ne font que marquer la demande comme provenant de Ouinet, mais elles ne la relient pas à vous ni à votre appareil particulier. Toutefois, si, pour l’une des raisons mentionnées dans la question précédente, la demande contenait encore des renseignements personnels, ils pourraient être utilisés pour vous identifier en tant qu’utilisateur 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.

En tant que diffuseur

Quelles sont les données diffusées à partir de mon appareil ?

Actuellement, le seul contenu diffusé par Ceno est le contenu web non privé demandé en mode de navigation publique. Cela signifie en outre que les utilisateurs ne diffusent pas de contenu auquel ils n'ont pas déjà accédé eux-mêmes.

Quelqu'un peut-il savoir ce que je diffuse ?

Oui et non. Toute personne ayant un certain niveau de compréhension des opérations de Ouinet pourrait concevoir un outil pour découvrir les adresses IP à partir desquelles un contenu particulier est partagé (comme avec BitTorrent). Cependant, il n'est pas possible de cibler une adresse IP spécifique et d'obtenir une liste des contenus partagés par les clients derrière celle-ci.

En tant que passerelle

Les autres peuvent-ils trouver mon adresse IP ?

Oui, chaque navigateur Ceno capable de communiquer avec les injecteurs enregistrera son adresse IP dans l'essaim de passerelles où d'autres clients Ouinet pourront les trouver.

Est-il possible que j'aide quelqu'un à accéder à du contenu illégal dans mon pays ?

Oui, mais les ponts ne font que relayer les communications chiffrées entre un client Ouinet et un injecteur. Cela signifie qu’un pont ne demandera jamais directement un contenu à un autre serveur au nom de quelqu’un d’autre.

Utiliser le Navigateur 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.

Au besoin, des captures d’écran seront présentées pour illustrer le texte. Notez qu’elles pourraient différer légèrement de ce que vous voyez sur votre appareil, en raison, particulièrement, de la progression du développement de Ceno. Cette documentation est à jour pour la version 1.6.0 de Ceno.

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.

Installer Ceno

Le Navigateur Ceno peut être installé comme suit :

  • 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 demande un appareil ARM64 ou ARM32 compatible Neon qui fonctionne au moins sous Android 4.1 « Jelly Bean ». Donc, la plupart des appareils mobiles sortis à partir de la fin 2012 devraient fonctionner. Ceno ne nécessite aucune permission spéciale pour fonctionner.

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.

Arrêter Ceno complètement

Chaque fois que vous démarrez l’appli, l’icône de Ceno apparaît dans la barre de notification de votre appareil. Cette icône représente le service du Navigateur Ceno, qui est la partie de Ceno qui fonctionne en permanence (même si vous ne naviguez pas) et qui permet à d’autres clients d’utiliser votre appareil comme un pont pour en récupérer du contenu n’importe quand.

Comme l’exécution d’un tel service utilise les ressources du réseau et du processeur, vous pourriez l’arrêter lors de vos déplacements (c’est-à-dire si vous n’êtes pas connecté.e au Wi-Fi ou loin d’un chargeur). En touchant la notification affichée pour l’icône, vous arrêterez immédiatement Ceno et son service (jusqu’à ce que vous relanciez Ceno).

Figure: Tap on the notification to stop the Ceno service

Purger toutes les données de Ceno (le « bouton d’urgence »)

La notification du service du Navigateur Ceno ci-dessus comprend quelques actions connexes qui peuvent être déclenchées en les touchant. L’action Accueil ouvrira simplement Ceno sur sa page d’accueil, dans un nouvel onglet de navigation publique. L’action Effacer demande plus d’explications.

Note : Si vous ne voyez pas les actions situées sous la notification, dépliez la notification en la faisant glisser de son centre vers le bas. Si vous ne voyez que l’action Accueil, il se peut que votre appareil soit trop ancien pour prendre l’action Effacer en charge.

Si vous devez arrêter Ceno rapidement et effacer toutes ses données sans exception (non seulement le contenu du cache, mais aussi les paramètres tels que les favoris, les mots de passe et tout l’historique de navigation), vous pouvez toucher Effacer. Pour éviter de perdre accidentellement vos données, rien ne sera supprimé à ce stade, mais une action supplémentaire apparaîtra pendant un instant, comme illustré ci-dessous :

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

Si vous touchez l’action Oui, Ceno s’arrêtera et toutes ses données seront supprimées sans autre question, laissant votre appareil comme si Ceno n’avait jamais été utilisé.

Si vous ne touchez pas l’action, elle disparaîtra en quelques secondes.

**Note : ** Ceno doit être lancé sur votre appareil pour que la méthode décrite ci-dessus fonctionne. Pour obtenir le même résultat si Ceno est arrêté, vous pouvez utiliser la page des Paramètres généraux d’Android, Applications > Ceno > Effacer les données.

Une méthode la plus radicale consiste à complètement désinstaller l’appli.

Avertissement : Outre ses données, Android pourrait conserver d’autres traces de l’utilisation d’une appli, par exemple dans son journal système.

Modes de navigation public et personnel

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

Cette paramètre applique à chaque onglet que vous avez ouvert dans votre navigateur, par. ex. vous pouvez avoir des onglets de navigation publique et des onglets de navigation personnelle. Le défaut pour Ceno quand elle est démarrée ou quand vous ouvrez un nouvel onglet (via l’option ‘Onglets Publiques’ sur l’écran d’accueil ou l’icône d’Onglets à côté de l’icône Effacer dans la barre d'adresse) est d’utiliser la navigation publique. Afin d’ouvrir un nouvel onglet en mode de navigation personnelle, vous n’avez qu’à choisir Onglets Personnels sur l’écran d’accueil ou changer à l’icône du mode personnel dans le menu des onglets.

Vous pouvez distinguer les onglets publics et personnels parce que les onglets publics ont une barre d’outils plus clair (ou blanc) :

Figure: A Public browsing tab

Au contraire, les onglets privés ont une barre d’outils plus sombre :

Figure: A Personal browsing tab

Une fois que vous avez chargé une page dans un onglet, l’icône de Ceno dans la barre d’adresse vous aidera savoir comment il a réellement récupéré les éléments différents du contenu. Nous allons parler de cette icône plus tard.

Paramètres de Ceno

Le Navigateur Ceno vous permet de modifier certains paramètres propres à Ouinet et d’obtenir simplement des renseignements sur votre client. Cela ne devrait pas être nécessaire pour un fonctionnement normal, mais pourrait s’avérer utile pour tester différentes stratégies contre les interférences du réseau et pour signaler des problèmes avec l’appli.

**Note technique : ** Ces options sont fournies par l’extension Ceno, une extension Firefox installée par défaut dans Ceno et qui assure une bonne intégration avec Ouinet : activer l’injection du contenu et de la récupération du cache en navigation publique, indiquer à l’utilisateur ou à l’utilisatrice la source du contenu visualisé et signaler les nouvelles versions de Ouinet.

Ces fonctions sont proposées sur une page accessible sous Ceno dans le menu principal de l’appli. Notez que l’entrée du menu peut prendre quelques secondes avant de s’afficher au démarrage de l’appli. La page devrait ressembler à ceci :

Figure: The Ceno Settings page

Choisir les mécanismes d’accès

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.

  • Directement du site Web (ou accès à l’origine) permet à Ceno de tenter d’atteindre directement le serveur d’origine avant d’essayer les autres mécanismes activés ci-dessous.

    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.

  • Par le réseau Ceno (privé) (ou accès par un mandataire) permet à Ceno d’utiliser les injecteurs comme des serveurs mandataires HTTP normaux pour atteindre les serveurs d’origine.

    This mechanism only works in Personal browsing mode.

    Lors de l’accès au contenu par HTTPS, seuls les serveurs d’origine seront en mesure de déchiffrer le trafic. Lors de l’accès par HTTP ordinaire, l’injecteur peut aussi voir le trafic non chiffré (mais il ne devrait toujours pas signer ou partager son contenu avec d’autres). Les autres participants tels que les ponts ne verront jamais le trafic non chiffré.

  • Par le réseau Ceno (public) (ou accès par injecteur) permet à Ceno de retirer toute information privée des demandes et de les envoyer à un injecteur. L’injecteur obtient le contenu d’un serveur d’origine, le signe et le renvoie à Ceno, qui par la suite commence à le propager.

    Les autres participants (tels que les ponts) ne verront pas le trafic non chiffré.

    Ce mécanisme ne fonctionne qu’en mode de navigation publique.

  • Partagé par d’autres utilisateurs de Ceno permet à Ceno d’essayer de récupérer le contenu du cache distribué, c.-à-d. d’autres clients Ceno et Ouinet qui le propage.

    Ce mécanisme ne fonctionne qu’en mode de navigation publique.

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

À propos de votre appli

Cette page vous donne aussi des renseignements sur votre appli Navigateur Ceno et votre client Ouinet :

  • Taille du cache local indique approximativement la quantité d’espace de stockage occupé par le contenu propagé à partir du cache local de votre appareil.
  • Contenu partagé par vous vous permet de vérifier le contenu annoncé par votre appareil.
  • Si l’État du client Ouinet est démarré, votre client Ouinet a réussi à s’exécuter. Sinon, il pourrait y avoir quelques problèmes de connectivité ou une erreur interne. Veuillez inclure ces renseignements dans vos relevés de problème.
  • État d’accessibilité indique la probabilité que votre appareil puisse propager efficacement du contenu à d’autres clients. À inclure également dans les relevés.
  • État de l’UPnP indique si Ceno a pu indiquer à votre routeur ou à votre point d’accès d’autoriser les connexions entrantes vers lui. À inclure également dans les relevés.
  • Les Extrémités UDP locales sont les adresses Internet de votre appareil utilisées par Ceno pour propager vers les autres clients du contenu signé. Elles sont affichées pour aider à tester et à déboguer l’appli et ne doivent pas être divulguées publiquement.
  • Les Extrémités UDP externes sont les adresses Internet de votre routeur attribuées à votre trafic Ceno. Seulement proposées avec les routeurs compatibles UPnP, elles sont aussi utiles au diagnostic et ne doivent pas être divulguées publiquement.
  • Les Extrémités UDP publiques sont les adresses Internet que les clients Ouinet extérieurs à votre réseau voient quand ils communiquent avec votre appareil. Ils sont aussi utilisés pour le diagnostic et ne doivent pas être divulgués.
  • Les amorces BitTorrent supplémentaires sont des serveurs utilisés pour aider votre appareil à accéder au réseau BitTorrent, au cas où les serveurs par défaut ne fonctionneraient pas. À inclure également dans les relevés. Vous pouvez modifier la liste d’hôtes séparés par des espaces (facultativement avec des ports) pour définir ou ajouter les vôtres, puis sélectionnez Enregistrer. Les changements seront appliqués lors du prochain démarrage de votre client Ouinet.
  • Navigateur Ceno indique la version exacte de Ceno que vous utilisez. À inclure également dans les relevés.
  • Extension Ceno indique la version de l’extension qui intègre Firefox à Ceno. À inclure également dans les relevés.
  • Ouinet indique la version de Ouinet qui soutient Ceno. À inclure également dans les relevés.
  • Protocole Ouinet est le numéro de version du protocole que Ceno utilise pour communiquer avec les autres clients et injecteurs Ouinet. À inclure également dans les relevés.

Purger le cache local

À côté de la valeur Taille du cache local ci-dessus se trouve un bouton qui vous permet d’arrêter la propagation et d’abandonner tout contenu partagé par votre appareil sur Ouinet. Cela vous permet de libérer de la mémoire sur votre appareil tout en conservant d’autres paramètres de Ceno tels que les Favoris.

Si vous souhaitez effacer le cache normal de navigation de Ceno (celui utilisé par le navigateur, non partagé avec les autres) ou d’autres éléments tels que les témoins de connexion, l’historique de navigation ou les favoris, vous devez choisir Réglages dans le menu principal de l’appli, puis Effacer les données privées. Un message vous demandera quels éléments vous souhaitez effacer.

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.

Recueillir les messages du journal

Au bas de la page se trouve une case à cocher Activer le fichier journal qui vous permet de recueillir tous les messages internes de Ouinet et de les télécharger dans un fichier. Cette option ne devrait être utilisée que pour diagnostiquer un problème dans Ceno ; il vous suffit de suivre les étapes suivantes :

  1. Dans la page Paramètres de Ceno, cochez Activer le fichier journal.
  2. Revenez à la navigation et effectuez les actions qui déclenchent le comportement problématique.
  3. Retournez sur la page Paramètres de Ceno et touchez le lien Télécharger à côté de la case à cocher Activer le fichier journal. Enregistrez le fichier pour une utilisation ultérieure. À ce stade, Android pourrait vous demander d’autoriser l’accès de Ceno aux médias stockés : cela est nécessaire afin d’enregistrer le fichier.
  4. Décochez la case Activer le fichier journal pour éviter que les journaux ne deviennent trop volumineux.

Vous pouvez maintenant utiliser le fichier journal enregistré pour documenter un relevé de problème, mais évitez de le rendre public, car il pourrait contenir des renseignements sensibles sur votre navigation.

Tester le navigateur

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.

Pour réaliser tous les tests ci-dessous, vous aurez besoin d’au moins deux appareils connectés au même réseau Wi-Fi et d’un troisième appareil connecté à un réseau complètement différent.

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

Accéder à un injecteur

Vérifions d’abord si votre Navigateur Ceno peut atteindre un injecteur. Cela peut sembler anodin, mais votre client fera déjà appel à plusieurs fonctions de Ouinet au cours de processus : il cherchera l’adresse de l’injecteur dans l’essaim d’injecteurs, essaiera de le contacter directement et, s’il est bloqué par votre fournisseur d’accès ou votre pays, il cherchera l’essaim de ponts et essaiera de contacter l’injecteur grâce à un autre client Ouinet.

Sur le premier appareil, effectuez les étapes suivantes :

  1. Commencez par installer Ceno et démarrez-le. Sa page d’accueil apparaîtra.
  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. Retournez à la page d’accueil de Ceno. Sélectionnez l’un des sites Web recommandés ou entrez l’URL d’un autre site dans la barre d’adresse supérieure. Si vous connaissez un site qui est habituellement bloqué pour vous, n’hésitez pas à le saisir.
  4. Le site choisi devrait finir par apparaître.

Note : Si vous obtenez une fausse page au lieu d’une page authentique, utilisez la barre d’adresse pour entrer l’URL du site avec https: // au début (au lieu de http: //) et recommencez le test.

Si le site se charge, vous pouvez vous réjouir du fait que votre appareil puisse atteindre l’injecteur. Puisque vous pouvez interroger des essaims et contacter d’autres clients, il est aussi probable que vous puissiez également récupérer du contenu du cache distribué.

D’ailleurs, si vous touchez l’icône Ceno dans la barre d’adresse, une fenêtre surgissante telle que celle ci-dessous s’ouvrira, indiquant le nombre d’éléments du site récupérés de différentes sources. Seule Par le réseau Ceno (public) devrait avoir une valeur différente de zéro puisque les autres sources ont été désactivées.

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

Obtenir du contenu d’utilisateurs proches

Puisque votre premier appareil a pu obtenir du contenu d’un injecteur, testons sa capacité à le partager avec un autre appareil grâce au cache distribué. La façon la plus simple est d’utiliser la prise en charge du transfert d’appareil à appareil de Ceno pour vérifier si l’obtention et la vérification de contenus signés fonctionnent.

Après avoir effectué avec succès le test ci-dessus sur le premier appareil, laissez Ceno tourner sur celui-ci (l’icône Ceno devrait apparaître dans sa barre de notification). Procurez-vous ensuite un deuxième appareil (vous pouvez inviter un ami pour vous aider à tester) et connectez-le au même réseau Wi-Fi. Ensuite, suivez les étapes ci-dessous sur le deuxième appareil :

  1. Installez Ceno si cela est nécessaire et démarrez-le comme indiqué ci-dessus.
  2. Ouvrez la page Paramètres de Ceno comme indiqué ci-dessus. Puisque nous voulons seulement tester l’accès au cache distribué, décochez toutes les cases des sources de contenu sauf Partagé par d’autres utilisateurs de Ceno.
  3. Retournez à la page d’accueil de Ceno et visitez le même site de la même façon que ci-dessus (c.-à-d. en sélectionnant l’un des sites Web recommandés ou en saisissant son URL dans la barre d’adresse).
  4. Le site choisi devrait finir par apparaître.

Si cela ne fonctionne pas, il se peut que votre réseau Wi-Fi bloque la communication directe entre ses appareils. Cet « isolement du client » peut se produire sur les réseaux publics tels que ceux de parcs, de bars ou d’hôtels. Réessayez sur un réseau différent.

Si cela fonctionne, les deux appareils peuvent remettre ce contenu à d’autres clients. Toucher l’icône Ceno de la barre d’adresse devrait afficher une fenêtre surgissante telle que celle ci-dessous, dans laquelle seule Partagé par d’autres utilisateurs de Ceno a une valeur non nulle.

Figure: Sources used when testing distributed cache retrieval

Pour finir, vous avez peut-être aussi remarqué le compteur Contenu partagé par vous. Ce n’est pas vraiment une source différente : les éléments comptabilisés ici font effectivement partie du cache distribué, mais ils sont déjà enregistrés dans votre appareil et Ceno n’a donc pas besoin de les récupérer sur le réseau.

Obtenir du contenu d’utilisateurs distants

Nous avons effectué un test du cache distribué à petite échelle. Testons maintenant son fonctionnement sur Internet.

Après avoir mené à bien le test ci-dessus, laissez Ceno tourner sur le premier appareil comme pour le test précédent et arrêtez Ceno sur le deuxième appareil (en affichant ses notifications et en touchant « Toucher pour arrêter »).

Vous aurez cette fois besoin d’un troisième appareil, mais il doit être connecté à un réseau Wi-Fi différent (un.e autre ami.e pourrait vous aider de la maison). Les étapes à suivre pour cet appareil sont exactement les mêmes que celles du test précédent.

Si le troisième appareil peut charger le site utilisé pour le test, vous êtes prêt. Le premier appareil arrive à propager du contenu vers d’autres appareils et il peut aussi très probablement servir de pont.

Félicitations !

Aider les autres utilisateurs de Ceno à parcourir le Web

Un réseau pair à pair est construit par chaque nœud qui s’y connecte (oui, cela vous comprend). Plus les nœuds sont nombreux, plus le réseau devient fort et polyvalent. Si vous utilisez le Navigateur Ceno dans un pays qui ne censure pas Internet (ou moins que certains), pensez à aider les autres utilisateurs de Ceno en devenant nœud-pont. Vous commencerez alors à acheminer le trafic entre les clients situés dans des pays fortement censurés et les injecteurs de Ceno. Vous ne pourrez pas voir leur trafic (il sera envoyé dans un tunnel chiffré) et ce trafic ne restera pas sur votre appareil.

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

Devenir un pont Ceno

Cette fonction est déjà intégrée au Navigateur Ceno. Votre appareil devra être connecté à un réseau Wi-Fi sur lequel soit l’UPnP est activé soit la redirection d’un port précis est configurée pour Ceno. Consultez les sections suivantes pour plus de précisions.

Toutefois, veuillez noter qu’Android n’autorisera un appareil mobile à agir en tant que pont que si vous l’utilisez activement, car autrement, les fonctions d’économie d’énergie limiteront le fonctionnement 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.

Donc, si vous comptez utiliser Ceno comme pont permanent et toujours accessible, en plus d’un réseau Wi-Fi correctement configuré, vous devrez :

  1. Garder votre appareil en charge.

  2. Garder l’écran de l’appareil allumé.

    Une façon pratique de le faire sans consommer beaucoup d’énergie et sans éclairage permanent gênant est d’utiliser l’économiseur d’écran d’Android : activez-le sous Paramètres > Affichage > Économiseur d’écran (ou Rêverie sous certaines versions), choisissez le widget Horloge, sélectionnez Quand démarrer l’économiseur d’écran dans le menu, puis Pendant la charge ou L’un ou l’autre. Une horloge très atténuée apparaîtra sur un fond noir si l’appareil est inactif.

    Veuillez noter que vous ne devriez pas utiliser le bouton d’alimentation pour verrouiller l’appareil, car cela éteindrait l’écran. Attendez plutôt que l’appareil se verrouille avec l’écran allumé.

Si cette configuration ne vous convient pas, n’abandonnez pas. Si vous disposez d’un ordinateur bien connecté qui reste allumé la plupart du temps, poursuivez votre lecture.

Faire tourner un pont sur un ordinateur

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

Pour déployer un conteneur client Ceno, il vous suffit d’exécuter la commande suivante dans un terminal (n’ayez pas peur, il vous suffit de la copier et de la coller telle quelle sur la ligne de commande) :

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

Si le système d’exploitation de votre ordinateur n’est pas fondé sur GNU/Linux, la commande doit être légèrement différente :

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.

Activer l’UPnP sur votre routeur 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.

Les états ci-dessous indiquent qu’UPnP n’est pas accessible ou ne fonctionne pas sur votre routeur Wi-Fi :

État d’accessibilité

undecided

État de l’UPnP

disabled / inactive

Les états ci-dessous indiquent qu’UPnP fonctionne probablement et que Ceno vérifie la connectivité :

État d’accessibilité

undecided

État de l’UPnP

enabled

Les états ci-dessous indiquent qu’UPnP fonctionne et que vous pouvez assurer les connexions d’autres utilisateurs de Ceno :

État d’accessibilité

likely reachable / reachable

État de l’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.

L’on trouve de nombreux routeurs Wi-Fi sur le marché et chacun possède ses propres caractéristiques. Voici une liste d’instructions de certains fabricants pour activer l’UPnP :

Utiliser la redirection de port comme alternative à UPnP

Au lieu d’activer UPnP sur votre routeur, vous pouvez créer une règle de redirection de port pour réacheminer les connexions du réseau Ceno vers votre appareil. Vous devrez vous connecter à l’interface d’administration du routeur et trouver l’option Redirection de port. Vous trouverez l’adresse IP vers laquelle rediriger les connexions, ainsi que le bon port, sur la page Paramètres de Ceno, sous Extrémités UDP locales.

Extrémités UDP locales

192.168.1.132:28729

La redirection de port doit être pour le protocole UDP (et non TCP). Ceno choisit un port au hasard lors de la première exécution et le conserve par la suite, mais l’adresse IP du réseau local de votre appareil peut changer de temps à autre. Vous devez par conséquent consulter régulièrement la page Paramètres de Ceno pour vérifier si le réseau de Ceno peut accéder à votre appareil.

**Note technique : ** Vous pouvez autrement vous assurer que le routeur attribue toujours la même adresse IP à votre appareil (p. ex. avec un bail DHCP statique pour l’adresse MAC de l’appareil).

Dépannage

Cette section vous donnera quelques conseils sur les choses à faire si différents problèmes connus surviennent avec Ceno et Ouinet. N’oubliez pas que ces projets sont expérimentaux et que leur fonctionnement est soumis à une multitude de facteurs qui nous échappent, tels la configuration et l’état particuliers de l’infrastructure du réseau, mais aussi le contenu que d’autres utilisateurs ont récupéré et les caractéristiques de leurs connexions.

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

Il n’y a pas d’entrée pour Ceno dans le menu de l’appli

L’extension Ceno est peut-être encore en cours de chargement. Veuillez patienter.

Tous les widgets sont grisés dans la page Paramètres de Ceno

L’extension Ceno est chargée, mais elle n’a pas encore pu récupérer l’état de Ouinet. Ouinet peut prendre du temps avant d’être prêt, soyez patience.

Si la page Paramètres reste ainsi après plus de deux minutes, il se peut que Ouinet ait rencontré un problème au démarrage.

Essayez de visiter une page, si possible une page accessible habituellement. Si vous obtenez une erreur telle qu’« Échec de récupération de la ressource (après avoir essayé tous les mécanismes configurés) », il se peut que Ceno rencontre des problèmes de connectivité générale (telle qu’une impossibilité de se joindre au réseau BitTorrent). Si vous utilisez une connexion mobile, réessayez avec le Wi-Fi.

Si vous obtenez une erreur telle que « Le serveur mandataire refuse les connexions » quand vous visitez la page, essayez d’arrêter les autres applis qui pourraient offrir un service à l’appareil, puis redémarrez Ceno.

Note technique : Cela peut se produire si une autre application écoute déjà sur les ports TCP 127.0.0.1:8077 ou 127.0.0.1:8078.

L’état du client Ouinet sous Paramètres de Ceno n’est pas démarré

Le client Ouinet lancé par Ceno éprouve des problèmes de démarrage sur votre appareil.

Au lancement de Ceno, l’état peut afficher démarrage pendant quelques secondes, ce qui est normal. Cependant, si l’état reste démarrage pendant trop longtemps, cela peut indiquer de sérieux problèmes de connectivité qui empêchent l’application d’atteindre le réseau BitTorrent. Vérifiez votre connexion réseau et essayez de redémarrer Ceno. Si votre connexion fonctionne, mais l’état reste sur démarrage, contactez-nous (particulièrement si l’état était démarré lors d’une exécution précédente).

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 vous voyez un autre état, il se peut que le client Ouinet présente une erreur interne. Veuillez nous signaler le problème.

L’accès à certains contenus affiche « Impossible de récupérer la ressource »

Cela signifie que Ceno a essayé tous les mécanismes proposés pour accéder au contenu, mais qu’aucun n’a réussi.

Vous devriez vous assurer que les conditions suivantes sont remplies pour que Ceno fonctionne :

  • 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.
  • La connexion au réseau de votre appareil fonctionne, c.-à-d. que votre navigateur Web normal peut ouvrir certains sites Web. Ceno et Ouinet ne peuvent pas fonctionner si la connectivité réseau est coupée (bien que les utilisateurs puissent toujours trouver un point d’accès Wi-Fi commun pour le partage d’appareil à appareil).

Si c’est le cas, il est bon d’expliquer ce qui peut se passer pour que tous les mécanismes d’accès échouent, pour vous donner une idée de vos chances d’obtenir du contenu en utilisant Ceno.

Accès à l’origine

Votre Navigateur Ceno ne peut pas atteindre directement le serveur d’origine du contenu. Soit le serveur éprouve lui-même des difficultés (il est par exemple en panne ou subit une attaque) soit quelqu’un interfère avec votre connexion vers ce serveur.

C’est le principal cas d’utilisation pou Ceno et les autres mécanismes devraient le compenser.

Accès au mandataires, aux injecteurs

Quelqu’un interfère avec votre connexion aux adresses Internet de l’essaim d’injecteurs. Comme l’on s’attend à ce que cela se produise au fur et à mesure que Ceno (et Ouinet) gagnent du terrain, Ceno a recours à d’autres clients agissant comme des ponts pour atteindre les injecteurs.

Différentes raisons empêchent Ceno d’atteindre ces clients :

  • Vous n’arrivez à joindre aucun autre client. Si seuls quelques clients Ouinet sont en ligne, il est tout à fait possible qu’aucun d’entre eux ne fasse partie d’un réseau accessible de l’extérieur. Cette situation devrait être moins probable au fur et à mesure que Ceno et Ouinet gagnent en popularité et que davantage de clients connectés de façons diverses se connectent.

    Le cas extrême est que les connexions entre les clients Ouinet soient détectées comme telles par un censeur et bloquées. Cela est peu probable (puisque cela pourrait impliquer de bloquer tout le trafic BitTorrent) et dépasse actuellement les capacités de Ouinet. Nous prévoyons toutefois de le rendre plus résistant à ces attaques.

  • Aucun autre client ne peut atteindre un injecteur. Comme il est peu probable que tous les injecteurs soient simultanément hors service, cela peut signifier que vous ne pouvez atteindre que les clients Ouinet qui sont eux-mêmes affectés par des interférences réseau semblables aux vôtres.

    Cela peut se produire si tout le trafic sortant ou entrant du pays où vous vous trouvez est interrompu. Dans ce cas, Ceno obtiendrait et utiliserait le contenu du cache distribué, même s’il est périmé.

    À mesure que Ceno et Ouinet gagnent en popularité, il y aura de plus en plus de chances qu’au moins certains clients aient quelque accès à des sites internationaux. Même si l’accès est précaire, un seul client Ouinet qui injecte du contenu dans le pays pourrait suffire à le propager (grâce au cache distribué) sans qu’il soit nécessaire d’accéder au monde extérieur.

Enfin, nous exploitons certains clients Ouinet disposant d’une bonne connectivité dans des pays exempts de censure (espérons-le) pour tenter d’éviter ces deux situations, mais notez que les clients disposant de telles adresses Internet stables pourraient aussi être bloqués.

Cache distribué

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

Notez que certains contenus dont le partage n’est pas considéré comme sûr ne seront jamais injectés, quel que soit le nombre de personnes qui les récupèrent par la navigation publique. Cela comprend entre autres des contenus marqués comme privés par le serveur d’origine, des contenus qui nécessitent une authentification, et le trafic échangé par certaines applications Web dynamiques.

Notez également que vous devez pouvoir accéder aux clients qui détiennent des copies du contenu injecté. Les mêmes observations que celles décrites au point précédent pour atteindre les clients-ponts s’appliquent.

Note sur les sites seulement 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.

Le basculement automatique vers HTTPS est fait pour empêcher quelqu'un d'intercepter une connexion HTTP et de la diriger vers un serveur illégitime, ce qui entraînerait un faux contenu (comme un message de blocage). Ce type de piratage est facile à détecter avec HTTPS, donc Ceno peut le contourner au lieu d'être amené à charger le faux contenu.

Bien que cela soit très rare, certains sites ne prennent pas HTTPS en charge et aucun mécanisme d’accès ne fonctionnera pour ces sites. Si vous êtes absolument certain que c’est le cas d’un site qui vient de ne pas se charger dans Ceno, vous pouvez modifier son URL dans la barre d’adresse, remplacer https:// par http:// et réessayer.

Si vous voulez toujours accéder à un site précis avec HTTP simple, vous pouvez ajouter une exception permanente comme suit :

  1. Dans le menu principal de l’appli, choisissez HTTPS par défaut. Vous verrez la page des paramètres de cette extension.
  2. Saisissez le nom de domaine du site dans la zone de texte, comme indiqué ci-dessous. Voyez comment saisir plusieurs sites en les séparant par des espaces ou de nouvelles lignes. Notez que si vous entrez exemple.com, les sites sous-jacents de ce domaine seront inclus, tels que www.exemple.com ou x.y.exemple.com.
  3. Cela fait, revenez en arrière ou fermez l’onglet.

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.

Une page affiche un contenu erroné (tel qu’un message de blocage)

Cela peut se produire si vous avez utilisé une ancienne version de Ceno pour visiter un site bloqué par le passé et que quelqu’un a intercepté la connexion pour la diriger vers un faux serveur. Ceno s’est alors souvenu de cette redirection et ouvre désormais automatiquement le second site quand vous essayez de visiter le premier.

Une façon de résoudre ce problème est d’effacer le cache de navigation normal de Ceno en choisissant Paramètres dans le menu principal de l’appli, Effacer les données privées et en désactivant toutes les cases sauf Cache avant de toucher Effacer les données.

Notez que la version 1.3.0 de Ceno et les versions ultérieures évitent ce détournement de sites nouvellement visités en utilisant toujours HTTPS, comme expliqué dans la section précédente.

Les autres ne peuvent pas récupérer le contenu propagé par mon appareil

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 le contenu ne se charge pas, il se peut que Ceno l’ait déjà supprimé, car il nettoie automatiquement le contenu périmé (de plus d’une semaine, par défaut) de votre cache local. Activez la source Par le réseau Ceno (public) dans la page Paramètres et accédez au contenu de nouveau. Laissez passer quelques minutes pour que l’appareil puisse annoncer le contenu dans l’index du cache distribué. Cochez de nouveau la case Partagé par d’autres utilisateurs de Ceno (la seule option cochée) et accédez une autre fois au contenu ; s’il ne se charge toujours pas, il se peut que le contenu en question ne soit pas considéré comme sûr pour être partagé par Ouinet.

Si l’étape précédente fonctionne, mais qu’un autre appareil dont seule la source Partagé par d’autres utilisateurs de Ceno est activée affiche toujours « Échec de récupération de la ressource… », deux scénarios sont possibles. Si les deux appareils se trouvent sur le même réseau (p. ex. sur le même point d’accès Wi-Fi), il se peut que le réseau n’autorise pas la communication directe entre les appareils qui y sont connectés. Cela se produit sur certains réseaux Wi-Fi publics, essayez donc d’utiliser un réseau privé.

Si les appareils se trouvent sur des réseaux différents, diverses raisons pourraient en être la cause. L’une d’elles est que le réseau du premier appareil n’autorise pas les connexions entrantes : si vous ouvrez sa page Paramètres de Ceno, sous État d’accessibilité, vous devriez voir joignable ou probablement joignable. Sinon, la propagation n’est peut-être pas possible à partir de ce réseau tel qu’il 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.

Annexe : La page frontale du client 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

Les éléments affichés dans la page comprennent :

  • Un lien pour activer le client en tant qu’autorité de certification (CA) dans votre navigateur, puisque le client doit intercepter le trafic 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.

    Notez que rien de tout cela ne doit être fait pour la Navigateur Ceno qui est déjà configuré ainsi.

  • Des boutons pour activer ou désactiver les différents mécanismes utilisés par le client pour accéder au contenu.

  • Des sélecteurs pour choisir différents niveaux de journalisation, tel que le niveau par défaut INFO (messages d’information, avertissements et erreurs) ou DEBUG (sortie verbeuse utile pour signaler des erreurs). Le fichier journal peut aussi y être activé et récupéré.

    Si le fichier journal est activé, le niveau de journalisation est automatiquement défini sur `DEBUG’ (bien que vous puissiez le rechanger ici). Si le fichier journal est désactivé, le niveau de journalisation original est rétabli.

  • Des renseignements globaux sur l’état et la version du client. Utiles pour signaler les erreurs.

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

  • La clé publique utilisée pour vérifier les signatures des injecteurs dans le cache distribué.

  • Des renseignements sur votre cache local, tels que l’âge maximum du contenu, la taille approximative du cache, un bouton pour le purger complètement et un lien vers la liste des entrées de cache annoncées.

  • Le répertoire du cache statique externe, s’il est activé (Ceno ne l’utilise pas actuellement).