The homepage for this project is hosted on GitHub: https://github.com/frebib/netstack
IF YOU ARE USING THIS CODE FOR ANY PURPOSE, PLEASE USE THE LATEST CODE FROM GITHUB ABOVE PRs and issues are always accepted and I'm happy to help with squashing on of the millions of bugs I left lying around :)
- libnetstack - A full userspace network stack implementation in a library
- libnshook - A bootstrap library to inject netstack into a dynamic executable at runtime
- netstack-run - A bootstrap script to preload libnshook and libnetstack at runtime, for convenience
- httpget - A basic GET request tool given a host and port
- netd - A network daemon to process and control network communications, using libnetstack
It should be noted that until a far distant time, there is no guarantee of API or ABI stability. Most things can and likely will change, until a stable release (if ever).
# Build everything
make
# Install to the local filesystem
sudo make install PREFIX=/usr/local
Available targets are as follows:
libnetstack.so
- Network stack librarylibnshook.so
- Injection librarynetd
- Main binary, will also buildlibnetstack.so
build
- Same asnetd
doc
- Builds man-pages and documentationinstall
- Installs everything into the filesystem
mkdir build
cd build
cmake ..
make
Until such time that automated detection of extra features is added through autotools/autoconf, they have to be specified manually for now.
GNU extensions such as named pthreads can be enabled with
CFLAGS=-D_GNU_SOURCE make ..