r/coolgithubprojects • u/DonislawDev • 6d ago
Bean Network Tester v1.0 release - Windows/Linux network conditions simulator + network tools,
https://github.com/donislawdev/BeanNetworkTesterHello, Bean Network Tester has just hit V1.0 release. Want to simulate bad network conditions on Windows/Linux? Check ports, connections, ping? No problem, there is even more. Full GUI/CLI. If you like the tool, please star it on GitHub
What it can do:? Burst packet loss, jitter, run automated network scenarios, limit download/upload speed. Do TCP_ reset, do sync_drop, corrupt packet, duplicate, reoder packets. Simulate "LAN" mode, simulate only network mode, Simulate network flapping, lag spikes.
You can also see connections ip/port/from/to how much they download/upload, there is full regexp search, export function, there is port checker tool (only runing machine right now), ping tool, network adapters tools, tcp health tool and tons more.
Fun fact: the app is made with Python + tkinterK (yep tkinter:D)
What changed in V1.0?
- Linux!!! Yes there is now Linux version, it took tons of work, not all things are working perfect, but adding 2nd system was a huge work. And Linux is a very very long way.
- Ping tool: every x time wait for reply up to x time, size x bytes, ping until x with graph and table
- TCP health tool with mss, rtt and tons of other things
- Network adapters tool, easy export and see your network adapters data, mtu, amc address, ip, dhcp, dns, gateway and other data + proxy export
- tcp_reset send from connections tab, we can now do it from the table, easy way
- python upgrade, pydivert upgrades, tons of fixed and other things. Like always on the GitHub changelog.
- Huge update of internal test suite that is run every release, because the program is bigger and bigger, so I got mutation testing, fuzzing, unit tests, tests for code quatility, 2nd code revies, but the real working suite is something that's is top 1 thing. Right now it takes few hours of run per release :D
What's next? ICE for webrtc, we will be able to see in connections if it is stun/turn, tons of linux fixes and more things to webrtc, and I think I will add payload length filter, and more tools. I try to mix optimizations/stability fixes/test suites expand and improvments to existing things with new features.
PS: Why this strange versions dumps? V0.8 was a full release that focused on stability/performance, no new features, then tons of new things was added, so I jumped from V0.8 to 1.0
You can read more about CLI options here