Coder Social home page Coder Social logo

16bitwonder / nx-update-checker Goto Github PK

View Code? Open in Web Editor NEW
102.0 7.0 4.0 360 KB

A small console application that checks a Switch's installed contents against a provided versionlist for newer updates.

License: MIT License

Makefile 15.79% C 84.21%

nx-update-checker's Introduction

NX-Update-Checker

A small console application that checks a Switch's installed contents against a provided versionlist for newer/missing updates/DLC, and then writes the titles with newer/missing updates/DLC and the latest version to sdmc:/Available-Updates.txt.

Usage

  • In case of no internet connection, grab the latest versions.txt available from the nx-versions Repository, and save it in the same directory as NX-Update-Checker.nro
  • Run the nro with your favorite variation of the HBMenu
  • Watch the pretty text move across the screen
  • Profit(?)

Ignore List

Users can choose to ignore specific game updates and DLC if they choose by creating a file named ignore.txt and filling it out with the following structure:

  • For each line a single, whole title ID must be entered for either an update or DLC
  • That title ID may (optionally) be followed by any text/descriptor with or without a space after the title ID
  • ignore.txt must be placed in the same directory as NX-Update-Checker.nro

An example ignore.txt is shown below:

0100000000010800 Super Mario Odyssey Update
0100E95004039001 Xenoblade 2 Torna DLC
01006A800016F002 Super Smash Bros. Joker DLC

The above ignore.txt would prevent NX-Update-Checker from showing new Super Mario Odyssey updates, Xenoblade 2 Torna DLC Binary updates and Super Smash Bros. Joker DLC Binary updates.

Local Cartridge Version Database

Should a user have a cartridge inserted, the application will populate any bundled update into a local database cart_versions.txt to avoid notifying the user of an update already bundled.
E.g. if there is version v65536 on the cartridge, it will be saved. Then if the cartridge is removed the database will be read and not notify the user of updates for that title unless v131072 or higher is available.

Logging

Users can choose to produce logs while running the application for debugging purposes by creating an empty file named log.flag in the same directory as NX-Update-Checker.nro

Note however, that the application will run much slower while logging all operations it's making.

The logs will be produced at the root of the SD as a file named NXUC.log

Additional Information

This app was specifically re-written to parse the versions.txt posted in the nx-versions Repository, if you provide a versions.txt with even a slightly different format it is likely this application will not parse it correctly.

This app's downloading capability was tested with Atmosphere's prodinfo blanking, incognito and 90DNS independently.

Binary releases are built using switch-curl-7.69.1-1 to avoid connectivity issues with a blanked prodinfo.

Kudos

blawar - titledb

simontime - VersionListBot

aedalzotto - Initial downloading code

bagder - Current downloading code

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.