#firecracker #networking #micro-vm

app fcnetd

A daemon process that receives rootless connections from fcnetd-client to perform rootful Firecracker microVM networking

2 unstable releases

0.2.0 Dec 1, 2024
0.1.0 Oct 27, 2024

#773 in Network programming

Download history 65/week @ 2024-10-21 68/week @ 2024-10-28 9/week @ 2024-11-04 1/week @ 2024-11-18 65/week @ 2024-11-25 58/week @ 2024-12-02 10/week @ 2024-12-09

134 downloads per month

MIT license

83KB
1.5K SLoC

fcnetd

fcnetd is a binary daemon that runs as root and receives I/O connections by listening asynchronously on a Unix socket with Tokio. While fcnetd runs as root, the socket is chown()-ed to a rootless user so that a rootless application process can connect to fcnetd, thus proxying its networking needs into a separate process without running the whole application as root.

Examples:

  • fcnetd /tmp/fcnetd.sock - listen on /tmp/fcnetd.sock and make available only to root.
  • fcnetd --uid 1000 --gid 100 /tmp/fcnetd.sock - listen on /tmp/fcnetd.sock and make available to UID 1000 and GID 100.
  • fcnetd --password abcde --uid 1000 /tmp/fcnetd.sock - listen on /tmp/fcnetd.sock accessible by UID 1000, additionally authenticate connections with the abcde password.

Dependencies

~9–19MB
~268K SLoC