Ninfs

Latest version: v2.0

Safety actively analyzes 630169 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 7

2.0a5

This is the fifth alpha release for ninfs 2.0, with a new type and the return of the macOS standalone build.

This release is far from finished! It only has minimal testing. Some features are missing completely, some may not work correctly or at all.

This is a release that is the result of many internal changes under the hood over a year, and there are still more that are coming, before and after 2.0's full release. Testing this release is highly appreciated. Please [file issues on GitHub](https://github.com/ihaveamac/ninfs/issues). Support is provided on my server on Discord ([info](https://ihaveahax.net/view/Discord), [invite link](https://discord.gg/YVuFUrs)) or [the thread on GBATemp](https://gbatemp.net/threads/483362/). Thanks!

Note about Windows 7

Due to Microsoft discontinuing support for Windows 7, this platform is no longer supported. As soon as the standalone release is updated to use Python 3.9, it will not start. It should still work when used as a Python module, but issues specific to Windows 7 may not be fixed.

Additions and other changes

* A new type was introduced: [iQue Player](https://en.wikipedia.org/wiki/IQue_Player) NAND backups (nandbb). Currently read-only. Thanks to Jhynjhiruu for implementing this! #77
* The macOS standalone build is back and uses PyInstaller. It no longer automatically starts with Terminal. It also works when launched inside the DMG unlike before.
* It is not ready for Apple Silicon / M1 devices! If you're using one, you might need to install Python, then install ninfs as a package with pip instead. (Or run from the repo.)
* It's still not signed, so Gatekeeper will get in the way. On Big Sur you might need to control-click and choose "Open" twice to get the option to open it.
* Centralize all mount info into a module called `mountinfo` to make adding new types easier in the future. See DEVELOPMENT.md for details.
* Fix total size display
* Relax pyctr requirement to `>=0.4,<0.5` (meaning any 0.4.X version)

------

Installation

Windows

The installer includes ninfs and WinFsp. This is the easiest way to use the application.

The standalone release can be downloaded as **ninfs-2.0a5-win32.zip** below the notes. Extract and run `ninfsw.exe` (or `ninfs.exe` to have a console attached).

ninfs can also be used as a Python module below.

macOS

macOS users need [FUSE for macOS](https://github.com/osxfuse/osxfuse/releases/latest).

The standalone release can be downloaded as **ninfs-2.0a5-macos.dmg** below the notes. Open the disk image, optionally copy to the Applications folder, and run ninfs.

ninfs can also be used as a Python module below.

Linux

Install as a pip module like below. To use the gui, make sure tkinter is installed. This is `python3-tk` on Debian/Ubuntu and `python3-tkinter` on Fedora.

Arch Linux: (AUR git package still needs updates, please wait...)

BSD/etc.

No idea. It might work! I would like to make sure ninfs works on these systems too, so feel free to file issues or make PRs for compatibility with BSD or other systems that support libfuse.

fusepy should support FreeBSD and OpenBSD. For anything else you should consider adding support to [refuse](https://github.com/pleiszenburg/refuse).

Python module installation

Python 3.6.1 or later is required. [Version on PyPI](https://pypi.org/project/ninfs/2.0a5/)

Windows

- `py -3 -mpip install ninfs==2.0a5`

macOS

The 10.6 variant of Python is not supported for Nintendo Switch NAND/NANDHAC types.

- `python3 -mpip install ninfs==2.0a5`

Linux

- `python3 -mpip install --user ninfs==2.0a5`
- `--user` is not required if you are using a virtualenv.

------

A little something extra...

If my tools have helped you in some way then please consider supporting me on [Patreon](https://patreon.com/ihaveahax), [PayPal](https://paypal.me/ihaveamac), or [Ko-Fi](https://ko-fi.com/ihaveahax).

2.0a4

This is the fourth alpha release for ninfs 2.0, with even more fixes and improvements.

This release is far from finished! It only has minimal testing. Some features are missing completely, some may not work correctly or at all.

This is a release that is the result of many internal changes under the hood over a year, and there are still more that are coming, before and after 2.0's full release. Testing this release is highly appreciated. Please [file issues on GitHub](https://github.com/ihaveamac/ninfs/issues). Support is provided on my server on Discord ([info](https://ihaveahax.net/view/Discord), [invite link](https://discord.gg/YVuFUrs)) or [the thread on GBATemp](https://gbatemp.net/threads/483362/). Thanks!

Note about Windows 7

Due to Microsoft discontinuing support for Windows 7, this platform is no longer supported. As soon as the standalone release is updated to use Python 3.9, it will not start. It should still work when used as a Python module, but issues specific to Windows 7 may not be fixed.

Fixes and other changes

* ExeFS: Only try to decompress `.code` if it exists
* GUI: Don't try to set window icon on non-Windows platforms (might be fixed for Linux/etc later)
* NCCH: Fix volume name display, breaking the mount on Windows and macOS
* GUI: Fix importing fusepy and displaying error if it fails
* CDN: Actually use decrypted titlekey specified with `--dec-key` (was completely non-functional)
* Require pyctr==0.4.6 (only relevant to non-standalone build users)

------

Installation

Windows

The installer includes ninfs and WinFsp. This is the easiest way to use the application.

The standalone release can be downloaded as **ninfs-2.0a4-win32.zip** below the notes. Extract and run `ninfsw.exe` (or `ninfs.exe` to have a console attached).

ninfs can also be used as a Python module below.

macOS

macOS users need [FUSE for macOS](https://github.com/osxfuse/osxfuse/releases/latest).

No standalone build is provided yet. cx_Freeze was giving me problems. Sorry! I really want to fix this soon but decided to focus more of my time on the core application first.

For the time being, install it as a Python module below.

Linux

Install as a pip module like below. To use the gui, make sure tkinter is installed. This is `python3-tk` on Debian/Ubuntu and `python3-tkinter` on Fedora.

Arch Linux: (AUR git package still needs updates, please wait...)

BSD/etc.

No idea. It might work! I would like to make sure ninfs works on these systems too, so feel free to file issues or make PRs for compatibility with BSD or other systems that support libfuse.

fusepy should support FreeBSD and OpenBSD. For anything else you should consider adding support to [refuse](https://github.com/pleiszenburg/refuse).

Python module installation

Python 3.6.1 or later is required. [Version on PyPI](https://pypi.org/project/ninfs/2.0a4/)

Windows

- `py -3 -mpip install ninfs==2.0a4`

macOS

The 10.6 variant of Python is not supported for Nintendo Switch NAND/NANDHAC types.

- `python3 -mpip install ninfs==2.0a4`

Linux

- `python3 -mpip install --user ninfs==2.0a4`
- `--user` is not required if you are using a virtualenv.

------

A little something extra...

If my tools have helped you in some way then please consider supporting me on [Patreon](https://patreon.com/ihaveahax), [PayPal](https://paypal.me/ihaveamac), or [Ko-Fi](https://ko-fi.com/ihaveahax).

2.0a3

This is the third alpha release for ninfs 2.0, with more fixes and improvements.

This release is far from finished! It only has minimal testing. Some features are missing completely, some may not work correctly or at all.

This is a release that is the result of many internal changes under the hood over a year, and there are still more that are coming, before and after 2.0's full release. Testing this release is highly appreciated. Please [file issues on GitHub](https://github.com/ihaveamac/ninfs/issues). Support is provided on my server on Discord ([info](https://ihaveamac.github.io/discord.html), [invite link](https://discord.gg/YVuFUrs)) or [the thread on GBATemp](https://gbatemp.net/threads/483362/). Thanks!

Note about Windows 7

Due to Microsoft discontinuing support for Windows 7, this platform is no longer supported. As soon as the standalone release is updated to use Python 3.9, it will not start. It should still work when used as a Python module, but issues specific to Windows 7 may not be fixed.

Fixes and other changes

* GUI: Fix opening URLs in "About" window

* GUI: Check if libfuse works

* nandctr: Fix keyslot for sector0x96 (58)

* GUI: Add manual seed input for cdn, cia, and ncch (31)

* cdn: Rewrite to use pyctr.type.cdn (67)

* nandhac: Add nandnx alias

* GUI: Add Python version to "About" window

* GUI: Ask before closing if any mounts exist

* RomFS: Fix mounting from filename (pyctr issue)

* ExeFS: Fix mounting from filename (pyctr issue)

------

Installation

Windows

The installer includes ninfs and WinFsp. This is the easiest way to use the application.

The standalone release can be downloaded as **ninfs-2.0a3-win32.zip** below the notes. Extract and run `ninfsw.exe` (or `ninfs.exe` to have a console attached).

ninfs can also be used as a Python module below.

macOS

macOS users need [FUSE for macOS](https://github.com/osxfuse/osxfuse/releases/latest).

No standalone build is provided yet. cx_Freeze was giving me problems. Sorry! I really want to fix this soon but decided to focus more of my time on the core application first.

For the time being, install it as a Python module below.

Linux

Install as a pip module like below. To use the gui, make sure tkinter is installed. This is `python3-tk` on Debian/Ubuntu and `python3-tkinter` on Fedora.

Arch Linux: (AUR git package still needs updates, please wait...)

BSD/etc.

No idea. It might work! I would like to make sure ninfs works on these systems too, so feel free to file issues or make PRs for compatibility with BSD or other systems that support libfuse.

fusepy should support FreeBSD and OpenBSD. For anything else you should consider adding support to [refuse](https://github.com/pleiszenburg/refuse).

Python module installation

Python 3.6.1 or later is required. [Version on PyPI](https://pypi.org/project/ninfs/2.0a2/)

Windows

- `py -3 -mpip install ninfs==2.0a3`

macOS

The 10.6 variant of Python is not supported for Nintendo Switch NAND/NANDHAC types.

- `python3 -mpip install ninfs==2.0a3`

Linux

- `python3 -mpip install --user ninfs==2.0a2`
- `--user` is not required if you are using a virtualenv.

------

A little something extra...

If my tools have helped you in some way then please consider supporting me on [Patreon](https://patreon.com/ihaveahax), [PayPal](https://paypal.me/ihaveamac), or [Ko-Fi](https://ko-fi.com/ihaveahax).

2.0a2

This is the second alpha release for ninfs 2.0, featuring an installer for Windows.

This release is far from finished! It only has minimal testing. Some features are missing completely, some may not work correctly or at all.

This is a release that is the result of many internal changes under the hood over a year, and there are still more that are coming, before and after 2.0's full release. Testing this release is highly appreciated. Please [file issues on GitHub](https://github.com/ihaveamac/ninfs/issues). Support is provided on my server on Discord ([info](https://ihaveamac.github.io/discord.html), [invite link](https://discord.gg/YVuFUrs)) or [the thread on GBATemp](https://gbatemp.net/threads/483362/). Thanks!

Windows Installer

An installer is available for Windows. This includes WinFsp, which is automatically installed if it isn't already. It also can add a Start Menu entry, and add the installation directory to PATH for command line usage.

A standalone zip is still available.

Note about Windows 7

Due to Microsoft discontinuing support for Windows 7, this platform is no longer supported. As soon as the standalone release is updated to use Python 3.9, it will not start. It should still work when used as a Python module, but issues specific to Windows 7 may not be fixed.

Other features and changes

* GUI: Support single partition dumps for Nintendo Switch NAND/NANDHAC

* About window updated to display licenses for included software and libraries

* hac crypto module is separated to its own module: https://github.com/luigoalma/haccrypto

* As a result, ninfs wheels no longer contain binary code and are cross-platform.

* GUI: Fix SD wizard

* GUI: Use console process if GUI has no console

* This means that a cx_Freeze error dialog won't appear if the mount exits with an error.

* Standalone Windows build now has two executables: ninfs and ninfsw. The latter starts without a console attached.

* Add ninfsw entry point to setup.py to start without a console on Windows (no effect on other platforms)

* Support providing a mount type to "ninfs" when run as a module, matching Windows standalone releases

* Some others I probably forgot

------

Installation

Windows

The installer includes ninfs and WinFsp. This is the easiest way to use the application.

The standalone release can be downloaded as **ninfs-2.0a2-win32.zip** below the notes. Extract and run `ninfsw.exe` (or `ninfs.exe` to have a console attached).

ninfs can also be used as a Python module below.

macOS

macOS users need [FUSE for macOS](https://github.com/osxfuse/osxfuse/releases/latest).

No standalone build is provided yet. cx_Freeze was giving me problems. Sorry! I really want to fix this soon but decided to focus more of my time on the core application first.

For the time being, install it as a Python module below.

Linux

Install as a pip module like below. To use the gui, make sure tkinter is installed. This is `python3-tk` on Debian/Ubuntu and `python3-tkinter` on Fedora.

Arch Linux: (AUR git package still needs updates, please wait...)

BSD/etc.

No idea. It might work! I would like to make sure ninfs works on these systems too, so feel free to file issues or make PRs for compatibility with BSD or other systems that support libfuse.

fusepy should support FreeBSD and OpenBSD. For anything else you should consider adding support to [refuse](https://github.com/pleiszenburg/refuse).

Python module installation

Python 3.6.1 or later is required. [Version on PyPI](https://pypi.org/project/ninfs/2.0a2/)

Windows

- `py -3 -mpip install --upgrade ninfs==2.0a2`

macOS

The 10.6 variant of Python is not supported for Nintendo Switch NAND/NANDHAC types.

- `python3 -mpip install --upgrade ninfs==2.0a2`

Linux

- `python3 -mpip install --upgrade --user ninfs==2.0a2`
- `--user` is not required if you are using a virtualenv.

------

A little something extra...

If my tools have helped you in some way then please consider supporting me on [Patreon](https://patreon.com/ihaveahax), [PayPal](https://paypal.me/ihaveamac), or [Ko-Fi](https://ko-fi.com/ihaveahax).

2.0a1

This is the first alpha release for ninfs 2.0, featuring a completely new GUI.

This release is far from finished! Some features are missing completely, some may not work correctly or at all. Notably, no macOS application is available at the moment (but can still be used as a Python module).

This is a release that is the result of many internal changes under the hood over a year, and there are still more that are coming, before and after 2.0's full release. Testing this release is highly appreciated. Please [file issues on GitHub](https://github.com/ihaveamac/ninfs/issues). Support is provided on my server on Discord ([info](https://ihaveamac.github.io/discord.html), [invite link](https://discord.gg/YVuFUrs)) or [the thread on GBATemp](https://gbatemp.net/threads/483362/). Thanks!

New GUI

* Supports multiple mounts within a single instance

* Creating a new mount uses a simple wizard, with some fields auto-filled where possible

* Console is hidden by default on Windows

Other new features

* NANDHAC: Support for mounting a single partition dump (PRODINFOF, PRODINFO, SYSTEM, USER) (not in the GUI yet)

* NCCH/CIA/CDN: Support providing a seed directly (not in the GUI yet)

Other changes

* NANDHAC: Don't open NAND in read-write mode if mount is created read-only

* NANDHAC: Handle missing BIS keys by hiding partitions without available keys

* CCI/CDN/CIA/NCCH: Show partial game title in the volume name on Windows

* SRL: Show game title in volume name

* NANDCTR: Show Device ID in volume name

Removed or missing features

* On Windows, only drive letters can be used as a mount. (Directory mount points can still be used through the command line.)

* The side effect of this is that NAND types aren't usable with OSFMount, unless ninfs is run as administrator.
* This should hopefully not be an issue once FAT filesystem mounting is added to ninfs, removing the need for OSFMount or similar tools.

* This _might_ come back in a future release.

* The GUI doesn't check if libfuse works.

* Since boot9 and seeddb can be set during the mount wizard, there is no feature to copy these files to the common locations. This might be added later. Files in these locations are still automatically used.

* The Nintendo Switch NAND/NANDHAC wizard currently doesn't support choosing a single partition dump, instead expecting a full NAND image (full or split). This can still be done from the command line.

* The 3DS and DSi NAND mounts don't show individual partitions for ctrnand and twlnand anymore. Instead there is only `ctrnand_full.img` and `twlnand_full.img`.

* Nintendo 3DS SD mounts hide the "Nintendo DSiWare" directory. Due to the encryption of the files inside, supporting this like GodMode9 requires more effort. Until these files can be decrypted properly, exposing this directory as-is will only cause problems.

* root notice no longer shows for Linux/macOS.

* No standalone Windows 64-bit build is provided yet.

* The standalone Windows build has no version with a console attached, making command line use with nearly impossible. Please install ninfs as a Python module if this is important right now. This will be resolved in the next release.

* "About" dialog is unfinished.

There are most definitely other changes that I left out on accident.

Library versions in the Windows standalone release:

* Python 3.8.5 32-bit

* pyctr 0.4.3

* pycryptodomex 3.9.8

* cx-Freeze 6.2

------

Installation

Windows

Windows users need [WinFsp](http://www.secfs.net/winfsp/rel/).

The standalone release can be downloaded as **ninfs-2.0a1-win32.zip** below the notes. Extract and `ninfs.exe`.

ninfs can also be used as a Python module below.

macOS

macOS users need [FUSE for macOS](https://github.com/osxfuse/osxfuse/releases/latest).

No standalone build is provided yet. cx_Freeze was giving me problems. Sorry! I really want to fix this soon but decided to focus more of my time on the core application first.

For the time being, install it as a Python module below.

Linux

Install as a pip module like below. To use the gui, make sure tkinter is installed. This is `python3-tk` on Debian/Ubuntu and `python3-tkinter` on Fedora.

Arch Linux: (AUR git package still needs updates, please wait...)

BSD/etc.

No idea. It might work! I would like to make sure ninfs works on these systems too, so feel free to file issues or make PRs for compatibility with BSD or other systems that support libfuse.

fusepy should support FreeBSD and OpenBSD. For anything else you should consider adding support to [refuse](https://github.com/pleiszenburg/refuse).

Python module installation

Python 3.6.1 or later is required. [Version on PyPI](https://pypi.org/project/ninfs/2.0a1/)

Windows

Wheels are provided for 32-bit and 64-bit versions of 3.6, 3.7, and 3.8.

- `py -3 -mpip install --upgrade ninfs==2.0a1`

macOS

Wheels are provided for the macOS 10.9 variants of 3.6, 3.7, and 3.8. The hac._crypto module will not build with the 10.6 variants.

- `python3 -mpip install --upgrade ninfs==2.0a1`

Linux

- `python3 -mpip install --upgrade --user ninfs==2.0a1`
- `--user` is not required if you are using a virtualenv.

------

A little something extra...

[The first commit](https://github.com/ihaveamac/ninfs/commit/f2663add162b377fde91e3726dc587f8e611c55c) for ninfs, at the time called fuse-3ds, happened just over 3 years ago on August 14, 2020. Back then it was just a collection of independent mounting scripts. Now it's evolved to be my largest project with support for many types for Nintendo consoles.

If my tools have helped you in some way then please consider supporting me on [Patreon](https://patreon.com/ihaveahax), [PayPal](https://paypal.me/ihaveamac), or [Ko-Fi](https://ko-fi.com/ihaveahax).

1.7b2

Warning: Using the GUI on macOS 10.14.6 will crash WindowServer and force you back to the login screen. The issue can be followed here: http://github.com/pyinstaller/pyinstaller/issues/4334

Page 2 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.