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

Add netcontrol #28

Draft
wants to merge 15 commits into
base: dev
Choose a base branch
from
Draft

Add netcontrol #28

wants to merge 15 commits into from

Conversation

pixup1
Copy link
Member

@pixup1 pixup1 commented Oct 16, 2024

Description

This PR adds full (or near-full) netcontrol functionnality, for managing device connections via nftables. It concerns both netcontrol itself and the components inside the backend needed to interface with it (that doesn't mean the entire Langate pipeline is working, just that the backend and netcontrol can communicate).

This also adds all the necessary documentation about netcontrol, the way it works, and the way it interfaces with the backend.

Related Issues

A number of issues need to be adressed before submitting this PR for review :
#16 #17 #18 #19 #20 #21 #22 #29

And probably some more that have not been opened yet.

Checklist

  • I have tested the changes locally and they work as expected.
  • I have tested the responsiveness of the changes and they work as expected.
  • I have assigned the pull request to the appropriate reviewer(s).
  • I have added labels to the pull request, if necessary.

@pixup1 pixup1 added enhancement New feature or request priority: emergency Netcontrol Netcontrol thing Back backend thing labels Oct 16, 2024
@@ -0,0 +1,15 @@
FROM python:3.12-alpine3.19
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the Dockerfile.dev is the same as the dockerfile, why not using a single file ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just did this in case we needed a different setup for them later

SkytAsul and others added 14 commits October 28, 2024 14:32
* Added connect_user, delete_user and set_mark methods

* Handled deleting non existent device exception + added logging

* Add nftables documentation

* Remove mark checking in backend + raise errors properly

* Change add device HTTP error to 500

* Add set for backwards compatibility with nftables v1.0.6

* Fix and clean up a few things

* Fix set_mark

* Add ip range match

* Update doc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Back backend thing enhancement New feature or request Netcontrol Netcontrol thing priority: emergency
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants