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:
- https://web.eitaa.com/
- https://web.bale.ai/
- https://web.splus.ir/
- https://web.rubika.ir/
- https://web.igap.net/
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.