Working Through Darkness: How I Stayed Productive During Iran’s Internet Blackout

Working Through Darkness: How I Stayed Productive During Iran’s Internet Blackout


I want to share my experience as a Site Reliability Engineer currently working at SnappPay, and the things I’ve learned that helped me continue working, stay productive, and even improve my skills during the recent internet blackout in Iran.

For anyone working in software or tech, the idea of functioning without global internet seems impossible. As Iranians, we already deal with heavy restrictions: government filtering, international sanctions, and blocked access to countless essential services. VPNs and tunneling tools became part of our daily workflow—just to study, research, or do basic tasks.

When the war between Iran and the US/Israel began, the government switched from a long blacklist to a very short whitelist for security perposes. In practice, that meant no VPNs worked anymore, and global internet access became impossible. Only Iranian IPs and domestic services were reachable.

Enough background—here’s what I struggled with, and what I did to keep going.


1. No Google

Imagine trying to work with no Google. That was the first and biggest shock.

I searched for national search engines and found these three:

How did I even find them without Google?
Believe it or not, through word of mouth—SMS, phone calls, and national messaging apps.

But let’s be honest: these engines are nowhere near Google. Often, the results are so poor that it’s hard to call them “better than nothing.”


2. Communication

With no access to Telegram, WhatsApp, Microsoft Teams, and others, communication became a major problem.

I searched for national platforms and found:

These apps are slow, limited, and none of them offer end‑to‑end encryption. All messages are monitored. This makes them far from ideal for companies that rely on confidentiality and reliability.

Our company used Microsoft Teams, but after the blackout we were left with nothing.
So we self‑hosted RocketChat and Element for 600+ users to keep communication and remote work functioning.

But this created another challenge:
How do you install RocketChat when you can’t access documentation or download container images?

I’ll get to that shortly.


3. AI

In my daily workflow, I rely heavily on tools like ChatGPT, Gemini, Claude, Qwen, and DeepSeek. When the blackout hit, I lost access to all of them.

So I looked for companies offering locally hosted open‑source LLMs in Iran. I found:

These were surprisingly helpful. I could still write code, troubleshoot, read documentation (to a degree), and get help with tasks.

The main limitation is model freshness: they cannot browse the internet, and their knowledge is frozen at the last training update. So any question about newer documentation becomes hit‑or‑miss.

Still, they worked—and in this situation, “better than nothing” is a win.


4. DNS

To keep systems running, I needed reliable national DNS servers. Unfortunately, none were consistently stable. I ended up keeping a long list and switching them depending on which sites I needed to access.

It was a daily struggle.

Here’s the list I relied on:

  • 185.161.112.33
  • 85.15.1.14
  • 172.20.11.11
  • 172.20.11.12
  • 217.218.127.127
  • 217.218.155.155
  • 178.22.122.100
  • 185.51.200.2
  • 178.22.122.101
  • 185.51.200.1
  • 5.200.200.200 — tci
  • 217.218.127.127 — recursive1.dci.ir
  • 217.218.155.155 — recursive2.dci.ir
  • 185.55.224.24 — dns1.begzar.ir
  • 185.55.226.26 — dns2.begzar.ir
  • 185.55.225.25 — dns3.begzar.ir
  • 78.157.42.100 — dns.electro
  • 78.157.42.101 — dns.electro
  • 87.107.110.109 — recursive1.dnspro.ir
  • 87.107.110.110 — recursive2.dnspro.ir

5. Package registries

During international internet outages in Iran, access to global package registries such as PyPI, npm, Docker Hub, or Maven Central can become unreliable or completely unavailable.

so now how to download oackages updates and security updates for peronal use i found these and some companies get super limited access to fetch security updates but not for all engineer

To keep development workflows running, several Iranian mirrors and registries remain accessible through the national network.

Use the filter below to quickly find mirrors for the package ecosystem you need.

Filter

Mirrors

Mirror Packages
mirror.shatel.ir Ubuntu, Debian, Kali
mirrors.kubarcloud.com Linux kernel source, open‑source archives
repo-portal.ito.gov.ir CentOS, Fedora, Rocky, Python, npm, Yarn
jamko.ir Maven, Gradle, Android SDK, APT, RPM, NuGet, Yarn, Composer, pip
runflare.com/mirrors Composer, PyPI, npm, Node.js, Maven, Linux
hub.hamdocker.ir Docker images
repo.iut.ac.ir Debian, Ubuntu, Mint, Arch, Manjaro, Raspbian, Alpine, Rocky, Fedora, OpenSUSE, OpenBSD, CTAN
maven.myket.ir Maven Central, Google Maven, JitPack, Android SDK
arvancloud.ir/dev/linux-repository Debian, Ubuntu, CentOS, Alpine, Arch, OpenSUSE, Manjaro
mirror.iranserver.com Debian, Ubuntu, CentOS
docker.mobinhost.com Docker images
mirror.mobinhost.com FreeBSD, AlmaLinux, Alpine, Arch, Debian, Fedora EPEL, Manjaro, MariaDB, MongoDB, Raspbian, Ubuntu, Zabbix
arvancloud.ir/fa/dev/docker Docker images
focker.ir Docker images
liara.ir/mirrors Linux distributions, programming packages, Docker registry
en-mirror.ir Google Maven, Maven Central, JitPack
docker.kernel.ir Docker images
terraform.peaker.info Terraform providers
mirror.afranet.com Debian, Ubuntu, CentOS
ubuntu.pishgaman.net Ubuntu
mirrors.pardisco.co Ubuntu, Debian, CentOS, Alpine, PyPI, npm, Go, NuGet, Docker
cran.um.ac.ir CRAN
ir.archive.ubuntu.com Ubuntu
mirror.0-1.cloud AlmaLinux, Alpine, Arch, CentOS, Debian, EPEL, FreeBSD, Manjaro, MariaDB, Raspbian, Ubuntu, Windows
mirror.manageit.ir Ubuntu
mirror.aminidc.com AlmaLinux, Debian, EPEL, Mint, RHEL, Rocky, Ubuntu, Windows Server
ubuntu-mirror.kimiahost.com Ubuntu
mirror.digitalvps.ir Ubuntu
ir.ubuntu.sindad.cloud Ubuntu
ir.centos.sindad.cloud CentOS
ir.epel.sindad.cloud EPEL
mirror.faraso.org CentOS, EPEL, Virtz, Webscript, Chrome, Java
chat.shhh.ir/dl DeltaChat
mirror.atlantiscloud.ir Ubuntu, Docker Registry, npm
chabokan.net npm, Python, PHP, Docker, NuGet
abrha.net Ubuntu, AlmaLinux, Debian, EPEL, Proxmox, Avast, ClamAV
parsdev.com Ubuntu, AlmaLinux, Debian
linuxmirrors.ir Debian, Ubuntu, Fedora, Rocky, Oracle Linux

Despite everything, we adapt. We find ways to keep learning, keep building, and keep moving forward—even when the world goes dark.

I’ll share more technical details and solutions in future posts.