Yes, unfortunately mermaid requires not only node but also a browser instance (!!). I don't like it at all but I don't think there's any alternatives. If you or anyone knows a way of avoiding installing a javascript package to do this please create an issue in the repo!
I would love to hear specifics on how you couldn't get the layout looking how you wanted it to. e.g. do you have a link to the presentation you did? Feel free to shot me an email at gmail, it's easily findeable online.
See the sibling comment. This is a new protocol that the kitty maintainer created and is supported as of kitty 0.40.0, which was just released yesterday. This makes presentations look much more presentation-like now!
I built presenterm (https://github.com/mfontanini/presenterm). Also a terminal based presentation tool which uses markdown, and supports images, PDF exports, etc.
Developer here. There's alternatives that don't throw but the example is mostly so people look at it and say "ah, cool, this is actually simple to use". I normally still use this throw-version of doing things when I just need to quickly do something, as in reality in most cases I don't care about performance for specific 10 line code snippets.
If you want to do things right, you can read the docs and use the appropriate API call (like using the non throwing PDU::find_pdu, use bpf filters, etc).
libpcap does support it. As for Winpcap, I don't know.
Yes, libtins uses libpcap to capture packets (and also to send, if you're using Windows), so basically if winpcap supports it, then it should work on libtins.
This library uses libpcap to capture packets/read them from a pcap file. When you sniff using libpcap you just get a pointer to the packet and the packet size, you then have to parse the packet appropriately to do something useful with it.
What libtins adds is the ability to parse and assemble packets easily. Parsing is automatic, so you won't need to be checking protocol fields to determine how to parse it: it will all be handled by the library.
I've managed to compile it on Windows using Visual Studio. It's in my TODO list to write a tutorial on the site on how to do so. Hopefully I'll do that on the next few days.
You can't drop the original traffic using the library. You could capture it, modify it and send it though. That + some iptables rules to drop the original traffic would be sufficient I guess.
I started this project with a colleague near the end of 2012, and I've continued development on my own since 2013. The first months of development implied a lot of work, but then just a couple of hours a week to fix bugs or improve some mechanisms.