#statistics #mnt #arigato

arigato

barebones Rust framework for creating and serving a 9p filesystem

3 unstable releases

Uses new Rust 2024

0.2.1 Feb 24, 2025
0.2.0 Oct 9, 2024
0.1.0 Apr 13, 2024

#434 in Filesystem

MIT license

110KB
2K SLoC

Arigato! Plan 9! In Rust!

For those not yet in on the bit, "Mr. Roboto" is a song by Styx. Styx is also the name of the 9P protocol.


arigato!

arigato is a very barebones Rust framework for creating and serving a 9p filesystem. Running on port 564 is customary; you may need to use setcap or iptables or something to route traffic to your binary.

This currently only supports 9P2000.u; but that may change in the future. This uses nightly-only features and isn't documented. Most of this was written fairly quickly and carelessly to implement debugfs but I may keep this up to date over the next few years.

Example Usage

Given an arigato 9p server running on tcp port 5641, with a mountpoint exposed with the name foo, the following will mount it to /mnt:

$ sudo mount \
  -t 9p \
  -o trans=tcp,port=5641,version=9p2000.u,aname=foo \
  127.0.0.1 \
  /mnt

Dependencies

~3–11MB
~99K SLoC