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.