We're working on an iOS network extension to tunnel device traffic to Tor. Tor speaks TCP SOCKS5 only, so we have a piece of code called tun2tor which reassembles TCP packets from the IP stream and pushes them into Tor and vice/versa.
This component is written in Rust and needs heavy updating. It also leverages the LwIP library, written in C.
A network extension is heavily memory constrained. It can only use 15 MB of RAM (excluding memory-mapped files and system components).
The task is to update tun2tor to use the latest Tokio dependency (was changed hugely), fix any bugs you find and optimize the Rust code and the LwIP configuration in a way, that it will stay within the 15 MB RAM limit while reassembling TCP packets out of the IP stream for webpages with dozens of JS libraries loaded from different servers and therefore dozens of simultaneous connections so it doesn't get killed by the OS all the time.
This is highly specific, and I'm only interested in people, who have a very good understanding of UNIX networking, Rust, and C. At best, you have already worked with LwIP, macOS, iOS and Tor.