Updated version. Communicates with bridge using a WebSocket. No script injection in page.