drawbridge/README.md
2023-07-03 00:43:49 -07:00

51 lines
1.3 KiB
Markdown

<div align="center">
<img src="drawbridge.png" alt="drawbridge Logo">
# drawbridge
**drawbridge** simplifies local nfqueue queues
without sacrificing performance?<br/>
[Installation](#installation) •
[Examples](#examples) •
[Contributing](#contributing) •
[License](#license)
</div>
## Installation
### with pip
Eventually, install with `pip install drawbridge`, maybe.
For now, clone the repo, navigate to it, and run `pip install .`. You'll need a Linux system for nfqueue.
## Examples
See the examples directory for a WebSocket example.
```python
from drawbridge import DrawBridge
def my_packet_handler(raw_packet):
# do things to the raw packet, like
# from scapy.all import *
# pkt = IP(raw_packet)
# ...
# return bytes(pkt)
return raw_packet
db = DrawBridge()
db.add_queue(my_packet_handler, src_port=80)
db.run()
```
## Contributing
If you would like to contribute to this project, feel free to submit a pull request or open an issue on GitHub.
This tool was written as part of my coursework for CSC 842 - Security Tool Development at Dakota State University. Consequently, I may choose not to maintain this tool beyond the length of the course, but have selected a license that enables open contributions in any case.
## License
This project is licensed under the MIT License. See the `LICENSE` file for details.