<div dir="ltr">Hi!<div><br></div><div>First of all, sry for my lang, not native speaker.</div><div><br><div>Totally love u work, already use it in my personal needs instead of openvpn solution. So i started working on android wireguard client (android VpnApi based on tun driver) in my free time. Already done robust VpnService (glued with JNI for using userspace wg impl) implementation + activity with simple UI.</div></div><div><br></div><div>Some thoughts about userspace impl:<br></div><div>1. It must be library, not an app.</div><div>2. I think C language is more suitable for library, than rust or go (due to portability issues).</div><div><br></div><div>Library interface could be something like that:</div><div>void wg_up(params); // create udp socket, listen for dgrams, etc</div><div>void put_data(packet); // send packet through wg (which we received from tun)</div><div>void on_new_data(packet); // callback, wg received new packet (we can put in into tun)</div><div>void wg_down();</div><div><br></div><div>The pros of lib solution is pretty clear: portability. We can even use it without tun driver, create build-in apps with lwip, for instance.</div><div><br></div><div>What do you think about that?<br></div></div>