Arka161 / yanu

Yet Another NSP Updater for Skyline

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

yanu

Yet Another NSP Updater for Skyline

Consider starring 🌟 the project if it helped


About

Yanu is a Nintendo Switch ROM updater made to be compatible with Skyline. The supported platforms currently consist of Android w/Termux, Linux and Windows.

The software is to act as sort-of a band-aid until Skyline supports Updates/DLCs natively.

Warning - Doesn't support DLCs.

Precompiled binaries are available from the GitHub releases page.

Supported File Types

  • NSP
  • XCI
  • NSZ

Note - Support for others might be added.

Installation

Android w/Termux

Check out Video Tutorial by Zerokimchi for Android. (outdated command in the video)

  1. Download & Install Termux from F-droid.
  2. Copy-paste the following in Termux and hit enter:
bash <(curl -L https://raw.githubusercontent.com/nozwock/yanu/main/scripts/yanu-bootstrap-termux.sh)

Relevant resources:

Linux

  1. Make sure dependencies required to build hactool/hacPack are installed on your system.
    git gcc make binutils libjpeg
  2. Download & give executable permission to yanu:
    chmod +x yanu-x86_64-unknown-linux-musl

Windows

Note
Since the builds are not code-signed, some AVs might false positively flag the program as malicious.
Not much can be done about it since I'm not willing to pay for those expensive certs.
Use these with common sense if you're paranoid ig 😩 -

Usage (CLI only)

View CLI help with:

yanu --help

For updating a ROM:

yanu --keyfile '/path/to/keyfile' update --base '/path/to/base' --update '/path/to/update'

Set a new Roms Directory (Used in update-prompt) with:

yanu config --roms-dir '/new/path/here'

For unpacking ROMs:

yanu unpack --base '/path/to/base' --update '/path/to/update'

OR, for only unpacking a single ROM:

yanu unpack --base '/path/to/base'

For repacking unpacked ROM data:

yanu repack --controlnca './base+update.bylies/patchdata/123456.nca' --romfsdir './base+update.bylies/romfs' --exefsdir './base+update.bylies/exefs'

Note

  • The above examples were for *nix systems, adapt them appropriately for Windows (Replacing / with \ and with proper path to the executable).
  • Control NCA is usually the NCA around ~1MiB in size.
  • Yanu will only accept Control Type NCA, so you can atleast figure out the Type by trial & error incase it's too hard to guess.

Directories Used

Used for Windows Linux
Keys %USERPROFILE%\.switch $HOME/.switch
Cache %LOCALAPPDATA%\com.github.nozwock.yanu $HOME/.cache/com.github.nozwock.yanu
Config %APPDATA%\com.github.nozwock.yanu $HOME/.config/com.github.nozwock.yanu

Special Thanks

About

Yet Another NSP Updater for Skyline

License:MIT License


Languages

Language:Rust 94.8%Language:Shell 3.6%Language:Just 1.6%