-- Leo's gemini proxy

-- Connecting to tilde.pink:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini;

Blocking Russia from my website in the 2010s

I like Russians. As a young teenager I followed some of the commentary of the 1993 World Chess Championship, which in the UK was so biased in favour of the English player that I felt sorry for the Russian and wanted him to win. (He did. And then the two players joined forces to play against that commentary team, checkmating them easily. Not that I can talk: I’m only as good as an average club-level player.) And in music: no classically-trained musician doesn’t know about the Russian great composers. I expect some parts of Russia have nice scenery too, although we don’t get to hear about it much in the West. And of course I use good Russian software like nginx, 7zip and Telegram. Many Westerners have associated Russians with “the bad guys in the spy stories” or “the country that arrests its citizens and sends them to freeze in Siberia just because they had a bad opinion”; I knew this was a stereotype and Russia isn’t in the 1950s anymore.

But then I started writing Web mediators. In 1997 I came to Cambridge to study Computer Science, but their Netscape 2 on Windows 3 crashed whenever I tried to do something simple like change the fonts and colours for my visual disability. (They have better systems now, but not back then.) So I wrote a server called Web Access Gateway that lets you point it at any website you like and changes the settings for you on the server side, also changing all the links to point back through my system. It was awful for privacy (you had to trust me not to snoop on your browsing), but it did the job, and I ended up joining the World Wide Web Consortium’s Web Accessibility Initiative discussions because of it. But the idea did cause a few problems, and not just because of the privacy implications. I thought I might get some push-back from Web designers not wanting the appearance of their precious design work to be changed, but that didn’t happen much; however, there were some companies, schools and countries that run Internet filtering and didn’t want their people using my Gateway to bypass it. But I didn’t think this would be much of an issue: they could always block my server and install their own copy inside their network.

The real problem came about 15 years later. By this time I’d replaced my Web Access Gateway code with a new project called “Web Adjuster” that had a new set of features, and I had a copy running on a Raspberry Pi that had just come out. Browsers on desktops didn’t really need it anymore, because you could now do all the customisation you want on the client side, but smartphones and tablets were still a problem. And I was learning Chinese, and I was associating with a group of others learning Chinese, and we wanted Chinese pronunciation guides (called Pinyin) to be written above Chinese characters to help us read them, so I rigged up my Web Adjuster to do that.... and then a website publisher in America told me it was causing legal trouble in Russia.

What? What has my little server got to do with America versus Russia? Was I in danger of accidentally starting World War 3 with that 6-centimetre CPU board that I was afraid the neighbour’s cat might take down by stepping on?

Well this was the website of a minority Christian group. Like pretty much every religion, they think they’re the only right one, which doesn’t go down very well with others who disagree. Quite why the mighty Russian Orthodox Church should feel threatened by a small nineteenth-century group with no cathedrals or basso-profundo choirs or anything, I’m not sure: it’s not like this group manages to recruit a high percentage of the population even in Western countries. They do have a generally positive effect on the ones they’re a good ‘fit’ for, and they do their share of helping former criminals and such to change. Certainly they’re not violent, but some media reports have got them muddled up with other groups so they’ve been falsely accused of causing suicides instead of preventing them. But in this case some “expert” found a picture on their website that seemed to depict the Russian Orthodox Church in a bad light, and that was enough to get the website labelled “extremist” under a law that was supposed to deal with things like the 2001 Twin Towers terrorist attacks but had been altered so that “extremism” can just mean not agreeing with the Orthodox Church. Anyway, that group didn’t want their website banned without a fight, so they were having this lengthy legal battle in the Russian courts (which they eventually lost in 2017). During the legal battle, one of the arguments they tried to make went something like “we don’t agree that anything on our website is extremist, but we *can* create an altered version of our website for Russia that deletes the pictures and articles you list as ‘extremist’, because we’d rather have a partial website than no website at all”. And that’s where my little server caused a problem: my server was in Cambridge, not Russia, so any Russian fetching the site via my server was getting the full international version of the site, including the ‘nasty’ bits, and that was undermining their argument that they could make a special cut-down version of the site for Russia.

I had in fact been sending “Via” and “X-Forwarded-For” headers—it wasn’t an *anonymising* proxy—but I don’t know how hard it is to pick up on those when you’re a customer of a big Content Delivery Network like they are, so I did them a favour and took my server offline, reimplementing my Chinese Pinyin code as an Android app instead. And they still lost the case, apparently due to an argument like “the nasty stuff has been on your site in the past, and we don’t have the resources to check if it’s come back” (they obviously don’t have my WebCheck program!) “so best ban the site anyway”.

And then they banned the whole group. And their Bible version. For “extremism”. (The extremism law said the Bible is exempt, so they had to say this particular version of the Bible does not legally count as a Bible. What are they going to do next: say people they don’t like are not legally “people”? Perhaps I’d better not give them ideas.)

Real people are being put into real prisons over this, sometimes sentencing to 7 or 15 years (which is more than some murderers serve), because of that “extremism” label that was originally supposed to be for Osama bin Laden but is now being applied to peaceful groups instead.

This is bad for Russia’s image. Even if the group did do some small wrong, does such a severe punishment really fit the crime? This is looking suspiciously like the mass arrests of the Soviet days we hear about in history lessons. How can reading the wrong Bible be worse than murder? Are people losing their sense of proportion over there?

So when they all wrote to Putin and other officials asking for this to be changed, I also wrote to Putin; I told him I have a PhD from Cambridge University computer lab (I don’t know if that makes any difference, but the saying goes “give it what you’ve got”), and from here it looks like Russia is making a mistake which I hope you can fix soon. But I don’t know if he had time to read my bug report.

Things got worse: besides putting dozens of these simple people into prison (including the elderly!), in at least two cases local police officers tortured them as well. In other cases they’re using special officers of the FSB (successor to the KGB) to pretend to be interested in the Bible to catch them, or sending in OMON military units or similar absurdly-overpowered resources that would be better spent fighting actual terrorists. I hope the Russian authorities can at least say “when we said ‘shut it down’, we didn’t mean like that”—Russia might be making itself vulnerable to real terrorists by wasting such efforts on a peaceful group instead of paying attention to the more dangerous ones.

There’s not much I can do sitting here in Cambridge, but, as Russian officials did seem to care about Russia’s international image, I did wonder if I might perhaps be able to bring the problem to their attention if I did something mildly attention-grabbing, like blocking Russia from my website—it’s only a small website, but it does have a few useful programs on it and I do get some Russian visitors so who knows. I thought a block would be visible only *inside* Russia, so it doesn’t do much *more* damage to Russia’s image for those outside, but it still reminds people inside Russia that the image *is* being damaged by these things so please fix it if you can. But most of my Russian visitors would be in no position to fix it and I didn’t *really* want to block them (what if some Russian doctor needs my genetics-research code?), so I decided to use a piece of JavaScript that makes it look like you’re being blocked but that’s easy to bypass with a tiny bit of technical knowledge.

I started the “blocked” message by saying

> Russian IP detected

which was supposed to give a very big hint about one possible way to bypass it: send the request from a non-Russian IP. But I don’t know what the law is about using proxies or VPNs outside the country, so I didn’t want to say that explicitly.

The rest of the message has been through several versions. Writing words is hard: it’s like writing code, but without a definite standard of how it’ll be understood. Currently:

> Russia is using anti-extremism law to imprison and torture peaceful Christian groups whose only “extremism” is not being Russian Orthodox. It is particularly shameful when they pick on the frail elderly or disabled ones.

and I suppose this has to have something to do with my website, so let’s try:

> Since I am also not Russian Orthodox, you are risking jail and torture by reading my website.

well that depends how far they end up taking it, but from what’s happened so far I’m not at all confident the above sentence won’t come true. And then that ties in with:

> Bypass this at your own risk.

my hint to the normal citizen that it’s not actually hard to bypass, unless of course you’re an official who can do something about the problem, in which case please do.

The pop-up is still up for now, although the events of 2022 just might have made Russia's international image a "lost cause" anyway, but perhaps they'll want to try to get it back some day.

To get rid of the pop-up, there are many things you can do besides using a non-Russian IP address. You can:

use the DOM Inspector and delete the pop-up

use a client-side script (or other page-modifying tool) to auto-delete the pop-up

just don’t use JavaScript (my Web site works perfectly fine without it, you’d just miss out on some typographic tweaks, some minor formatting improvements on mobile, some pre-collapsed paragraphs, and a couple of minor JavaScript applications which can be downloaded anyway)

read my stuff on Gemini instead (well, when I’ve finished porting it all), or on GitHub / GitLab / Bitbucket for the software downloads (well, when I manage to get all the Readme files polished enough so you don’t have to check my website too: I’ve made a fair bit of progress on this but there are still things that need doing)

I’m not sure how to do an “annoying warning” on Gemini. I suppose if I put my Gemini pages on my home server instead of a tilde server, then I could customise the Gemini server to detect Russian IP addresses and add some text at the top of every page, which you then have to scroll past as a minor annoyance. Or it could do something more obnoxious, like redirecting you to a page with a link to a query prompt and an explanation that you have to type “I understand the risk of prison” at that query prompt to get the original page. But since I doubt that anyone to do with the Russian government will be landing on my Gemini pages anytime soon, I don’t think there’s much point in trying this.

UK government statement on imprisonment

UK government statement on torture

European Court decision against Russia for the imprisonment

Website of the banned group (blocked in Russia, get your illegal Bible here)

-- Response ended

-- Page fetched on Mon May 6 07:58:18 2024