Plugin communication between sites that use it?

You should keep some variable / configuration value where the plugin should know if it’s the main site or not.

Your plugin should put a hook over the post publishing action, and then, communicate with each of the sites of the list.

Your easy approach is to send that key as a parameter, then check if it’s correct on the endpoint, but I will recommend you to use some better and more sophisticated approach.

As the number of dummy sites could increase, I think you should implement also a way to communicate the existence of a new site on the net, so you can paste a shared key on some of your plugin fields to validate that new site on the main site, and the main site will ‘subscribe’ this new client. That key could be different than the per-site key.

The way you can communicate between sites is not difficult, http is a great protocol for communication between parts, you can use CURL ( or Guzzle ) to send POST requests between your main site to your end sites. Finally you should have some endpoint in each site to receive these calls and perform the action with the received post ( over POST call, not GET, as the contents of the original post could be bigger than GET requests can carry ).