Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Conjure Full Golang Station #92

Open
wants to merge 15 commits into
base: master
Choose a base branch
from
Open

Conversation

jmwample
Copy link
Member

@jmwample jmwample commented Jun 2, 2021

Issue

The multi-part station using both rust and golang is inflexible and difficult to transpose to new environments. The complicated high performance packet ingest using PF_Ring and Rust is not necessary everywhere, especially in testing environments.

Solution

Add a detector module that mimicks the high-performance rust system without the complex threading constraints. This also requires a Tun interface that allows the golang detector to pass packets over unix tun interface(s) to the application portion of the station.

When complete this PR will (in theory) allow for the station to be run in one of three ways.

  1. High Performance Rust detector, golang application.
  2. Golang detector and golang application run in two separate processes
  3. Combined golang station that runs detector and station together and removes redis dependency.

Notes:

  • This is currently a work in progress as multiple pieces still need tested, integrated, and sewn together.
  • Currently this PR does not plan to support the decoy registrar (left for a future issue) as it will require re-implementing more complex modules and wrapping libtapdance C code. For that reason the golang station will primarily be used with the API registrar and other simple ZMQ ingest channels.

@jmwample jmwample changed the title [WIP] Conjure Full Goiang Station [WIP] Conjure Full Golang Station Jun 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant