feat: more content

This commit is contained in:
Iain Learmonth 2025-05-23 20:12:19 +01:00
parent 121df8c80d
commit 9c6a30456b
11 changed files with 165 additions and 84 deletions

View file

@ -0,0 +1,33 @@
---
title: Collateral Freedom
sidebar_position: 30
---
Collateral freedom is an anti-censorship strategy that attempts to make it **economically prohibitive** for censors to
block a resource.
The diverse needs of businesses to exchange information across international borders makes it impossible to build a
catalogue of "good" and "bad" networks or websites.
A censor requires some confidence when they block a resource that it won't be affecting economic activity.
Its difficult to achieve accuracy with filtering as most internet traffic is encrypted and must be categorised
at speed to make blocking decisions.
As a result, censors will usually err on the side of under-blocking.
One way to exploit this is by deploying solutions in large platforms that are **“too big to block”**, like public cloud
providers.
Public cloud providers host large numbers of clients in shared infrastructure to benefit from economies of scale, but
this sharing also makes it difficult to know what content is being accessed.
Similarly, large social networks host content from large numbers of publishers but all traffic between the user and the
social network is typically encrypted and so the censor cannot know what is being read.
Blocking the cloud provider would have a negative impact on businesses and would hurt state revenue, and blocking the
social media platform would cause backlash from the people: neither is an attractive option for the censor.
Another approach is to use constantly rotating identifiers, as even where a resource may be easy to block once
identified, a new resource can be deployed quickly to replace it rendering the blocks ineffective.
Due to erring on the side of under-blocking, attempts to access previously unseen content usually succeed.
Even with a procedure for screening or approval, blocking by default would bog down innovation and development to the
extent that it could cease, certainly falling behind other economies.
This approach is particularly suited for news media where the majority of readers will be interested in an article for
only a short time after it is published, and if it is later blocked by the censor then the effect will be minimal.
With collateral freedom on your side **you can have the upper hand** when it comes to making your content accessible to
your audience.

View file

@ -1,9 +1,8 @@
--- ---
title: The Context
sidebar_position: 10 sidebar_position: 10
--- ---
# The Context
Censorship has been a tool for controlling information and suppressing dissent throughout history. It is often employed Censorship has been a tool for controlling information and suppressing dissent throughout history. It is often employed
by authoritarian regimes to maintain power and control over their populations. The roots of censorship can be traced by authoritarian regimes to maintain power and control over their populations. The roots of censorship can be traced
back to ancient civilizations, where rulers sought to suppress dissenting voices and control the narrative surrounding back to ancient civilizations, where rulers sought to suppress dissenting voices and control the narrative surrounding

View file

@ -1,6 +1,6 @@
--- ---
title: Censorship 101 title: Censorship 101
sidebar_label: Introduction to Censorship sidebar_label: Introduction
sidebar_position: 0 sidebar_position: 0
--- ---
@ -10,5 +10,6 @@ import {useCurrentSidebarCategory} from '@docusaurus/theme-common';
# Censorship 101 # Censorship 101
Understand the most important censorship and circumvention concepts. Understand the most important censorship and circumvention concepts.
This section contains background information on historical censorship, online censorship, and collateral freedom.
<DocCardList items={useCurrentSidebarCategory().items.slice(1)} /> <DocCardList items={useCurrentSidebarCategory().items.slice(1)} />

View file

@ -1,10 +0,0 @@
---
sidebar_position: 20
draft: true
---
# The Ladder
:::info[Todo]
Write text.
:::

View file

@ -1,42 +0,0 @@
---
sidebar_position: 30
draft: true
---
# Building Blocks
Censorship is the suppression of speech, public communication, or other information.
This may be done on the basis that such material is considered objectionable, harmful, sensitive, or “inconvenient”.
Regardless of the reasons for censorship, the technical measures taken to implement it often look the same.
*jasima.app* provides a toolkit for circumventing censorship of Internet resources.
The circumvention methods available will often use collateral freedom, fingerprint resistance, probe resistance, or
combinations of these and more, to counter the measures put in place by the censor.
## Collateral Freedom
Collateral freedom is an anti-censorship strategy that attempts to make it economically prohibitive for censors to block an Internet resource.
The way in which a censor restricts access to resources will require knowing which content to block and which to allow.
Its incredibly difficult to achieve accuracy with filtering as the Internet is comprised of untagged free-form content that must be categorised at speed.
This results in either over-blocking or under-blocking, and neither of these are desirable properties for the censor.
This can be exploited by circumvention systems by deploying solutions at places that are “too big to block”, like cloud providers.
Either encryption or constantly rotating identifiers are then used to prevent censors from identifying requests for censored information that is hosted among other content.
This forces censors to either allow access to the censored information or take down entire services.
:::info[Todo]
Difference between unique and global endpoints.
:::
## Fingerprint Resistance
Fingerprint Resistance, also known as Traffic Obfuscation, is an anti-censorship strategy that attempts to make it difficult to identify the destination, parties, and content of Internet traffic.
This is more commonly used for general censorship circumvention solutions rather than means of accessing specific resources.
There is a long tail of types of traffic on the Internet, including critical infrastructure communications like industrial control systems, point-of-sale systems and security systems.
This can be exploited by circumvention systems by making their traffic look like one of these unclassified systems.
Not being able to accurately identify the traffic means that the cost of blocking access is unknown, and so it is more difficult for a censor to justify the block.
## Probe Resistance
:::info[Todo]
Write text.
:::

55
docs/censorship/web.mdx Normal file
View file

@ -0,0 +1,55 @@
---
title: The World Wide Web
sidebar_position: 20
---
As the web has become an integral part of everyday life, with many using it as their primary source of news, governments
are employing various techniques to control online content just as they have with literature, newspapers, radio, and
television in the past.
Publishing content online has a far lower barrier to entry than publishing a book or a newspaper, or operating a radio
station.
This democratization of content creation has led to an explosion of diverse voices and perspectives, but has also
become a target for censorship as governments wish to suppress content they find undesirable.
The way that web content is consumed is also different to the previous means of publishing.
To read an article online, there is a one-to-one exchange between the reader's device and the publisher's server.
This exchange needs to be carried over one or more Internet Service Provider (ISP) networks.
This highlights the connection between privacy and online censorship, as it is not possible to implement such censorship
unless there is a device that attempts to know what it is that the reader has requested in order to decide whether to
allow access.
Below are some notable examples of contemporary censorship efforts:
* The Great Firewall of **China** (GFW) is a sophisticated system of censorship and surveillance implemented by the
Chinese government.
The GFW effectively isolates Chinese internet users from global discourse, limiting exposure to foreign ideas and
information that contradict the state narrative.
Further to the direct censorship, the surveillance capabilities lead to self-censorship too where users are afraid
to search for dissenting views and ideas.
* In recent years, **Russia** has enacted stringent media laws aimed at controlling the flow of information and
suppressing dissent.
The government has the authority to block websites and remove content deemed "extremist" or harmful to state
interests.
These measures have led to a significant decline in independent journalism and a stifling of free expression, as many
journalists face harassment or legal repercussions for their work.
* **Turkey** has increasingly employed censorship to control media narratives and suppress dissent, particularly
following the 2016 coup attempt.
The government frequently blocks access to social media platforms during times of unrest or political sensitivity.
Authorities can order the removal of content that is critical of the government or its policies.
Journalists and citizens face prosecution for "insulting" the president or spreading "terrorist propaganda."
* **Iran** employs extensive censorship to control the narrative and suppress dissenting voices, particularly regarding
political and social issues.
The government blocks access to numerous websites, including social media platforms and news outlets that do not align
with state ideology.
Online activities are closely monitored, with authorities tracking users' communications and internet usage.
Individuals who share dissenting views online can face imprisonment or other severe penalties.
The pervasive censorship in Iran stifles free expression and limits the public's ability to engage with diverse
perspectives, fostering an environment of fear and repression.
All of these countries, however, rely on web access to support economic activity.
Being able to send and receive emails is a critical capability to engage with modern business, to send a purchase order,
to receive an invoice, or to request a price list.
eCommerce, electronic funds transfer, electronic data interchange for billing and shipping, and automated stock exchange
platforms all rely on an internet connection.
It is this fact that supports our main weapon against online censorship: **Collateral Freedom**.

26
docs/mirrors/index.mdx Normal file
View file

@ -0,0 +1,26 @@
---
title: Overview
sidebar_position: 0
---
A web mirror can help users by providing alternate URLs to access censored resources, allowing them to bypass censorship
and access information that may be otherwise blocked.
Web mirrors work by forwarding requests to the original website, and providing a different URL to access that content.
Dynamic web mirrors use frequently changing URLs to evade censorship, making it more difficult for censors to maintain
blocks for the content.
This assumption of a limited lifetime is built-in to the system, allowing for automated block detection to trigger the
deployment of new URLs, and for the new URLs to be made available via the portal, the API, and via dead drops.
Named web mirrors use alternative domain names with limited distribution to evade censorship.
By blending with the "long tail" of web traffic, it may take longer for these mirrors to be discovered.
Web mirrors can be accessed via a normal web browser, making them easily accessible to users without requiring any
special software or technical knowledge.
<figure style={{"text-align": "center"}}>
<img src="/img/mirrors/overview.png" style={{"max-width": "100%", "max-height": "500px"}} />
<figcaption style={{"font-weight": "bold"}}>
The jasima.app portal overview for web mirrors
</figcaption>
</figure>

View file

@ -0,0 +1,32 @@
---
title: Troubleshooting
sidebar_position: 100
---
We have collected solutions to common issued faced by web mirrors users.
If you are unable to resolve your issue, please [get in touch](/contact) with us to discuss the options.
## Upstream Rate Limiting
CDNs (Content Delivery Networks) can impose rate limiting or "bot detection" on websites to ensure that the network
resources are efficiently utilized, to protect the websites from Denial of Service (DoS) attacks, and to
maintain the quality of service for all the websites using the CDN.
If you find that mirrors are producing many “Rate Limited Exceeded” or “Access Denied” errors then you may be suffering
from this problem.
These rate limits will be sized according to the expected rate of requests from an average user, however the mirror
system is a bottleneck that aggregates requests from multiple users and passes these on to the original CDN.
When a single system is used to send a large number of requests to a CDN like this, the CDN may interpret this as a
DoS attack and prevent access to the website.
The optimal approach is to configure the origin to use an alternative host for connections, so that the CDN is bypassed
and the backend origin (web server) is used directly.
The mirror will still be the access point for users and this will not reveal the location of the backend origin to your
users.
If this is not possible, then deploying mirrors for websites hosted on CDNs will require either configuration at, or
co-operation from, the CDN provider.
Additional headers can be configured for the origin to authenticate requests that originate from jasima.app, and these
can be used to bypass the protection mechanisms at your CDN.
Consult your CDN's documentation or contact their support team to configure using an additional header to disable the
rate limiting for requests originating from jasima.app.

View file

@ -73,13 +73,13 @@ const config: Config = {
items: [ items: [
{ {
type: 'docSidebar', type: 'docSidebar',
sidebarId: 'tutorialSidebar', sidebarId: 'docsSidebar',
position: 'left', position: 'left',
label: 'Docs', label: 'Docs',
}, },
{ {
type: 'docSidebar', type: 'docSidebar',
sidebarId: 'apisidebar', sidebarId: 'apiSidebar',
position: 'left', position: 'left',
label: 'API', label: 'API',
}, },
@ -100,6 +100,10 @@ const config: Config = {
label: 'Censorship 101', label: 'Censorship 101',
to: '/docs/censorship/', to: '/docs/censorship/',
}, },
{
label: 'Web Mirrors',
to: '/docs/mirrors/',
},
], ],
}, },
{ {

View file

@ -1,34 +1,17 @@
import type {SidebarsConfig} from '@docusaurus/plugin-content-docs'; import type {SidebarsConfig} from '@docusaurus/plugin-content-docs';
import * as apiSidebar from './docs/api/sidebar'; import * as apiSidebar from './docs/api/sidebar';
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
/**
* Creating a sidebar enables you to:
- create an ordered group of docs
- render a sidebar for each doc of that group
- provide next/previous navigation
The sidebars can be generated from the filesystem, or explicitly defined here.
Create as many sidebars as you want.
*/
const sidebars: SidebarsConfig = { const sidebars: SidebarsConfig = {
// By default, Docusaurus generates a sidebar from the docs folder structure docsSidebar: ['welcome', {
tutorialSidebar: ['welcome', {'label': "Censorship 101", 'type': "category", items: [{'type': 'autogenerated', dirName: 'censorship'}]}], 'label': "Censorship 101",
apisidebar: apiSidebar.default, 'type': "category",
// But you can create a sidebar manually items: [{'type': 'autogenerated', dirName: 'censorship'}]
/* },{
tutorialSidebar: [ 'label': "Web Mirrors",
'intro', 'type': "category",
'hello', items: [{'type': 'autogenerated', dirName: 'mirrors'}]
{ }],
type: 'category', apiSidebar: apiSidebar.default,
label: 'Tutorial',
items: ['tutorial-basics/create-a-document'],
},
],
*/
}; };
export default sidebars; export default sidebars;

Binary file not shown.

After

Width:  |  Height:  |  Size: 767 KiB