Friendly TUI for matrix-docker-ansible-deploy that works during internet blackouts
  • Go 97.5%
  • Python 1.9%
  • Shell 0.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
vvvomit d7f17372fd Host stops sharing with ctrl+x and removes the node with ctrl+d
Someone who only hosts for the IPFS swarm had no way to stop but a
systemctl line on the server. ctrl+x disables the node and its hourly
update; ctrl+d, after asking, also deletes them, everything they
downloaded and their user. interzone-mirror's own node is docker's,
so neither is offered there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-31 01:57:50 +03:30
.forgejo/workflows Stop Forgejo reading GitHub's workflow 2026-10-27 20:15:39 +03:30
.github/workflows make builds get a version self-update understands, and a test target 2026-10-29 19:18:52 +01:00
docs Host stops sharing with ctrl+x and removes the node with ctrl+d 2026-10-31 01:57:50 +03:30
internal Host stops sharing with ctrl+x and removes the node with ctrl+d 2026-10-31 01:57:50 +03:30
scripts shots.sh wiki draws the wiki's images, a 1600x900 gallery too 2026-10-30 22:50:02 +03:30
.gitignore Initial commit: interzone TUI for matrix-docker-ansible-deploy 2026-10-24 14:48:25 +03:30
go.mod go.mod drops harmonica too 2026-10-30 22:02:50 +03:30
go.sum go.sum drops harmonica, which nothing uses any more 2026-10-30 22:02:31 +03:30
LICENSE License interzone under MIT 2026-10-26 04:55:58 +03:30
main.go Check -layout and -theme before -reset moves anything aside 2026-10-29 19:18:52 +01:00
Makefile make builds get a version self-update understands, and a test target 2026-10-29 19:18:52 +01:00
README.md README links the wiki's screenshot gallery 2026-10-30 22:50:02 +03:30

interzone

Guides: Setup guide · Blackout mode · Components · Screenshots

راهنماها: راهنمای نصب · حالت قطعی · مؤلفه‌ها · تصاویر برنامه

Also on GitHub's wiki.

for autisaman

ok so this thing exists bc of u which is honestly the most useful thing uve done since u started a telegram channel to post rimbaud quotes for people a decade younger than u. pushing 30 btw. we know

every mirror every bridge every stupid little button u can click now. its the first link of yours anyone will ever actually click. nobody clicked the spotify ones. we all saw the new feature. we know u know

with love
not that much of it
working mirrors
green checkmarks
deploys that dont fail at 4am which is when u'd be awake anyway
for you

anyway everything cool in this repo was me and everything cringe was because of you. hope that clears things up دمت گرم </3

A friendly terminal wizard for matrix-docker-ansible-deploy (MDAD). Pick a homeserver, tick the bridges, bots and services you want, and interzone writes the inventory and runs the playbook for you, with a live progress view.

It is built to keep working during a country-wide internet blackout: every download can come from mirrors inside the country, or from other interzone servers over IPFS.

interzone's welcome screen

Screenshots

The Server step

Server: where it runs, where downloads come from, HTTPS and networking, in one form.

Picking bridges, clients and services

Components: 63 bridges, bots, clients and services.

The Manage menu

Manage the server: updates, users, backups, rollback, logs and more.

Managing the server's users

Users: totals, a card per person, search, filter and sort.

The server's dashboard

Dashboard: CPU, memory, disk, containers and certificates, live.

The IPFS swarm's map of Iran

IPFS swarm: every node sharing the mirror, placed on a map of Iran, with what each sends and receives.

Community

Need help, found a bug, or just like the project? Join the Matrix space #interzone:foid.ir or the Telegram group.

Features

  • Any homeserver: Synapse, Continuwuity, Tuwunel, Conduit or Dendrite, with presets to start from and 63 bridges, bots, clients and services to pick.
  • Blackout-ready: the playbook, roles, container images and OS, Docker and Python packages can all come from mirrors inside the country, or from other interzone servers over a private IPFS swarm. Blackout mode checks the mirrors against your server and switches to one that has everything.
  • Checks before and after: server, ports, firewall, DNS, federation and what Element X needs, before anything is touched; the playbook's self-check after.
  • Manage the server: updates with a preview, users, rooms, sign-up tokens, backups and restores, rollback, alerts, a dashboard, logs and every playbook setting.
  • Several servers, taking over one set up by hand, fully offline installs, and a phone layout for Termux.

Everything in detail: docs/features.md.

Build

make            # static binary ./interzone

It needs git, ssh and Ansible at run time (interzone can install Ansible itself). How to build in a blackout from interzone's mirror, and how to run the tests: docs/usage.md.

Use

./interzone           # the wizard (or Manage, once installed)
./interzone apply     # deploy with saved answers, without the wizard
./interzone check     # test mirrors, the server and DNS

The wizard walks through Server, Homeserver, Components, Settings and Review; ? lists every key of the screen you're on, and everything works with the mouse too. Options, keys, the command line, offline bundles and where files live: docs/usage.md.

License

MIT, see LICENSE. The playbook interzone drives, matrix-docker-ansible-deploy, is AGPL-3.0 and keeps its own license. The Host map's IP locations and networks are DB-IP Lite (CC BY 4.0) and its borders Natural Earth (public domain).