Skip to content

ninfs 2.0a4

Pre-release
Pre-release
Compare
Choose a tag to compare
@ihaveamac ihaveamac released this 09 Mar 03:36
· 112 commits to 2.0 since this release
v2.0a4
c0f04ab

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.