utoni / nDPId

Tiny nDPI based deep packet inspection daemons / toolkit.
GNU General Public License v3.0
67 stars 15 forks source link

Do you have any plans to support Mac OS X? #19

Closed jiamo closed 1 year ago

utoni commented 1 year ago

I have/had ambitions to support Windows and Mac OS X. IMHO the only thing that may cause headaches and requires some time to port is the usage of the linux only event I/O epoll.

jiamo commented 1 year ago

Could you potentially consider using the unified API abstraction layer that Redis has implemented as a reference? such like https://github.com/redis/redis/blob/7.2/src/ae.c . Just a small suggestion, awaiting your works.

utoni commented 1 year ago

There are already portable event I/O libraries available such as libuv. But I am afraid of adding a new dependency to nDPId (at least for Linux), because one of my goals of this toolkit was having minimal library dependencies. For now only libc and libpcap are a must have. libnDPI can be built and statically linked into the application from this repository via CMake.

utoni commented 1 year ago

You may now try the add/event-io-abstraction branch. The newly added event I/O abstraction layer should make it possible to use nDPId and nDPIsrvd within BSD and Mac. Please report any errors, configure/build/runtime failures included.

Cheers!

utoni commented 1 year ago

see #27 and #30