Automate Tasks On Network Change In Linux With This Program

You’re traveling for the holidays. You’re at a coffeeshop. And so on. You connect to different networks, and want to spin up (or down) various processes depending on what network you’ve connected to, and whether or not you trust them.

That’s what network-middle-manager does.

This is written in the spirit of Cuttlefish, which was an ambitious (and needed!) automation driver for linux…which hasn’t been updated for a decade and doesn’t currently run/compile on my system.

I had written a very kludgy, very awkward script that kind of handled that, but it was so bad and flaky that even I didn’t use it much. So I’ve rewritten it entirely. It’s in BASH so that it hopefully is more resistant to bitrot and is easily hackable by others.


  • is focused on running tasks on network change
  • runs tasks in userspace, not as root
  • assumes all networks are untrusted unless explictly configured otherwise
  • works with both network-manager and wicd
  • uses a simple “plugin” style system for you to define what tasks to do where
  • uses YAD to provide an (optional) simple GUI to add tasks
  • has a cute octopus as a mascot

Dependencies, step by step installation, and so on are available on GitHub, GitLab, or my repository.

Featured Photo by Diane Picchiottino on Unsplash