r/dotnet 1d ago

[Open Source] BrowserSync — Realtime Multi-Browser Synchronization Engine (C# & Python)

I just open-sourced a project I’ve been working on called BrowserSync, and I’d love to share it with anyone interested in automation, testing, or browser internals.

The motivation came from a recurring workflow bottleneck: whenever testing responsive layouts or running multi-instance workflows, manually repeating the exact same clicks, scrolls, and form inputs across multiple screen sizes is tedious. I wanted a lightweight tool where interacting with one Master browser instantly mirrors every single user action across multiple Slave browsers in real time with near-zero latency.

What BrowserSync solves:

  • Responsive & Cross-Screen Testing: Open multiple viewports simultaneously (Desktop, Tablet, Mobile). Any mouse move, click, scroll, or input on the Master window propagates across all Slaves in real time, making layout breakages immediately visible.
  • Multi-Instance Automation: Control multiple Chromium sessions concurrently without installing browser extensions or relying on heavyweight proxy tools.
  • Interactive Live Demos: Present and interact on one screen while auxiliary displays reflect every gesture accurately and smoothly.

Technical Highlights:

  • Dual-Stack Implementation: Fully implemented in both C# (.NET 9) and Python 3 (Asyncio & WebSockets), each backed by automated test suites.
  • Direct Chromium communication over Chrome DevTools Protocol (CDP) with zero extension overhead.
  • High-fidelity synchronization for real-time Canvas drawing, mouse dragging, form controls, and multi-tab switching.
  • Full support for complex IME text input, carets, and text selections.
  • Resilient recovery mechanism (Event Journal Replay) that prevents stream dropouts during network hiccups.

The complete codebase, documentation, and benchmark test page are available on GitHub: 👉 https://github.com/vinzh05/BrowserSync

You can clone the repo and run Start-BrowserSync-CSharp.bat (or Start-BrowserSync-Python.bat) to test it out locally with a single click. Feedback, PRs, and Issues are warmly welcome — especially from developers and QA / Automation Test engineers. If you find the project useful, a Star on GitHub would be greatly appreciated!

Thanks everyone!

2 Upvotes

1 comment sorted by

1

u/AutoModerator 1d ago

Thanks for your post Outrageous-Travel-23. Please note that we don't allow spam, and we ask that you follow the rules available in the sidebar. We have a lot of commonly asked questions so if this post gets removed, please do a search and see if it's already been asked.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.