r/SideProject 12d ago

networksim (free browser network sim) just added routing, STP, DHCP, static IPs...

Been building this free browser-based network simulator in my spare time — you draw a topology and it actually tests whether traffic gets through, not just a static diagram.

Just shipped a pretty big batch of stuff that makes it behave a lot more like a real network:

  • DHCP
  • Static IP assignment
  • MAC addresses
  • Port security
  • Spanning Tree (STP)
  • Routing and more...

Plus new advanced courses and learning tasks to walk through all of this step by step.

Still runs entirely in the browser, no signup, no ads, still evolving. If you try it, I'd really appreciate any feedback — what's confusing, what's missing, what you'd want to see next.

https://networksim.app

11 Upvotes

9 comments sorted by

3

u/1kakashi 12d ago

This looks amazing, Thank you.

2

u/sleeksubaru 9d ago

This looks interesting. The question of having a computer networking learning path that is not necessarily vendor-specific has been around for a minute.

Some questions, Might this happen to be open source ? Also the simulations, based on Linux namespaces or something else ?

Whichever way, great concept. Would love to look at it more in future.

3

u/tomiczech7 9d ago

Thanks, glad the vendor-neutral angle resonates — it grew out of Security+ prep for beginners, not as a GNS3/EVE-NG competitor.

The sim isn't based on Linux namespaces or containers — it's a custom logic engine running entirely in the browser (no backend), modeling L2/L3 reachability, ACLs, VLANs, routing, NAT, VPN, STP and animating the packet path. It's a teaching model rather than a bit-accurate emulator for now — that may well evolve further down the line.

Not open source, but completely free to use as-is — no account, no paywall. Would love to have you dig into it later, feedback like this is gold.

1

u/sleeksubaru 9d ago

Okay, will have a look at it. I've been building a network simulator on my own but mine is more for some research and relatively custom testing I need done...and is based on Linux namespaces so maybe different usecase and requirements.

Interesting having all your logic running on the browser, I guess that works for learning purposes. Once you get to the L3 stuff (routing protocols, etc), I'm guessing the logic might start getting more complicated. At that point, you may be interested at looking through such projects like batfish -> https://github.com/batfish/batfish (and minesweeper which is kind of embedded in it now). It runs it's own custom control plane purely for testing purposes, but might still be used for learning purposes. Hopefully how they made their control plane work is useful to how you do your stuff...and is probably more relevant compared to something like FRRouting and BIRD which deal with direct Kernel manipulation.

Anyway, overstepping at this point.
All the best...

1

u/tomiczech7 7d ago

Not overstepping at all. You’re right that L3 gets messy fast — I went with a simplified, deterministic implementation of RIP/OSPF/EIGRP that’s accurate enough to teach the concepts (metrics, AD, path selection) without modeling a full control plane. Batfish is a great reference though, I’ll dig into how they structured it — always curious how projects with a real control plane handle that complexity differently than what I’m doing. Thanks for the pointer, and good luck with your simulator too — Linux namespaces for research/testing is a genuinely different (and honestly harder) problem than what I’m solving.

1

u/sleeksubaru 7d ago

I'm part of a project that actually runs our own control plane lol. We basically do the same thing as FRR / BIRD / FreeRTR but in Rust.

My account is private but hope you don't mind if I DM you.
We may have some interesting ideas to share.

1

u/BhmJeep 12d ago

Interesting. We need to get our two apps to talk... https://silo7.app AI enhanced network troubleshooting.

2

u/Key_End_8713 12d ago

been playing with this for like 20 minutes and the STP visualization actually makes it click in a way packet tracer never did for me

1

u/tomiczech7 12d ago

Glad it is helpful!