Releases: ihaveamac/ninfs
ninfs 2.0
- 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
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)
- RomFS performance is improved, especially for titles that contain a large amount of files or directories
- Fix setting TWLNAND keys for devunit NANDs
- For other changes related to pyctr 0.7.x: https://github.com/ihaveamac/pyctr/blob/0.7/CHANGELOG.md
- 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
- 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
- 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
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
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
andicon_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
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)
- This was an issue in haccrypto and has since been fixed in 0.1.1: luigoalma/haccrypto@52f636f
- 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
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
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
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.