rysiek on Mastodon has announced an anticensorship project - https://mastodon.social/@rysiek [mastodon.social]
project hosted at https://git.occrp.org/libre/samizdat [occrp.org]
Samizdat
A browser-based, decentralized solution to Web censorship, implemented as a Progressive Web App, and using configurable non-standard in-browser delivery mechanisms.Rationale
While a number of censorship circumvention technologies exist, these typically require those who want to access the blocked content (readers) to install specific tools (applications, browser extensions, VPN software, etc.), or change their settings (DNS servers, HTTP proxies, etc.). This approach does not scale.
At the same time, large-scale Internet censorship solutions are deployed in places like Azerbaijan or Tajikistan, effectively blocking whole nations from accessing information deemed non grata by the relevant governments. And with ever growing centralization of the Web, censorship has never been easier.
This project explores the possibility of solving this in a way that would not require the reader to install any special software or change any settings; the only thing that's needed is a modern web browser, and being able to visit a website that deployed this tool once, caching the JavaScript library.Architecture
A ServiceWorker is used as a way to persist the censorship circumvention library after the initial visit to the participating website.
After the ServiceWorker is downloaded and activated, it handles all fetch() events by first trying to use the regular HTTPS request to the original website. If that fails (for whatever reason, be it timeout, or a 4xx/5xx error), the plugins kick-in, attempting to fetch the content via any means are available.
Click through his test page, https://cdn.test.occrp.org/projects/samizdat/ [occrp.org] to find
https://ipfs.io/ [ipfs.io]
https://gun.eco/ [gun.eco]
https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API [mozilla.org]
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps [mozilla.org]