@@ -66,3 +66,7 @@ This is far from ideal and will need improvements in the long-term. The difficul
The ServiceWorker can communicate with the browser window using the [`Client.postMessage()`](https://developer.mozilla.org/en-US/docs/Web/API/Client/postMessage) to post messages to the browser window context using the relevant [`Client ID`](https://developer.mozilla.org/en-US/docs/Web/API/Client/id), retrieved from the fetch event object.
When the browser window context wants to message the service worker, it uses the [`Worker.postMessage()`](https://developer.mozilla.org/en-US/docs/Web/API/Worker/postMessage) call, with `clientId` field set to the relevant client ID if a response is expected. ServiceWorker then again responds using `Client.postMessage()` using the `clientId` field as source of the `Client ID`.
@@ -8,7 +8,7 @@ Ideally, users should not need to install any special software nor change any se
Samizdat is currently considered *alpha*: the code works, but major rewrites and API changes are coming.
Feel free to test it, but be aware that it might not work as expected. If you'd like to get in touch, please email us at `rysiek+samizdat[at]occrp.org`.
Feel free to test it, but be aware that it might not work as expected. If you'd like to get in touch, please email us at `rysiek+samizdat[at]hackerspace.pl`.
<p><em>Samizdat</em> is a browser-based Web censorship circumvention library, easily deployable on any website.</p>
<p>Implemented in JavaScript, it uses <ahref="https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API/Using_Service_Workers">ServiceWorkers</a> and a set of non-standard in-browser content delivery mechanisms (with a strong focus on decentralized ones like <ahref="https://gun.eco/">Gun</a> and <ahref="https://github.com/ipfs/js-ipfs">JS-IPFS</a>).</p>
<p>Ideally, as soon as users are able to access a blocked <em>Samizdat</em>-enabled site <em>once</em>, they would not need to install any special software nor change any settings in order to continue to access that site.</p>
<p><em>Samizdat</em> is currently considered <code>alpha</code> software. We would love to hear if you'd like to test it – you can contact us at <code>rysiek+samizdat[at]occrp.org</code>.<p>
<p><em>Samizdat</em> is currently considered <code>alpha</code> software. We would love to hear if you'd like to test it – you can contact us at <code>rysiek+samizdat[at]hackerspace.pl</code>.<p>
</div>
<divid="logo-container">
<divid="logo">
...
...
@@ -42,7 +42,7 @@
<pclass="samizdat-fetched-resources-list-empty">The list is empty, but if the ServiceWorker is running it should be populated soon.</p>
<pclass="samizdat-fetched-resources-controls"><buttontype="button"onclick="samizdat.toggleResourceCheckboxes()">Toggle selection</button><spanclass="spacer"></span><buttontype="button"onclick="samizdat.stashOrUnstashResources(true)">Add selected to cache</button><buttontype="button"onclick="samizdat.stashOrUnstashResources(false)">Clear selected from cache</button><spanclass="spacer"></span><inputtype="text"placeholder="Gun username"id="samizdat-gun-user"/><inputtype="password"placeholder="Gun password"id="samizdat-gun-password"/><buttontype="button"onclick="samizdat.publishResourcesToGunAndIPFS()">Publish to Gun+IPFS</button></p>