PcapPlusPlus is a multi-platform C++ library for capturing, parsing and crafting of network packets. It is designed to be efficient, powerful and easy to use.
PcapPlusPlus enables decoding and forging capabilities for a large variety of network protocols. It also provides easy to use C++ wrappers for the most popular packet processing engines such as libpcap, WinPcap, DPDK, eBPF AF_XDP and PF_RING.
This repo contains the content for PcapPlusPlus web-site.
The project itself can be found here: https://github.com/seladb/PcapPlusPlus
- Git
- Docusaurus
-
Clone this repo:
git clone https://github.com/PcapPlusPlus/pcapplusplus.github.io.git
-
Install dependencies:
Using npm:
npm ci
Or using yarn:
yarn install --frozen-lockfile
-
Start the web-site:
Using npm:
npm start
Or using yarn:
yarn run start
-
If the browser doesn't open automatically browse to
http://localhost:3000
This web-site is built using Docusaurus.
The API reference is generated using Doxygen. The Doxygen files are located under the static/api-docs/<version>/doxygen
directory and include the Doxyfile
file and mainpage.dox
which is the API main page.
Most of the content is organized in MDX files which are easy to generate and maintain and can include React components for extended capabilities. Some pages like the landing page and the versions page are pure React (tsx
) pages. The API reference is static HTML files which are generated by Doxygen.
You are more than welcome to contribute to this web-site. You can do that by either opening issues on GitHub or by adding/modifying content and create a PR.
If you don't have a GitHub user you can also contact us by email: mailto:pcapplusplus@gmail.com
If you decide to create a PR please make sure you:
- Run the changes locally to make sure they're working. Please refer to the Getting Started section to learn how
- Test the changes on different browsers
- Test the changes on both desktop and mobile. You don't really have to run it on a mobile device, each desktop browser offers a mobile view of the page
- If you include new images or icons, make sure they are visible in both light mode and dark mode