From 80 Days Around the World to 80 Days in the Dark
"Eighty days," Jules Verne wrote in 1872, was how long it took to circle the planet. In Iran today, it is how long a developer in Tehran has been unable to reach a single server outside it.
Part 1: The morning everything stopped
You wake up. You pour tea. You open your laptop and run git pull.
It hangs.
You ping 8.8.8.8 — nothing. You curl github.com — DNS failure. You restart the router, the modem, the laptop. You call your ISP. The person on the phone has had this call all morning, and the morning before that, and the morning before that:
"It's the whole country. We don't know when it comes back. We never do."
That was day one. Today is day 80. Tomorrow will be day 81. Nobody knows what day it ends on.
This is the story of friends, ex-colleagues, and a whole generation of developers still in Iran — people who, right now, have been almost completely cut off from the global internet for 80 days and counting.
If you're a developer reading this from anywhere else, imagine — for the next few minutes — what it would mean if every package manager you depend on stopped working tomorrow. npm, pip, go mod, cargo, gem, mvn, whichever you use.
Not for a day. Not for a week. For three months. With no end.
Part 2: The dead screen
The blackout breaks the toolchain one error at a time — until you realize the whole thing you depend on lives somewhere you can no longer reach.
Day one in an Iranian developer's terminal looks like this:
| Tool | What happens |
|---|---|
git push origin main |
Could not resolve host: github.com |
npm install |
Stalls on the first fetch from registry.npmjs.org
|
pip install |
Same story with PyPI |
go mod download |
dial tcp: lookup proxy.golang.org: no such host |
cargo build |
crates.io unreachable |
mvn install / gradle build
|
Maven Central times out |
docker pull |
TLS handshake timeout |
apt update |
Mirrors unreachable |
| Stack Overflow | A few pages from browser cache. None of the answers. |
| ChatGPT, Claude, Gemini, Copilot, Cursor | All blocked. Hard. |
| MDN, React docs, anything on Cloudflare | Half the web's docs, gone |
| Slack, Discord, Telegram | Gone |
| Your GitHub Actions | They run somewhere. You can't see the logs. |
What the table doesn't show is the second layer.
Your linter quietly tries to fetch a rule update. Your editor tries to refresh its extensions. Your CI pipeline, running in some server farm in Frankfurt, sits waiting for commits that will never arrive.
Even the tools you thought were "local" turn out to be thin shells over a server somewhere else. Everything you do, all day, is a request to somewhere else.
When somewhere else is unreachable, you find out how thin your local computer actually is.
Part 3: And it's not just developers
The developer story is one room in a much bigger house. The whole house is dark.
Until 80 days ago, Iran was a country that lived on the internet.
- Telegram was where daily life happened.
- Instagram was where a generation of Iranian women built their own businesses, where photographers and artists earned a living, where the shops without a storefront lived.
- WhatsApp was the lifeline to family abroad — to the cousins in Toronto, the children in Berlin, the brother in Dubai.
All of it, gone overnight.
For hundreds of thousands of Iranians, those apps weren't social media — they were the whole business.
The woman in Karaj selling homemade shirini (Persian sweets) through DMs. The seamstress taking orders from her bedroom. The mechanic in South Tehran posting before-and-after photos of Pride repairs. The Konkur tutor running online classes for students preparing for the university entrance exam. The hairdresser, the photographer, the calligrapher, the spice seller, the young woman embroidering cushions from her bedroom.
None of these people had a website. None of them needed one. They had an Instagram page for the shop, a Telegram channel for orders, and a bank card number — customers transferred the money, took a screenshot of the receipt, and sent it back.
Now the shop has no door.
This isn't a story about things being a little less convenient. It's a story about people who can't pay this month's rent or this year's rahn — Iran's housing deposit, often a year's salary handed to the landlord all at once.
It's a story about families buying less meat, less fruit, less of everything. About a business someone built over five years disappearing in one morning, with no way to get it back.
The blackout didn't just cut a country off from the global internet. It cut hundreds of thousands of families off from the way they buy bread.
Developers aren't the only victims of this blackout. We're just the ones who can describe the damage in code.
Part 4: The workarounds you'd imagine? None of them exist.
If you live in a country where the internet works, you'll think of one word right away: VPN.
"Everyone in Iran uses VPNs, right?"
Not anymore.
For years, Iranian developers fought a long battle over tunneling protocols — V2Ray, Xray, Reality, Hysteria, Trojan, Shadowsocks, WireGuard-over-TLS — every trick engineers could think of to make their traffic look harmless to the censor.
That battle ended 80 days ago. The censor stopped playing — and hasn't started again.
Every public protocol, every paid provider, every config — dead. No Psiphon. No Lantern. No Cloudflare WARP. No clever setting hidden on a forum somewhere, because the forum doesn't load either.
When the tunnel closes, everything else breaks:
- No GitHub. No GitLab. No Bitbucket.
- No npm. No PyPI. No crates.io. No
proxy.golang.org. No Maven Central. No RubyGems. No Packagist. No Docker Hub. - No ChatGPT, Claude, Cursor, Copilot, Gemini.
- No Stack Overflow. No MDN. No React docs. No AWS console.
- No Slack. No Discord. No Telegram. No WhatsApp.
- No Zoom. No Google Meet.
- Mirrors that exist in name only. Iran has local mirrors for Linux, npm, PyPI, Docker Hub, the Go proxy, Maven — universities and a few volunteers set them up years ago. But they're months out of date, throttled to a crawl, rate-limited, and half-broken. The badge on the homepage works. The package never finishes downloading.
- No local AI model you can run, unless you happened to download the weights to your hard drive before the blackout started.
What's left? Only what was already on a hard drive on day one, and the physical movement of data — and, if you can pay for it, a black market I'll explain in a moment.
-
Pre-blackout stashes.
node_modulesfolders, Docker images,.debpackages, model weights, doc snapshots — anything saved before the blackout is now treasure. - Sneakernet. A USB drive passed between coworkers. A friend who drives across the city to hand-deliver an updated company tarball. Anything from abroad has to come overland — across the Turkish, Iraqi, or Armenian border — and arrives weeks or months late.
- The friend abroad. Someone outside Iran downloads what's needed and waits weeks or months for it to physically reach the developer who asked.
- Stop. A lot of developers just stopped. They can't ship, can't learn, can't get paid. They're reading old books and waiting.
Part 5: Some animals are more equal than others
"All animals are equal, but some animals are more equal than others."
— George Orwell, Animal Farm
Not everyone is equally cut off.
In any blackout, some people get exceptions. Government offices need access for reasons they don't have to explain. Some businesses, some ministries, some people with the right connections get what's quietly called "Internet Pro" — a special, government-approved level of internet that goes past the block.
The official excuse changes depending on who's asking. The real reason is connection — who you know, what you can pay.
The moment that special access exists, a market exists.
If you have Internet Pro and your neighbor doesn't, your apartment becomes the internet. You set up a hotspot, a SOCKS proxy, a tunnel — whatever the buyer needs — and you charge by the gigabyte.
The price runs anywhere from 10x to 100x what internet used to cost when the country was online.
Here's what that means for a developer:
- A
docker pullof one base image: 500 MB. At 50x the old price, that's a day's worth of food — for one pull. - A fresh dependency install —
npm install,pip install,go mod download,cargo build,mvn install, whichever you use: 100-500 MB. Multiply by every time your dependencies break. - Downloading the weights for one local AI model that might let you keep working: 8 GB. That's a week of groceries.
- A
git cloneof your company's monorepo: 2 GB. Your employer doesn't pay you back. Your employer also can't see your work.
The blackout is not the same for everyone. Some people are hit hard. Some barely feel it.
At the top: senior engineers with money saved and the right contacts. They can pay for a black-market tunnel and keep working at half speed.
In the middle: developers counting every megabyte, choosing which one task this week is worth the cost.
At the bottom: students, juniors, freelancers. For them, one hour online costs more than they used to earn in a day. They're not just disconnected. They're priced out of being a developer.
A blackout creates a black market. A black market creates a class system. And in the dev community, that class system will last longer than the blackout itself.
The book this all comes from
Orwell wrote Animal Farm about a revolution that promised equality and gave the opposite. He thought he was writing about Soviet communism. He was.
But he was also writing — without knowing it — about every revolution that came after and made the same promise and broke it the same way. Including the Islamic Republic that has run Iran since 1979.
The hammer and sickle becomes a flag of God. The Party becomes the clergy. The commissar becomes the Revolutionary Guard.
The flag, the slogans, the scripture — all of these change. The farm stays the same.
The blackout was presented as one rule for everyone — the country is offline, no exceptions. Eighty days later, the exceptions are the story.
Some animals have wifi. The rest watch the pigs walk on two legs and pretend not to see.
Verne and Orwell, together
The two writers see opposite halves of the same picture.
Verne saw the world getting smaller. Steamships and railways were shrinking the planet to eighty days of travel, and he was right — the world did get smaller.
Orwell, decades later, saw what Verne missed:
A world that is "small" for some people is, by the same act, a fence around others.
For every railway that connects two cities, there is a border the railway does not cross. For every steamship, there is a port someone is not allowed to leave. The smallness Verne celebrated was never for everyone — it was a privilege handed out by whoever owned the railways and the steamships and, today, the routers and the fiber.
Iran is on the wrong side of that line.
The same eighty days that once meant the world is reachable now mean the opposite. Eighty days of proof that privileges can be revoked — and that when they are, the country left behind disappears from the map of the connected world overnight.
Part 6: The things you don't think about until they're gone
The technical problems are solvable in theory. What you can't copy offline is the rest of being a developer in 2026.
- You can't get paid. Stripe, Wise, PayPal were never available to Iranians — sanctions blocked them years ago. Crypto, especially USDT through P2P channels, was the only workaround. The blackout killed that too. Now the only payment route is a friend abroad receiving the money for you and waiting weeks to physically hand it over.
- You can't ship. Your AWS console doesn't load. Your Vercel deploys wait forever. Your CI runs somewhere, without you.
- You can't apply for remote jobs. The application platforms don't open. And even if they did, sanctions blocked the payment side to Iranians years before the blackout closed the application side. The trap closes from both ends.
- You can't update your portfolio. Your own website works in Berlin and doesn't exist in Tehran.
- You can't learn. Every tutorial, every course, every new framework's docs — gone.
A whole generation of brilliant engineers is, professionally, going dark. They didn't stop working. The world stopped seeing them work.
Part 7: What you can actually do
I didn't write this to make you sad. There are real things the global dev community can do, and most people don't know what they are.
1. Don't geoblock by default — and check your assumptions about who's on the other side
Half the SaaS tools on the planet block Iranian IPs as an easy way to follow the law.
The unspoken assumption behind those blocks is that every Iranian IP belongs to the regime — that every user is Revolutionary Guard or a regime official.
They are not.
The actual people behind those IPs are developers, students, journalists, women, dissidents — mostly the opposite of the regime your sanctions are aimed at. They are the ones being beaten in the streets, the ones being arrested, the ones whose internet was just cut off.
The Revolutionary Guard has other ways through your blocks. The only people you stop are the ones on your side.
When access comes back — and it will, in waves — your service being open by default could be the difference between an Iranian dev sending their first PR or giving up. Check if your geoblock is actually required by law, or just a default someone never turned off.
2. Hire Iranian developers
Iranian engineers are some of the most resourceful in the world. Most of them aren't trying to leave Iran. They're trying to keep working from where they are.
Hire them remotely. Hire them per project. Pay in USDT through person-to-person channels — the only payment route that still reaches Iran. A modest USD contract is life-changing in the Iranian economy right now.
3. Sponsor open-source maintainers from Iran
GitHub Sponsors, Open Collective, direct USDT — whatever channel reaches them.
$50 a month right now can be the difference between someone paying for a black-market tunnel to keep contributing, or going silent.
4. Build better internal mirrors inside Iran — for the next blackout
This one is for the Iranians who still have internet access right now: universities, ISPs, sysadmins, anyone with the capacity to run a mirror.
The mirrors inside Iran today are broken. Out of date, throttled, half-broken — the badge on the homepage works, the package never downloads. That is the situation every Iranian developer is paying for right now.
The next blackout will come. When it does, the only mirrors that matter will be the ones already inside the country. The external mirror that the rest of the world maintains is useless to a developer who cannot reach the rest of the world.
Build properly maintained internal mirrors of npm, PyPI, crates.io, the Go proxy, Maven Central, Debian. Keep them current. Give them the bandwidth and capacity to actually serve real traffic. Run them quietly — at universities, at companies, on personal servers. Snapshot them regularly so the data survives even if any single host goes down.
The infrastructure that exists when the next blackout begins will be the infrastructure Iran has during it. The work to build it is now — while the internet still works.
Part 8: The part that matters
Right now, as I publish this:
- There is a developer in Tehran who hasn't run
git pushin 80 days. Tomorrow he won't either. The day after, probably not. No one has told him when he can. - There is a junior dev in Shiraz who can't finish the React tutorial she started in February.
- There is a CTO in Isfahan watching her seed round disappear because no investor call will stay connected.
- There is a freelancer in Tabriz who hasn't been paid in three months because the platform that owes him money won't even load.
- There is a student in Mashhad who calculated last night that one hour on a black-market tunnel costs more than his father earns in a day, and quietly closed his laptop.
They are still building. Slowly, quietly, with USB drives and patience and whatever internet they can afford.
And the hardest part — harder than the broken git push, harder than counting every megabyte, harder than the missed paychecks — is the silence from the rest of the world.
Eighty days of a country going dark, and the global news scrolled past it. No emergency meeting. No tech CEO statement.
If this were happening in a country the global press had decided was important, it would be on every front page.
It isn't.
The silent message to every Iranian — developer, grandmother, child — is that their disconnection is not an event.
They are not an event. They do not matter enough to be noticed.
The least the rest of us can do is prove that wrong.
One last thing — about the official story
I am not a political person. I am an engineer. I write about code. I write about systems. I write about real engineering work. This is not what my keyboard is usually for.
But I have to say this once, clearly.
The Iranian government has an official reason for the blackout. But before I get to the reason, let me name where the decision actually comes from — because outside Iran, this is misunderstood.
The blackout was not ordered by "the government" in the way Western readers picture government. Iran's elected officials — the president, the parliament, the cabinet — do not hold real power. They are the shadow show. The actual decisions come from the Supreme Leader and the Islamic Revolutionary Guard Corps (IRGC). Cutting a country off from the internet is their order, not the cabinet's.
They say it is for national security. They say it is because of the war. They say it is temporary.
They are lying. Every one of those is a lie.
A country cannot fight back if it cannot see what is being done to it. It cannot ask for help if it cannot reach the world. It cannot stand up for itself if its people cannot reach each other.
That is the real reason. Everything else is a lie the Supreme Leader and the IRGC tell to keep the world from looking too closely — and to keep their own people from looking at each other.
Verne's hero needed eighty days to circle the planet. An Iranian developer has spent the same eighty days unable to leave the country at all — not on a plane, not on the internet, in no direction at all.
For most of the world, the planet keeps getting smaller. For Iran, it has gotten very large again. And no one is rushing to shrink it back.
If you're anyone else reading this, please share it. The loudest thing we can do is refuse to let this stay silent.
Top comments (0)