Skip to content

A full-featured CENO browser reference implementation using Mozilla Android Components + Ouinet

License

Notifications You must be signed in to change notification settings

censorship-no/ceno-browser

 
 

Repository files navigation

Ceno Browser

pipeline status Gitlab release (latest by date) License: MPL 2.0 Weblate

Ceno (Censorship.No!) 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.

▶️ Access

Get it on Play Store Get it on Paskoocheh Get it on F-Droid Get it on dComms

🚀 Features

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

❗ Important Notice:

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.

❣️ Contributing

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.

🔧 Building

Developer Build

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.

F-Droid Build

To build the F-Droid version of Ceno Browser, which requires that the Mozilla libraries are built from scratch without any prebuilts or proprietary blobs, follow the instructions in the cenobuild repo.

Note: the use of Mozilla's prebuilt libraries in the official release of Ceno Browser means that F-Droid requires we disclose the "Upstream Non-Free" Anti-Feature, for more on this, see #77.

Accessibility

If your code has user-facing changes, follow Android accessibility best practices.

Testing

This project is tested with BrowserStack.

License

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.

About

A full-featured CENO browser reference implementation using Mozilla Android Components + Ouinet

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Kotlin 91.2%
  • Python 4.4%
  • HTML 1.9%
  • Shell 1.1%
  • Dockerfile 1.1%
  • CSS 0.2%
  • Ruby 0.1%