This is the website for Ceno Browser - a web browser designed to circumvent censorship by routing traffic through intermediate ephemeral nodes (bridges).
Once the content is in the censored zone - and if it's not private - it is then further distributed by those nodes in a BitTorrent-like fashion.
This website is hosted by GitHub Pages and content is authored in HTML.
-
Clone the repository:
git clone [email protected]:censorship-no/ceno-website.git
-
Install dependencies for i18n support:
You will need Translate Toolkit and gettext.
On a Debian-based system, install these with:
sudo apt update
sudo apt install translate-toolkit gettext
-
In the
ceno-website
master
branch, update HTML files inen.src
only (page-specific content or common head & tail). Never edit files inen
or other languages' directories.If you need to check how the English site would look, run
./html-assemble-en.sh
, open the pages and then restoreen/*.html
.Do not create new Weblate components yet as their translations may get lost after POT extraction and PO update below.
-
If updating only the Ceno download link, use the following command:
./git-update-download.sh VERSION DATE
where
VERSION
andDATE
match the latest apk found on the dComms server, e.g. for v2.0.0:./git-update-download.sh 2.0.0 2023-01-26_1701
-
On translation freeze, assemble the i18n files:
./git-assemble.sh
This automates the following steps:
no-ff-merge origin/master
intoi18n
.- In
i18n
, run./html-assemble-en.sh
, then./pot-extract.sh
, then./po-update.sh
; commit each step (if it produces changes)
-
Push to
origin/i18n
:git push origin i18n
-
(Optional) Create new components in Weblate if any; this will take care of adding new PO files.
-
New translations create a Gitlab merge request to the
i18n
branch. Approve the merge request in Gitlab before the next steps. NOTE: Do not squash commits when merging, as Weblate will not always pick up the changes. -
If adding a new language,
touch
itsindex.html
file before executing the next step. -
When satisfied with translations, update the html for all languages, commit & push to
origin/i18n
:./html-update-all.sh
git add -A && git commit -m "updating html with new changes"
git push origin i18n
-
No-ff-merge
origin/i18n
intomaster
and push toorigin/master
:git checkout master
git merge --no-ff origin/i18n
git push origin master
Now the website will be automatically updated by the Github CI/CD located at https://github.com/censorship-no/ceno.github.io!
This source code is subject to the terms of the Creative Commons Attribution-ShareAlike 4.0 International License.
We welcome both positive and negative feedback, bug reports and feature requests, as well as questions at [email protected]. Our PGP key fingerprint is: 51BE 600C 2711 926C 865D F93F C7DC C123 F0DD B862