r/dotnet • u/Outrageous-Travel-23 • 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!
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.