Skip to content

Releases: ihaveamac/ninfs

ninfs 2.0

25 Feb 05:44
v2.0
017935b
Compare
Choose a tag to compare
  • Fix corruption with New 3DS CTRNAND
    • This mainly affected standalone builds. If you installed ninfs through any other method, make sure you also install pyctr 0.7.4 or later.

This is a new stable release of ninfs. Compared to 2.0a11 there is only one change to fix a corruption issue. But I decided to remove the alpha label because I think it is more stable than the last "stable" release from May 2019. It will also make things easier for those who install through pip. I hope to get the AUR updated soon. AUR is now updated: normal, with gui, git, git with gui

Please file issues on GitHub if you encounter them. Support is provided on GitHub Discussions, Discord (info, invite link) or the thread on GBATemp. Thanks!

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.0-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 macFUSE or fuse-t.

The standalone release can be downloaded as ninfs-2.0-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: normal, with gui, git, git with gui

Python module installation

Python 3.8.0 or later is required. Version on PyPI

Windows

  • py -3 -mpip install ninfs==2.0

macOS

  • python3 -mpip install ninfs==2.0

Linux

  • python3 -mpip install --user ninfs==2.0
    • --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, PayPal, or Ko-Fi.

ninfs 2.0a11

30 Jan 05:29
v2.0a11
d492069
Compare
Choose a tag to compare

Warning: This release has a known issue: New 3DS CTRNAND is not decrypted properly.

  • Standalone release users: Use 2.0a10 instead.
  • Other installation methods: Use pyctr 0.7.2 or 0.7.4 instead.

  • Accept non-ASCII game titles for SRL/NDS (some homebrew applications do this)
  • Windows Installer: update pre-included WinFsp
    • The installer does not update WinFsp for you, if you want to update it, you must do it separately.
  • Linux: creating desktop entry now includes the full path to the python3 executable
  • Python 3.8 or later is required, this does not affect standalone builds
  • Update pyctr requirement to 0.7.x (standalone builds use 0.7.3)
  • Other various internal changes

Please file issues on GitHub if you encounter them. Support is provided on GitHub Discussions, Discord (info, invite link) or the thread on GBATemp. Thanks!

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.0a11-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 macFUSE or fuse-t.

The standalone release can be downloaded as ninfs-2.0a11-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...)

Python module installation

Python 3.8.0 or later is required. Version on PyPI

Windows

  • py -3 -mpip install ninfs==2.0a11

macOS

  • python3 -mpip install ninfs==2.0a11

Linux

  • python3 -mpip install --user ninfs==2.0a11
    • --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, PayPal, or Ko-Fi.

ninfs 2.0a10

07 Aug 10:06
v2.0a10
07c474c
Compare
Choose a tag to compare
  • Windows/GUI: Fix tkinter failing to find tcl/tk when installed in paths that contain non-Latin characters
  • nandhac: Fix problems loading multipart images on Linux when the mount process is not in the foreground
  • macOS: Try to load fuse-t if macFUSE can't be found (#103)
    • fuse-t is an alternative to macFUSE that doesn't depend on a kernel extension, making it easier to install on modern macOS. It should work just as well but please file issues.
  • macOS: Only display filename in volume name and not the containing directory for mounts that do this

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. Thanks!

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.0a10-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 macFUSE or fuse-t.

The standalone release can be downloaded as ninfs-2.0a10-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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

Windows

  • py -3 -mpip install ninfs==2.0a10

macOS

  • python3 -mpip install ninfs==2.0a10

Linux

  • python3 -mpip install --user ninfs==2.0a10
    • --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, PayPal, or Ko-Fi.

ninfs 2.0a9

25 Mar 01:23
v2.0a9
dfc80b9
Compare
Choose a tag to compare
  • Mac application is now signed and notarized by Apple
  • Fix not showing all drive letters in the Windows GUI mount, only A and B
  • Always set write bit in mounts (except SD)
    • This makes it easier to deal with files that have been copied out of the mount, since chmod won't be required to set the write bit.
  • Include Internet Access Policy for Little Snitch
  • Fix DMG build not properly copying the application
  • Update WinFSP url

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. Thanks!

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.0a9-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 macFUSE.

The standalone release can be downloaded as ninfs-2.0a9-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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

Windows

  • py -3 -mpip install ninfs==2.0a9

macOS

  • python3 -mpip install ninfs==2.0a9

Linux

  • python3 -mpip install --user ninfs==2.0a9
    • --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, PayPal, or Ko-Fi.

ninfs 2.0a8

30 Jan 01:28
v2.0a8
14e88f0
Compare
Choose a tag to compare
ninfs 2.0a8 Pre-release
Pre-release

This is the eighth alpha release for ninfs 2.0 with some important fixes and changes.

  • Fix inclusion of haccrypto in standalone macOS build that broke the Switch NAND mount
  • Show directory mount for NAND types on Windows (#89)
  • Show option to use dev keys in advanced options (#87)

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. Thanks!

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.0a8-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 macFUSE.

The standalone release can be downloaded as ninfs-2.0a8-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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

Windows

  • py -3 -mpip install ninfs==2.0a8

macOS

  • python3 -mpip install ninfs==2.0a8

Linux

  • python3 -mpip install --user ninfs==2.0a8
    • --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, PayPal, or Ko-Fi.

ninfs 2.0a7

27 Jan 05:08
v2.0a7
15b05ff
Compare
Choose a tag to compare
ninfs 2.0a7 Pre-release
Pre-release

This is the seventh alpha release for ninfs 2.0.

  • Universal binary for macOS, providing native Apple Silicon support
  • New "Installed SD Title Contents" mount, which works directly on decrypted SD titles (such as those inside the SD mount). Choose the TMD file inside /title/(tidhigh)/(tidlow)/content.
  • Add icon_small.png and icon_large.png inside ExeFS mounts
  • Other internal updates and changes

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. Thanks!

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.0a7-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 macFUSE.

The standalone release can be downloaded as ninfs-2.0a7-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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

Windows

  • py -3 -mpip install ninfs==2.0a7

macOS

  • python3 -mpip install ninfs==2.0a7

Linux

  • python3 -mpip install --user ninfs==2.0a7
    • --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, PayPal, or Ko-Fi.

ninfs 2.0a6

22 Jun 15:37
v2.0a6
8d7ae5d
Compare
Choose a tag to compare
ninfs 2.0a6 Pre-release
Pre-release

This is the sixth alpha release for ninfs 2.0, with some important fixes.

  • Fix Nintendo Switch NAND mount not working properly with 32-bit Python on Windows (which the standalone build uses)
  • Show partitions in Nintendo DSi NAND mount again (#82)
  • Properly support the "Quit" menu option on macOS and Command-Q (#81)

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. 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.

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.0a6-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.

The standalone release can be downloaded as ninfs-2.0a6-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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

Windows

  • py -3 -mpip install ninfs==2.0a6

macOS

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

  • python3 -mpip install ninfs==2.0a6

Linux

  • python3 -mpip install --user ninfs==2.0a6
    • --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, PayPal, or Ko-Fi.

ninfs 2.0a5

10 May 20:08
v2.0a5
f3e6702
Compare
Choose a tag to compare
ninfs 2.0a5 Pre-release
Pre-release

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. 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 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.

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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

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, PayPal, or Ko-Fi.

ninfs 2.0a4

09 Mar 03:36
v2.0a4
c0f04ab
Compare
Choose a tag to compare
ninfs 2.0a4 Pre-release
Pre-release

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. 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.

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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

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, PayPal, or Ko-Fi.

ninfs 2.0a3

26 Oct 07:04
v2.0a3
ca6f613
Compare
Choose a tag to compare
ninfs 2.0a3 Pre-release
Pre-release

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. Support is provided on my server on Discord (info, invite link) or the thread on GBATemp. 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.

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.

Python module installation

Python 3.6.1 or later is required. Version on PyPI

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, PayPal, or Ko-Fi.