This is a node js implementation of Apples Network Midi Protocol aka RTP Midi. It can act as both a session initiator and session listener. I can also detect remote sessions via bonjour/mdns. The recovery journal is not supported at the moment.
There is also a port of this library to the chrome apps platform: rtpmidi-chrome