The focus is offline, but the underlying techniques work just as well across the public internet. For example, you could use https://www.npmjs.com/package/webrtc-swarm to sync the hyperlogs:
var wswarm = require('webrtc-swarm')
var signalhub = require('signalhub')
var swarm = wswarm(signalhub('p2p-map', ['https://signalhub.mafintosh.com'])
var osm = require('osm-p2p')()
swarm.on('peer', function (peer, id) {
peer.pipe(osm.log.replicate()).pipe(peer)
})