Category Archives: Poetry

Kein Angst

No Fear, by Danger Dan

Adaptation:

There’s two options now and both of them bring stress
One begins tomorrow, one begins right now, no less
We can wait around while they gather up their weight
In parliaments and in the streets — then fight them, but too late

‘Cause we wait and wait and wait, sure, it’s easier to stall
It still comes for the throat, just later, that is all
The other option’s trouble, and it lands on you today
With the cops and the especially-German types in play

But a slim little chance to turn the page back round
Or maybe stop the worst before it settles down
You don’t know what to do, don’t know where to begin
Hear me out — I might just have the angle you can win

No fear, no fear, no fear, no fear
No fear, no fear, no fear, no fear

Call up one or two you trust to have your back
People you can lean on, set a meeting, make a pact
You start a little group and the group has got no name
No founding date, no charter, no club, none of that game

Talk to bars and pubs, ask them for a night
For a space to throw a party where the anti-fascists unite
Invite up all your friends, a little festival
DIY, the entry’s free, just a donation, that is all

With the cash you pull together, buy some cans to spray
Buy your markers and your stickers, make it plain as day
You’re done with all the fascists, and this city is your own
Watch for every camera, don’t get caught, don’t get known

Never without gloves, not a fingerprint to trace
Never shoot a video, never photograph the place
Only tell the ones who stood there when it went down
It’s left-wing street work, not a shot at renown

You’ll need rules for the way that you all communicate
Not just for the Nazis and the ilk that’s at your gate
The services will take an interest fast
So keep it all in secret from the first day to the last

That means no DMs, no messengers, no mail
Anything that’s dicey, keep it face to face, don’t fail
Leave the phone at home — it maps out where you’ve been
And if they ever nab you: not a word, hold it in

No fear, no fear, no fear, no fear
No fear, no fear, no fear, no fear

It’ll shock you that the core of any given crew
When you look inside, it’s mostly only just a few
A handful is enough, that’s usually the deal
To build the local antifa on the ground and keep it real

Next you research every right-wing scene in reach
Shoot their meets and marches secret, quiet, out of speech
Learn just who they are, what they do, and where they stay
Where they work and all the company they keep along the way

Build your fake accounts on Telegram, TikTok
Log down all they write and every word they talk
Grab their paper trash, and tail them where they roam
To the bars, the meeting spots, the flat they call a home

Sign up on the dating sites, sign up on them all
Somehow, someday, every Nazi’s gonna take the call
Get bold and delinquent, get precise and inventive
Feed that antifa archive, keep it comprehensive

Fascists live walled off, in a delusional haze
Arguments won’t reach them, that ship has sailed these days
But experience has shown that there’s a thing or two that gives
Once you get in touch with everyone their circle lives

Back in the day this tactic went by “outing” for a name
Flyers up and posters where they live, to stake the claim
With the photos and the roles, with the names and where they stay
Nobody wants a Nazi pig two doors away

And you seal that with a couple friendly phone calls too
To advise the schools, the unis, the employers who
You wish them a good day, all polite, and then you ask
“Now how’s that fit the ethos of your firm?” — and there’s your task

Help your local paper out, hand them what you know
If they haven’t caught on yet and got it on their own
That there’s a Nazi problem creeping through the town
Might just wake the DA up to run the charges down

With a bit of luck they get some mail or do some time
But you’d be a fool to trust the German state to draw the line
‘Cause experience has shown you it’s the other way instead:
There are far too many fascists where the badges get their bread

No fear, no fear, no fear, no fear
No fear, no fear, no fear, no fear

You’d almost think the services we count on for defense
Don’t fight the right-wing structures — no, they prop them up, no sense
There’s many a cop who’s on the AfD ballot for a seat
And Uniter has got KSK’s munition on the street

So that means: while you research, running down the leads
You’ve got to run your own security, tend to your own needs
The Nazis run their politics on fear, that’s how they steer
On hate and raw militance and terror year on year

There’s plenty you can pin on them, but this you can’t dismiss:
They told us what they’ll do to us — nobody’s blind to this
And history has shown us all before, and shown it plain:
Do nothing, hold your tongue, and it comes back worse again

No fear, so take the whole thing up in your own hand
They look dangerous, but we can lay them out where they stand
Coordinate together, start to train and drill
If you fight it as a unit, then it can work — it will

Right there on the first day, when you throw the party wide
There’s a chance it all kicks off with trouble just outside
So plan for the confrontation, plan for it in full
Have your surprises ready packed for when they come to pull

Legally we’re scraping at the gray zone once again
There’s an elephant, I’ll leave him in the room right where he’s been
It’s clear enough what’s to be done, no more from me, I’m through
Love and greetings out to Lina, Gucci, Maja and Nanuk

No fear, no fear, no fear, no fear (to end)

There is never symmetry. Fascism is by definition an asymmetric threat, meant to eliminate all other voices. The more antifascism you produce, the more diversity of opinion results. A direct result.

The German Grundgesetz codifies this asymmetry: Art. 21(2) party bans, Art. 79(3) unamendable core. Streitbare Demokratie is the admission that pluralism requires enforcement, which means elimination of fascism.

Property is not valuable such that it should interfere with the value of antifascism. This is especially true because fascism brings widespread property destruction. One night, one order, in November 1938 smashed thousands of business, burned down hundreds of buildings, and then billed the victims for their own loss. The war that followed leveled the cities of Europe. The antifascist spray can defends far more property than it marks, an act of value preservation that is as ordinary as the “Kein Eintritt” sign bolted to every factory wall. And it comes off.

A common sign across the German-speaking world, which nobody would ever call property damage. Opposite, tagging “No Nazis” likely preserves and enhances property values.

Gumbel counted 354 political murders from the right against 22 from the left, 1919 to 1922, and the fact that sentencing was inverted. The German center tolerated the people who acted to eliminate the center, imprisoning the people who defended the center. 1933 followed straight into Dachau and 16,000 executions by guillotine, leaving no center at all, only Nazis who could “stay alive” by their own design.

The live question of this poem is not whether asymmetry is real, it is of course always real by the very definition of Nazism. The question is whether the subsidiarity condition has been met, whether Abhilfe through the institutions is still available.

Danger Dan answers no.

Research by taz has documented connections between active and former KSK soldiers and the far-right networks Nordkreuz and Uniter, and the Militärischer Abschirmdienst reported a higher density of far-right suspect cases inside the KSK than in the rest of the Bundeswehr. In spring 2020 the KSK commander, Brigadegeneral Markus Kreitmayr, ran an “amnesty” collection that let soldiers drop illegally hoarded munitions into boxes, free of consequences and without the ministry’s knowledge. Tens of thousands of rounds and even hand grenades came back, significantly more than the books had listed as missing. That summer the Bundeswehr disclosed roughly 48,000 rounds and 62 kilograms of explosives unaccounted for, and the defense ministry dissolved the KSK’s second company outright.

The state bean counters said one thing. The collected ammo boxes said another.

And yet the Dresden and Budapest verdicts show the German state still claims they have a monopoly on violence, enforced in one political direction to enable the asymmetry of Nazism.

Germany broke its own constitution to deliver Maja T. to Orban’s corrupted courts overnight, a handover the Bundesverfassungsgericht ruled unlawful. Budapest ruled eight years while Orban demanded more. This repeats the inverted enforcement that Gumbel measured, the judicial bias that allows Nazism to exist, because it erases Abhilfe exactly as the song says.

Guess Who Commissioned “Kommando Angry Birds” to Burn German Rail

Back in September 2025 the German federal security services published a very timely template. Foreign intelligence, mostly Russian, will use untrained recruits called “Wegwerf-Agenten” through social media and messenger apps, the same platforms the FBI flags Russian services for exploiting. Small sums will be paid for tasks of arson, sabotage, and attacks on energy, transport, and rail infrastructure.

The disclosure of a risk from cells of coin-operated online recruits, suggests there already is a foundation of knowledge about who will commission them, when and why. Read the joint BKA, BND, BfV, and BAMAD announcement, given how the Russian links are practically erupting off the pages as if a Vulkangruppe.

Now read the new “Kommando Angry Birds” communique. The cell fits the same operation template as was predicted last year.

In its claim letter posted to indymedia, the cell says it deposited timed incendiaries built on a liter of grill lighter fluid in two cable ducts at the Wupper bridge:

…verantwortlich “für die Sabotage der Bahnstrecke nördlich von Leverkusen”… ein “Massensterben” durch die “technologische Eskalation”… “die Beseitigung der industriellen Technologie geboten”…

EN: (responsible “for the sabotage of the railway line north of Leverkusen”… a “mass death” due to “technological escalation”… “the elimination of industrial technology is necessary”…)

Birds of Russia

Russia heavily promoted an Angry Birds Activity Park to kids, and kept it running after Rovio pulled out of Russia under 2022 sanctions. Germans never had much use for the game, certainly never had a park, and aren’t self-decorating with such an over-the-top commercial app theme, for perhaps obvious reasons.

We are talking here about a documented Russian model, which has been named and described by four German federal agencies.

Source What it establishes Link
BfV press release, 2 Sep 2025 Perpetrators presumed Russian; recruitment via social media for sabotage in Germany verfassungsschutz.de
BND press release Same joint finding; four-agency campaign “Kein Wegwerf-Agent werden” bnd.bund.de
BKA press release Names the target class: energy, transport, rail, logistics, ICT, military, defense industry bka.de
BfV short notice Recruits paid small sums, often ignorant of their true principals; heavy criminal penalties verfassungsschutz.de
BAMAD via Bundeswehr Military counterintelligence co-signs: a harmless chat, a small job, a little money, and you are committing sabotage for a foreign power bundeswehr.de

It’s not a mystery. The Bundesamt für Verfassungsschutz and the Bundesnachrichtendienst both state that the perpetrators are presumed Russian services, working directly or through intermediaries, using social media and messenger apps to recruit their own angry birds for sabotage against Germany. The Bundeskriminalamt lists the target set: energy, transport and traffic, logistics, information and communications technology, military sites, and the defense industry. It’s all critical infrastructure, chosen for leverage against Ukraine, not for any coherent ideology.

Pattern Time

The question is whether its operation fits the Russian low-level-agent template, which would move the case to counterintelligence and active defense against a foreign actor, or an actual German domestic scene. And that begs the elephant in the room, why Germany just proposed federal counterintelligence to be used against domestic political groups, without any real threat validation step.

The template column below is drawn from the federal sources linked in the ledger. The Kommando column is the attack record as attributed by NRW authorities and claimed in the communiques.

Marker GRU agent template Kommando Angry Birds
Commissioning state Mostly Russian services, direct or via intermediaries Unattributed; zero convictions across the campaign
Target class Energy, transport, rail, logistics, ICT, military, defense industry Rail signal cabling, telecom masts, a substation, a road tunnel
Recruitment channel Social media and messengers, tasks framed as a game or challenge Name taken from a mobile game; manuals published openly
Recruit awareness Often does not know the true principal Cell structure and size listed by authorities as unknown
Force multiplication Disposable recruits, seeded and replaced Distributes incendiary-device instructions to enable others
Naming convention Cover chosen for local plausibility, not authored belief No date, no martyr, no class term; a global consumer brand
Strategic beneficiary Degradation of German infrastructure and public trust Closes Germany’s densest logistics corridors, affecting Ukraine and NATO, feeds false “left terror” narrative

As I had to explain already with the Vulkangruppe, left cells will use names to invoke a date, a martyr, or a class term. A temporal frame of justice is the kind of thing inherent to being credible as the left. Bewegung 2. Juni. Kommando Holger Meins. Revolutionaere Zellen. Imagine a Nazi cell posting a letter signed “Castle Wolfenstein Semites”.

A tech-promoting mobile slingshot game franchise, whose flagship indoor park stood in a St. Petersburg shopping mall flogging Angry Bird merch, fails that test in the most painfully obvious way. So, either these are the least self-aware Germans in history, or the cynical Russians are up to their usual childish humor mocking their own coin-operated disposable assets. It’s the kind of dumb joke someone playing a lot of Angry Birds in May 2023 would make (revenge for sanctions).

If you are actually opposed to technology and could choose anything for your own name, to sign your own work… it’s not going to be the promotion of an addictive ad-revenue mobile app still heavily merchandised in St. Petersburg.

Template as Predictor

The German agency template warned us about this exact attack signature, which a domestic anarchist profile simply doesn’t fit.

  • It predicts a cell with no pre-war history, appearing inside the window of GRU escalation in Germany.
  • It predicts targets chosen from the federal list rather than from vote share or class enemy.
  • It predicts a name coded wrong for the milieu it claims.
  • It predicts published manuals, because the point is to seed easy replacements, not to protect a loyal or closed cell.
  • It predicts arrests that go nowhere, because intelligence equities foul the prosecution. Rail signal cabling in the Duesseldorf corridor, telecom masts in Langenfeld and Erkrath, a substation, a road tunnel, and nearly four years without a single conviction.

See what I mean?

A Dobrindt Discriminator

The authorship as it is published and the direction are not the same, so we should discriminate them easily. The communique can read as authentic for an asset’s experience, and yet the operation including influence still may be commissioned from Moscow. A recruit simply gets handed a cover story and swag along with their crypto.

The test comes with arrest.

A genuine anti-civilization actor produces a defendant who theorizes in court. A disposable one produces evidence, especially if you can intercept the trail before it’s burned.

Fifteen years of Vulkangruppe produced neither, because no one was convicted. “Kommando Angry Birds” is now running the clock, along with a sale of 30 to 50 percent off in the Angry Birds Russia brand store. Yet the German services have already told us what time it is. The question Germany should be asking is whether they can defend using tools at the ready, or its ultra conservative politicians like Dobrindt will hold them back, falsely blaming “leftists”, the tactic Putin runs to push extremist right politicians into control.

Remembering Nazi Resistance Leaders Missak and Mélinée Manouchian

There is an interesting history to a French announcement that resistance to the Nazi occupation would be recognized.

Missak Manouchian was the military leader of a Parisian group of foreign Resistance fighters, all of them communist (mostly Jews from Central and Eastern Europe, including Romanians, Hungarians and Poles, but also Spaniards, Italians and Armenians), whom French President Emmanuel Macron will honor by laying his body to rest, along with that of his wife, in the Panthéon in Paris, 80 years after a frantic manhunt conducted by the Nazi-collaborating Paris police and the execution of 22 members of the group…

Eighty years of official French memory was cynically mismanaged to celebrate the Resistance without celebrating the people who actually conducted armed operations in occupied Paris.

The continuation of a Nazi propaganda apparatus meant France understood exactly who really had been fighting. The “Affiche Rouge” plastered across Paris in February 1944 featured ten faces from the group with their names, nationalities, and acts of sabotage. The poster’s headline asked: “Des Libérateurs?

The intent was to turn Parisians against the Resistance by tribal “othering”: declare invasive German Nazism native to France while declaring the French resistance alien (Jewish, communist, etc.). The Vichy interior ministry and Paris police collaborated in the precise propaganda, and the manhunt that produced arrests.

Postwar France then continued the precise inversion. De Gaulle’s reconstruction myth required the Resistance to be French, national, and broadly patriotic. He erased the celebration of foreign-born communist Jews who responsible for the actual armed campaign in Paris. These people were more patriotic to France than the French collaborating with Nazis, which the post-war France wanted to avoid admitting.

Aragon wrote “Strophes pour se souvenir” in 1955, a poem paraphrasing Manouchian’s last letter to Mélinée. Léo Ferré set it to music and recorded it in 1961 as “L’Affiche Rouge.” The cultural memory existed. The state recognition kept denying the people who mattered should be allowed their recognition.

Mélinée Manouchian survived. She spent decades pressing for formal acknowledgment. She died in 1989 without receiving it. The Panthéon ceremony honored her alongside Missak, thirty-five years after her death.

The Nazi occupation of France faced an armed resistance carried out disproportionately by the French identities who the French tried to suppress. Recognition was deferred until every participant and their surviving spouse was dead and couldn’t feel appreciated and welcome.

The honor arrived when it cost nothing and offended none of the surviving, thriving Nazis in France. The state gets credit for an act of memory that required eighty years of erasure, treating the real resistance as the “wrong” ethnicity for liberating France from both foreign and domestic Nazism.

eisengarn: One Binary, One Cloud, One VPN

When you create a “virtual private network” the “exit” of that network is a physical node with a legal jurisdiction. That jurisdiction determines who can compel disclosure of your traffic metadata, under what authority, and whether anyone is required to tell you it happened. Choosing the right jurisdiction is the first security decision of any “private” network. Everything else depends on it.

eisengarn Intro

After hearing many people ask what they should do about the crisis of fraud in the VPN provider market (many of them apparently are cosmetic shells that trace back to the same hedge fund, or an anti-privacy politically ambitious CEO), I created eisengarn.

Of all the options I saw presented, none seemed to offer the simplest answer of all.

I didn’t see any reason for something to be magic or marketed when the concepts of private networking are as old as the Internet itself. So I put together the most simple solution I could, and not simpler: a CLI-based personal WireGuard VPN provisioner written in Go.

I like to sing “one binary, one cloud, one protocol (VPN)” to the tune of Rudy Toombs’ “one bourbon, one scotch, one beer”. Your musical tastes may differ, but the point is simplicity and transparency brings integrity.

One scotch, one bourbon, one beer

One scotch, one bourbon, one beer

Please mister bartender,
listen here

I ain’t here for trouble,
so have no fear

One scotch, one bourbon, one beer

You run one command and get a hardened WireGuard exit node on the Hetzner Cloud, locked by code that only allows EU jurisdiction datacenters: Nuremberg, Falkenstein, Helsinki.

The name is awkward to say, but it’s a real German textile term for “iron yarn”, which means paraffin-treated cotton thread. It’s perhaps known best as Bauhaus tubular-steel chair webbing (Stam, Breuer). It has strong, thin, functional, engineered attributes. What’s not to like? The metaphor is a simple purpose-fit physical thing to make your internet more trusted.

Jurisdiction Details

Hetzner is a German company, thus under German and EU data protection law. The GDPR applies. The server you provision sits in a known legal regime with strong data-protection statute. That’s why eisengarn hardcodes the location, giving an easy and reliable jurisdictional boundary.

The code is open on Codeberg, a German non-profit running Forgejo. The DNS resolvers are Quad9, a Swiss foundation with a no-source-IP-logging policy, and DNS.SB, operated in Germany, both over DNS-over-TLS.

The cloud, code, and DNS all remain within EU jurisdiction, unlike the American services known to be heavily monitored by Trump for loyalty, and subject to being disabled immediately without warning.

Ms. Prost was at home, standing in her kitchen, when the call came informing she was being sanctioned. It wasn’t a complete surprise, given that many of her colleagues had already been sanctioned, she said during an interview…. Within hours, she said, she had received a message from Amazon canceling her accounts. Before long, Google & her banks got in touch. Over the following days, credit cards ceased to work.

Design Details

WireGuard keypairs are generated server-side on first boot; the private key stays on the server and is read directly into the WireGuard config there. Client keypairs are generated locally on your machine; only the public key crosses the wire. Every key artifact is written atomically: create temp file, chmod 0600, rename into place.

SSH authentication is agent-only. Your private key stays in ssh-agent, protected by your passphrase, and eisengarn prints which key it selected so you can confirm. Host-key pinning is trust-on-first-use and fails closed: a changed host key aborts the connection.

IPv6 is dual-stacked with NAT66, so both address families route through the tunnel and exit in the EU. DNS runs through unbound, listening only on the tunnel interface, forwarding over TLS. The firewall is scoped to OpenSSH and WireGuard’s UDP port; the resolver is reachable solely from inside the tunnel.

Threat Details

eisengarn, if not already apparent, is a jurisdiction tool. You control the exit node. You choose the legal regime your traffic lands in. The security properties are visible in code rather than in a sketchy hedge-fund VPN flogging “personality type” marketing.

The README spells out exactly what the trust boundaries are: your Hetzner account ties the server to your identity, the exit IP is stable and yours, and traffic past the exit is as encrypted as it was to begin with. Honest documentation so you know exactly where the boundaries are should help you make real decisions about your threats.

Workflow Details

It’s in Go, statically compiled, CGO disabled. Clone it from Codeberg, make build, and this is the entire workflow:

eisengarn up — provisions a locked-down Ubuntu 24.04 server in the EU datacenter you chose, configures WireGuard and the DNS resolver, pins the host key, writes local state.

eisengarn add laptop — generates a keypair on your machine, sends only the public key to the server, writes laptop.conf and a scannable laptop.png QR code. Import the conf into WireGuard on the device. Scan the QR on a phone.

eisengarn verify — runs live checks against the server: tunnel up, unbound active, firewall scoped, DNS resolver unreachable from the public internet.

eisengarn list — shows your devices, reconciled against the live server.

eisengarn down — destroys the server and stops the bill.

A cpx22 at Hetzner runs only a few euros a month, perhaps less than your VPN service charges. The server is persistent, meaning you can provision once, add devices over time, and eisengarn down when you’re done. A down command immediately destroys the complete server.

v0.1.0 was just tagged, under a MIT license.

Enjoy, and stay safe out there.

Hetzner “one-click” UI

Also note, Hetzner already offers a one-click WireGuard app with a web management UI, which they support.

It’s a starting point, while eisengarn offers you a different set of choices: sticking with CLI-only means nothing exposed on HTTP or HTTPS. EU-location is provable, and it uses agent-only SSH with host-key pinning, with local client key generation so private keys stay on your device, as well as DNS-over-TLS to privacy-respecting EU/Swiss resolvers.

The table below lays out how and why the two options are so different.

eisengarn “One-click” App
Location constraint Provable EU-only, enforced in code (nbg1/fsn1/hel1) None
Management interface CLI only Web UI (Caddy + Let’s Encrypt)
Public-facing services SSH + WireGuard UDP SSH + WireGuard UDP + HTTPS
SSH authentication Agent-only, host-key pinning (TOFU) SSH key or root password
Client key generation Local (private key stays on your device) Server-side via web UI
DNS Unbound → DoT to Quad9 (Swiss) + DNS.SB (German) System default
IPv6 Dual-stack with NAT66, both families tunneled Forwarding enabled
Firewall ufw, scoped forwarding (tunnel → eth0 only) nftables
Installed components WireGuard, unbound, ufw WireGuard, WireGuard UI, Caddy, nftables
Audit surface Single Go binary, open source on Codeberg Pre-built cloud image