<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss.xsl" type="text/xsl"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>#Censorship — Seconds to Midnight</title><description>Content tagged with #Censorship.</description><link>https://dbuho.me</link><language>en</language><copyright>© 2026 Damián Búho</copyright><managingEditor>damian.buho@proton.me (Damián Búho)</managingEditor><webMaster>damian.buho@proton.me (Damián Búho)</webMaster><lastBuildDate>Thu, 12 Nov 2026 16:25:25 GMT</lastBuildDate><category>Resilience</category><ttl>60</ttl><image><url>https://dbuho.me/favicon-48x48.png</url><title>#Censorship — Seconds to Midnight</title><link>https://dbuho.me</link></image><atom:link rel="self" type="application/rss+xml" href="https://dbuho.me/tags/censorship.rss"/><item><title>Post: How to sing to caged birds</title><link>https://dbuho.me/post/how-to-sing-to-caged-birds/?utm_source=tag-censorship&amp;utm_medium=rss</link><guid isPermaLink="false">01M71SE4V8EXMC82ZTXGPGY5YG</guid><description>I got the idea for this post when I noticed a couple of issues on the site of one of the resistance groups operating in ruzzia (credit where it’s due: they fixed them fast, and I will not name them). This little guide could be useful for opposition media too. If you’re making something that is frowned upon by your local Authoritarianism™ franchise, you have a moral obligation to protect not only your cell | group | band | merry wagon, but your visitors too. Maybe even them first, because, not unlike you, they are not prepared and not vigilant enough. Some dictatorships will prosecute them for the visit itself; others will use finesse and make an “aggravating circumstance” out of it when they bake another “high treason” case. You can slap Cloudflare over your site and give yourself a gold star for security, but that’s only the beginning of your saboteur journey.</description><pubDate>Tue, 10 Nov 2026 02:59:00 GMT</pubDate><content:encoded>&lt;p&gt;I got the idea for this post when I noticed a couple of issues on the site of one of the resistance groups operating in ruzzia (credit where it’s due: they fixed them fast, and I will not name them).
This little guide could be useful for opposition media too.&lt;/p&gt;
&lt;p&gt;If you’re making something that is frowned upon by your local Authoritarianism™ franchise, you have a moral obligation to protect not only your cell | group | band | merry wagon, but your visitors too.&lt;/p&gt;
&lt;p&gt;Maybe even them first, because, not unlike you, they are not prepared and not vigilant enough.&lt;/p&gt;
&lt;p&gt;Some dictatorships will prosecute them for the visit itself; others will use finesse and make an “aggravating circumstance” out of it when they bake another “high treason” case.&lt;/p&gt;
&lt;p&gt;You can slap Cloudflare over your site and give yourself a gold star for security, but that’s only the beginning of your saboteur journey.&lt;/p&gt;
&lt;h2&gt;User device is a threat to the user&lt;/h2&gt;
&lt;p&gt;Or, to be precise, a cop scouring through it.
You don’t have to learn what modern forensic hardware can or cannot do, just treat the user’s device as fully transparent to the authorities. Especially those practicing &lt;a href=&quot;https://en.wikipedia.org/wiki/Rubber-hose_cryptanalysis&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;cryptanalysis&lt;/a&gt; with the help of a car battery attached to your genitals.&lt;/p&gt;
&lt;h3&gt;Mind the cache&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Cache-Control&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;&lt;code&gt;Cache-Control: no-store&lt;/code&gt;&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;no-store&lt;/code&gt; also stops a CDN from caching, and the CDN is your DDoS shield.&lt;/li&gt;
&lt;li&gt;Keep it caching with the targeted header &lt;code&gt;CDN-Cache-Control: max-age=60&lt;/code&gt; (&lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc9213&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;RFC 9213&lt;/a&gt;), which the browser ignores.&lt;/li&gt;
&lt;li&gt;If you worry about slow and metered connections, just remove the 5 different font files you included and cut down on JS/CSS.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;You are not making the next Facebook here&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;No &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;service worker&lt;/a&gt;: its registration persists and is listed in &lt;code&gt;chrome://serviceworker-internals&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;No web app manifest, no “install this app” prompt, no push notifications.&lt;/li&gt;
&lt;li&gt;No &lt;code&gt;localStorage&lt;/code&gt;, &lt;code&gt;IndexedDB&lt;/code&gt; or long-lived cookies.&lt;/li&gt;
&lt;li&gt;If a cookie is unavoidable: session-only, &lt;code&gt;Secure&lt;/code&gt;, &lt;code&gt;HttpOnly&lt;/code&gt;, &lt;code&gt;SameSite=Strict&lt;/code&gt; (&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;&lt;code&gt;Set-Cookie&lt;/code&gt;&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;A “clear traces” link&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;A URL that answers with &lt;code&gt;Clear-Site-Data: &amp;quot;cache&amp;quot;, &amp;quot;cookies&amp;quot;, &amp;quot;storage&amp;quot;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;This header wipes everything the site left in the browser, in one click.&lt;/li&gt;
&lt;li&gt;Read the &lt;a href=&quot;https://w3c.github.io/webappsec-clear-site-data/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;specification&lt;/a&gt; and &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Clear-Site-Data&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;MDN&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;It doesn’t clear browser history. Remind your users to do it.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The Net is dark and full of terrors&lt;/h2&gt;
&lt;h3&gt;DNSSEC is not optional&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;DNS is always one of the first victims of &lt;a href=&quot;https://en.wikipedia.org/wiki/Sovereign_Internet_Law&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;“sovereign internet”&lt;/a&gt; endeavours.&lt;/li&gt;
&lt;li&gt;It’s not a panacea: malevolent actors can still force users through unsafe paths.&lt;/li&gt;
&lt;li&gt;They can also shoot users in their user faces, what can I say, we control what we can control.&lt;/li&gt;
&lt;li&gt;Do your part, enable damn &lt;a href=&quot;https://en.wikipedia.org/wiki/Domain_Name_System_Security_Extensions&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;DNSSEC&lt;/a&gt;, then check the chain with &lt;a href=&quot;https://dnsviz.net/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;DNSViz&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;HSTS is not optional. HSTS preload too.&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Without &lt;a href=&quot;https://en.wikipedia.org/wiki/HTTP_Strict_Transport_Security&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;HSTS&lt;/a&gt;, any visit that &lt;em&gt;starts&lt;/em&gt; on plain HTTP can be &lt;a href=&quot;https://en.wikipedia.org/wiki/Downgrade_attack&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;stripped&lt;/a&gt;: the ISP answers the HTTP request itself, fetches the site over HTTPS, and serves it back over HTTP. The redirect on the server never reaches the reader.&lt;/li&gt;
&lt;li&gt;Typed domains, old &lt;code&gt;http://&lt;/code&gt; links, QR codes and messenger links all start on HTTP.&lt;/li&gt;
&lt;li&gt;HSTS ends the stripping from the second visit on; preload ends it from the first, because the list ships inside the browser.&lt;/li&gt;
&lt;li&gt;Add a header: &lt;code&gt;Strict-Transport-Security: max-age=63072000; includeSubDomains; preload&lt;/code&gt; (&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;MDN&lt;/a&gt;, &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc6797&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;RFC 6797&lt;/a&gt;), then submit at &lt;a href=&quot;https://hstspreload.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;hstspreload.org&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;A visit that starts on &lt;code&gt;https://&lt;/code&gt; cannot be stripped: the attacker needs a valid certificate, and gets a full-page warning without one. Unless the device trusts a …&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;State Root CA&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;ruzzia has one already. One day your country will have one too (&lt;a href=&quot;https://en.wikipedia.org/wiki/Kazakhstan_man-in-the-middle_attack&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Kazakhstan tried&lt;/a&gt;). To protect kids, dogs or national something.&lt;/li&gt;
&lt;li&gt;A &lt;a href=&quot;https://en.wikipedia.org/wiki/DNS_Certification_Authority_Authorization&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;CAA record&lt;/a&gt; will not save you, because a rogue government actor won’t respect it. That doesn’t mean you should ignore it.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Certificate_Transparency&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Certificate Transparency&lt;/a&gt; logs show certificates issued for your domain by public CAs, so monitor them.&lt;/li&gt;
&lt;li&gt;Some of your users will MITM themselves for access to banking. They will forget to switch browsers or profiles.&lt;/li&gt;
&lt;li&gt;Just accept it and keep it in mind. Some of your users will see your site fully controlled by the dark side.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Encrypted Client Hello (ECH)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Encrypts the SNI, so the ISP sees only the CDN’s IP, shared with thousands of other sites (&lt;a href=&quot;https://datatracker.ietf.org/doc/rfc9849/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;RFC 9849&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;Needs DNS-over-HTTPS on the reader’s side and a CDN that supports it (&lt;a href=&quot;https://developers.cloudflare.com/ssl/edge-certificates/ech/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Cloudflare does&lt;/a&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;TLS 1.3&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;a href=&quot;https://www.rfc-editor.org/rfc/rfc8446&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;TLS 1.3&lt;/a&gt;. Keep TLS 1.2 only with a stripped cipher list, or better, don’t use it at all. It’s not worth it.&lt;/li&gt;
&lt;li&gt;Mozilla’s &lt;a href=&quot;https://ssl-config.mozilla.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;SSL Configuration Generator&lt;/a&gt; writes the server config for you.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Any external resource is a liability&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Remove Google Analytics, Meta Pixel, ad networks, Google Fonts, external CDNs for scripts. You don’t control them, and they don’t care about you or your audience.&lt;/li&gt;
&lt;li&gt;Obviously, never use a service run from the hostile country (e.g. Yandex.Metrica).&lt;/li&gt;
&lt;li&gt;The same goes for NPM packages and other &lt;a href=&quot;https://en.wikipedia.org/wiki/Supply_chain_attack&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;supply chains&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;If you need statistics: self-hosted, IP-less analytics (&lt;a href=&quot;https://matomo.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Matomo&lt;/a&gt;, &lt;a href=&quot;https://plausible.io/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Plausible&lt;/a&gt;, &lt;a href=&quot;https://www.goatcounter.com/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;GoatCounter&lt;/a&gt;) or process the web server logs.&lt;/li&gt;
&lt;li&gt;Self-host fonts, scripts and images. If you can’t, pin them with &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/Security/Defenses/Subresource_Integrity&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Subresource Integrity&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Add &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Referrer-Policy&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;&lt;code&gt;Referrer-Policy: no-referrer&lt;/code&gt;&lt;/a&gt;, so linked sites never learn the reader came from here.&lt;/li&gt;
&lt;li&gt;A strict &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Guides/CSP&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;CSP&lt;/a&gt; keeps a tracker from being added back by accident.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Educate your users&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Steer them to &lt;a href=&quot;https://www.torproject.org/download/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Tor Browser&lt;/a&gt;, or at least a private window.&lt;/li&gt;
&lt;li&gt;Remind them that phones get searched at checkpoints and borders: clear history and app data, remove subscriptions before travel.&lt;/li&gt;
&lt;li&gt;Warn them about the risks of malware like Yandex.Browser, and of certificates or “security profiles” a provider or an official asks them to install.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Protect sources and readers who write in&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use &lt;a href=&quot;https://securedrop.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;SecureDrop&lt;/a&gt; for documents.&lt;/li&gt;
&lt;li&gt;Use Signal for tips and contact, with a &lt;a href=&quot;https://signal.org/blog/phone-number-privacy-usernames/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;username instead of the phone number&lt;/a&gt; (supported since 2024).&lt;/li&gt;
&lt;li&gt;Publish &lt;a href=&quot;https://gnupg.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;GPG&lt;/a&gt; keys for those who want to message you.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Add mirrors&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Have an &lt;a href=&quot;https://community.torproject.org/onion-services/setup/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Onion&lt;/a&gt; / &lt;a href=&quot;https://i2p.net/en/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;I2P&lt;/a&gt; mirror and urge people to use it.&lt;/li&gt;
&lt;li&gt;Announce them with the &lt;a href=&quot;https://community.torproject.org/onion-services/advanced/onion-location/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;&lt;code&gt;Onion-Location&lt;/code&gt;&lt;/a&gt; and &lt;code&gt;X-I2P-Location&lt;/code&gt; headers on the HTTPS site; Tor Browser then offers the onion address by itself.&lt;/li&gt;
&lt;li&gt;The darknet copy should not leak the clearnet origin: canonical URLs, RSS and absolute links pointing at the clearnet domain push the reader out of Tor.&lt;/li&gt;
&lt;li&gt;Host the clearnet mirrors on infrastructure the censor cannot block without breaking things it needs (large clouds, large CDNs). This is called &lt;a href=&quot;https://en.wikipedia.org/wiki/Collateral_freedom&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;collateral freedom&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Keep a list of mirror domains ready, and rotate them when one is blocked.&lt;/li&gt;
&lt;li&gt;Fake mirrors carrying malware are a standard attack on blocked outlets.&lt;/li&gt;
&lt;li&gt;Publish a signed list of official mirrors, and link it from everywhere.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Protect ya neck&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;DDoS protection, free for independent media:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://deflect.ca/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;eQualitie Deflect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cloudflare.com/galileo/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Cloudflare Project Galileo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://projectshield.withgoogle.com/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Google Project Shield&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Domain: never the hostile country’s ccTLD (it can be seized), a registrar outside its reach, &lt;a href=&quot;https://www.icann.org/resources/pages/epp-status-codes-2014-06-16-en&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;registrar lock&lt;/a&gt; on.&lt;/li&gt;
&lt;li&gt;Staff accounts: &lt;a href=&quot;https://en.wikipedia.org/wiki/WebAuthn&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;hardware security keys&lt;/a&gt; everywhere, the registrar and the DNS host first.&lt;/li&gt;
&lt;li&gt;Server logs: no IP addresses, short retention, a host outside the regime’s legal reach. A log that does not exist cannot be subpoenaed or seized.&lt;/li&gt;
&lt;li&gt;App stores remove apps on government demand: offer an APK directly or through &lt;a href=&quot;https://f-droid.org/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;F-Droid&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Don’t forget to close the origin to non-Cloudflare addresses (&lt;a href=&quot;https://www.cloudflare.com/ips/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;IP ranges&lt;/a&gt;, &lt;a href=&quot;https://developers.cloudflare.com/ssl/origin-configuration/authenticated-origin-pull/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;Authenticated Origin Pulls&lt;/a&gt;).&lt;/li&gt;
&lt;li&gt;If your host responds with the same content to a direct-IP request, an attacker can find it by brute-forcing the whole IPv4 space.&lt;/li&gt;
&lt;/ul&gt;</content:encoded><category>Censorship</category><category>Resilience</category><category>Decentralization</category><author>damian.buho@proton.me (Damián Búho)</author></item><item><title>Project: F5M / I2P</title><link>https://dbuho.me/project/f5m-i2p/?utm_source=tag-censorship&amp;utm_medium=rss</link><guid isPermaLink="false">01M293G8W491BKNNT5RDEHH2MR</guid><description>I needed I2P container with relevant server (official often looks abandoned). Also, I wanted to compare behaviour of I2P on different JREs So I made one in b19-style</description><pubDate>Wed, 16 Sep 2026 00:15:24 GMT</pubDate><content:encoded>&lt;p&gt;I needed I2P container with relevant server (official often looks abandoned).
Also, I wanted to compare behaviour of I2P on different JREs
So I made one in &lt;a href=&quot;https://dbuho.me/post/what-is-b19&quot;&gt;b19-style&lt;/a&gt;&lt;/p&gt;</content:encoded><category>Censorship</category><category>I2P</category><category>Privacy</category><author>damian.buho@proton.me (Damián Búho)</author></item><item><title>Project: F5M / I2P Reseed</title><link>https://dbuho.me/project/f5m-i2p-reseed/?utm_source=tag-censorship&amp;utm_medium=rss</link><guid isPermaLink="false">01M293G8VSNHXQ754TM0QV0EPJ</guid><description>I wanted to support I2P network , and I already had multiple nodes. So, I decided to deploy a reseed server , but the procedure felt very akward, so I made an image that automates 95% of the process (you still need to register your server manually)</description><pubDate>Wed, 16 Sep 2026 00:15:24 GMT</pubDate><content:encoded>&lt;p&gt;I wanted to support &lt;a href=&quot;https://i2p.net&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;I2P network&lt;/a&gt;, and I already had multiple nodes.
So, I decided to deploy a &lt;a href=&quot;https://i2p.net/en/docs/guides/reseed-server/&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;reseed server&lt;/a&gt;,
but the procedure felt very akward, so I made an image that automates 95% of the process (you still need to register your server manually)&lt;/p&gt;</content:encoded><category>Censorship</category><category>I2P</category><author>damian.buho@proton.me (Damián Búho)</author></item><item><title>Post: Deployed I2P Reseed server on Kiota</title><link>https://dbuho.me/post/deployed-reseed-server-for-i2p-on-kiota/?utm_source=tag-censorship&amp;utm_medium=rss</link><guid isPermaLink="false">01M293G9GXAA3B39G0HNK87ARR</guid><description>Made my own reseed server for I2P . I2P is a peer-to-peer network which uses “Garlic Routing” to maintain privacy. Reseed nodes help you get connected to I2P for the first time, and even though you should only have to use them once in a great while, they are very important services. I have my own distribution/image that automates some fuss with installation. Feeling like a very niche Atlas.</description><pubDate>Wed, 02 Sep 2026 02:59:00 GMT</pubDate><content:encoded>&lt;p&gt;Made my own &lt;a href=&quot;https://reseed.kiota.ch&quot; rel=&quot;noopener noreferrer&quot; target=&quot;_blank&quot; class=&quot;external-link&quot;&gt;reseed server for I2P&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I2P is a peer-to-peer network which uses “Garlic Routing” to maintain privacy. Reseed nodes help you get connected to I2P for the first time, and even though you should only have to use them once in a great while, they are very important services.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I have my own &lt;a href=&quot;https://dbuho.me/project/f5m-i2p-reseed/&quot;&gt;distribution/image&lt;/a&gt; that automates some fuss with installation.&lt;/p&gt;
&lt;p&gt;Feeling like a very niche Atlas.&lt;/p&gt;</content:encoded><category>Containerization</category><category>Networking</category><category>I2P</category><category>Censorship</category><author>damian.buho@proton.me (Damián Búho)</author></item></channel></rss>