Ninfs

ninfs is a PC tool for mounting files from Nintendo consoles.

Features
ninfs can mount and expose the contents of many different file types:
 * Nintendo 3DS
 * CTR Cart Image (".3ds", ".cci")
 * CDN contents ("cetk", "tmd", and contents)
 * CTR Importable Archive (".cia")
 * Executable Filesystem (".exefs", "exefs.bin")
 * Nintendo 3DS NAND backup ("nand.bin")
 * NCCH (".cxi", ".cfa", ".ncch", ".app")
 * Read-only Filesystem (".romfs", "romfs.bin")
 * SD Card Contents ("Nintendo 3DS" from SD)
 * Installed SD Title Contents ("*.tmd" and "*.app" files)
 * 3DSX Homebrew (".3dsx")
 * Nintendo DS / DSi
 * Nintendo DSi NAND backup ("nand_dsi.bin")
 * Nintendo DS ROM image (".nds", ".srl")
 * iQue Player
 * iQue Player NAND backup (read-only) ("nand.bin")
 * Nintendo Switch
 * Nintendo Switch NAND backup ("rawnand.bin")

Installation
The latest release can be.

Standalone on Windows
Standalone builds support Windows 8.1 or later. Windows 7 may work (until it doesn't). WinFsp must be installed.

contains WinFsp and will automatically install it if needed (though it will not update it).

requires WinFsp to be installed separately.

Standalone on macOS
contains a signed and notarized application for Macs with Apple Silicon and Intel. Requires OS X 10.9 and later. macFUSE must be installed separately.

As a Python module
ninfs is available on PyPI and can be installed like any other package. Python 3.6.1 or later is required. Support depends on the availability of libfuse 2.x or a similar implementation. Nintendo Switch NAND support requires OpenSSL 1.1 or later (pre-included for Windows and macOS).


 * Windows:
 * Linux and macOS:

Graphical interface
The GUI can be started in various ways depending on how it was installed.


 * Windows: Find "ninfs" in the Start Menu. Or run  in the standalone release.
 * macOS: Run the ninfs application. If this is the first time, Gatekeeper might ask you if you are sure you want to start it.
 * Python module: Run the  module with the   argument. Example:
 * Windows:
 * Linux and macOS:

Command line
Mount types can be accessed through the command line in all setups.


 * Windows: If added to PATH, use . For example:
 * macOS: Use the  binary in the application. For example:
 * Python module: Use the  module. For example:
 * Windows:
 * Linux and macOS:
 * Python module entrypoints: If Python is added to PATH (by default it is not on Windows), entrypoints can be used. For example: