5 ms·
OpenSnitch author here ... although performances are not a big deal here because only conntrack packets are intercepted, the project will move to a C++ implemen
by evilsocket 9y ago
OpenSnitch author here ... although performances are not a big deal here because only conntrack packets are intercepted, the project will move to a C++ implementation once the current Python prototype/PoC will be complete and will prove that what I want to do is 100% doable on GNU/Linux :)
- sandGorgon 9y agoI would say that golang is good enough. But if you are interested , you could go for Rust. Multiple teams have built extremely high performance network manipulation tools in Rust - like linkerd-tcp . Unless you were planning to use Ragel.
- evilsocket 9y agoAs I said, it'll be in C++, Go is great, Rust too, but I just can't get used to their syntax :D
- cyphar 9y agoOnce I saw OpenSnitch I decided to write my own in Rust (mostly as a learning experience for myself)[1] -- it's still obviously WIP as it doesn't even filter packets yet! My intention is to make it have a remote API so that policy decisions aren't done in the daemon but are done in swappable clients. [1]: https://github.com/cyphar/whistled https://github.com/cyphar/whistled
- steveklabnik 9y agoI thought the Ragel stuff was back in.
- sandGorgon 9y agoI hoped so too. I think someone is forking it, but AFAIK it's c or ASM only.