Ceno is a next-generation mobile web browser that uses peer-to-peer technology to deliver websites to your phone and caches popular content with cooperating peers. Ceno can be used to bypass Internet censorship and help others retrieve blocked pages.
Built from Mozilla Android Components, it includes the Mozilla Web Platform via GeckoView and a Ouinet Client for sharing web content peer-to-peer.
🌴 Browse freely, anytime.
Ceno is designed with internet shutdown scenarios in mind. Websites are shared by a global network of peers, and stored in a distributed cache for availability when traditional networks are blocked or go down.
🔓 Unlock the web.
Access any website. Frequently requested content is cached on the network and cannot be forcibly removed.
💲 Reduce Data Costs.
By routing user traffic through peer-to-peer networks, Ceno Browser incurs less data costs while still providing users with circumvention capability.
🌐 Grow the Network, Fight Censorship.
Fight censorship by becoming a bridge! Install and run Ceno Browser to instantly join the network and expand the availability of blocked websites to those in censored countries.
👐 Free and open source.
Ceno Browser is powered by Ouinet, an open source library enabling third party developers to incorporate the Ceno network into their apps for peer-to-peer connectivity.
Ceno has two modes of operation - Public and Personal. You can easily toggle between them. Public mode offers the best connectivity but the least privacy - websites that you visit or share are recorded in a publicly accessible registry (BitTorrent). Private mode eliminates this record but may be slower and less efficient at retrieving content. See the FAQ or User Manual for more details on Ceno usage.
By default, Ceno collects anonymized application and network metrics to help us understand issues and improve application performance and user experience. The metrics records are encrypted-at-rest on your device and in-transit to eQualitie's self-hosted metrics endpoint. Metrics records are submitted at least once per-hour and are deleted from your device after submission. The collected data is aggregated on a weekly-basis and then deleted from our servers. No personal information is collected and the data is never shared with third-parties. Users can opt-out of metrics collection at any time via the Settings > Background metrics > Ceno Metrics toggle.
Read more about the technical details of what we collect in the Ouinet repo's record_format.md.
From testing to translations to bug reporting and merge requests, there are lots of ways to contribute to this project! Please see the contributing guidelines for more information.
To build debug versions of Ceno Browser, enter the checkout directory and execute the following commands,
cp local.propeties.sample local.properties
ANDROID_HOME=/path/to/Android/Sdk ./gradlew assembleDebug
The resulting apks will be copied to the output/debug/ directory.
The Ouinet client configuration is currently hardcoded at build time and cannot be changed at run time. You may customize the local.properties file with your own values and rebuild as needed.
By default, the latest versions of the Ouinet library and our forks of Mozilla's GeckoView and Android-Components (built with our Mozilla Build Scripts) are automatically downloaded from the Maven Central repository and used for building both the debug and release variants of Ceno Browser.
If your code has user-facing changes, follow Android accessibility best practices.
This project is tested with BrowserStack.
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.


