PHP Indexer for Switch NSP

Related tags

Miscellaneous php
Overview

NSP Indexer

PHP Indexer for Switch NSP (XCI NSZ XCZ) by proconsule and jangrewe

Preview

How To

Place all files into a directory on your webserver, then copy config.defaults.php to config.php and adjust it to your needs.

Your filenames need to contain at least a Title ID in the format [0100XXXXXXXXYYYY], and Updates also need a version tag like [v1441792].

Hope you enjoy it!

Features

  • List NSP, XCI, NSZ and XCZ titles in a fancy way (Base Games, DLCs and Updates)
  • Check For latest Update version of game file (if any)
  • Compatible with tinfoil Custom Index JSON (if called with index.php/?tinfoil)
  • Compatible with DBI plaintext list (if called with index.php/?DBI)
  • Net Install (if TCP port 2000 of Switch is reachable by webserver)
  • NSP Internal TitleID Check
  • XCI Internal TitleID Check (if keys supplied)
  • NSP & XCI File Decryption
  • File Rename Based on TitleID & Version

Known Issue

  • 32Bit System suffer for >2GB limit in many way (fseek and so on) so some features are not working like Rom Info. for Windows users use php > 7.0 as also on 64bit machines lower versions have 32bit integers.

FAQ

Question: I am a 32bit system and rom info button doesn't show, why?

Answer Rom info button is disabled on 32bit system. sorry but with php on a 32bit system is impossible to do decryption

Q: What is the differnces between master and dev branch?

A: Master branch is stable and updated only when all features are tested and stable. Dev branch often have more features but may (mostly with proconsule commits) have bugs.

Q: I found a bug, where i can report that?

A: Here on github as usual, or on GBAtemp forum here https://gbatemp.net/threads/nsp-indexer.591541/

Thanks to

  • SciresM for aes128.py we ported to PHP for NCA decryption
  • duckbill007 for support on DBI Installer
  • blawar for nsp update version look suggestion and all tinfoil cool stuff
  • Ejec at GBAtemp forum (for his bugs reports)
Comments
  • Fix PFS0 file table name offset and size

    Fix PFS0 file table name offset and size

    Entry size is 0x18 String offset is at +0x10 from the start of the entry

    This was leading to NSZ files where the first entry in the string table was not a .ncz being wrongly detected as a NSP file due to filesList being filled with garbage data.

    opened by zand 1
  • Difference between gameDir and contentUrl?

    Difference between gameDir and contentUrl?

    As the title says. What do I have to fill into the Variables?

    Mine looks like: $gameDir = "H:\Switch Games"; /* Absolute Files Path, no trailing slash / $contentUrl = "\Switch Games"; / Files URL, no trailing slash */

    but when I go to the page I don´t get any games loaded. How is the path supposed to look like?

    opened by SomeRandomDude870 1
  • Fix only one update being listed per title

    Fix only one update being listed per title

    I noticed that only one update version is listed per title. Changing it to use version instead of titleId for the key in the updates object fixes this.

    opened by zand 1
  • Add PHP linting VSCode tasks and GitHub workflow

    Add PHP linting VSCode tasks and GitHub workflow

    This adds a GitHub workflow to check the main codebase for style errors according to the PSR-12 PHP code standard, as well as a pair of Visual Studio Code test tasks to check for errors within VSCode and to automatically fix errors if possible.

    opened by fpiesche 0
  • Containerise and add automatic builds

    Containerise and add automatic builds

    This does a number of things:

    • Add Dockerfiles to allow Docker containers to be built for testing, development and production purposes - easier than having to install and configure Apache and set up the app!
    • Add configuration files for Visual Studio Code to do some automated code checking when files are saved, as well as to locally build and run a Docker container for testing
    • Edit config.default.php to allow overriding configuration with environment variables (which is the standard way of setting up simple configuration in Docker containers)
    • Add logging output to index.php to make it easier to see what's going on (and disable Apache's access logging in the Docker container so it doesn't spam up the log)

    Additionally:

    • Add GitHub workflows for the following tasks:
      • automatically run code checks on pushes and PRs
      • build and upload Docker images to GitHub Container Registry when a new tag is pushed to the master branch
    • Make the title ID parser case-insensitive - if you have some files where the title IDs are lower-case, or mixed-case, or the base game and updates have different capitalisation, the indexer will now correctly identify and associate them!
    • Fix #10 - there are games that don't have values in some of the fields in titles.json or versions.json (e.g. 0100696014F4A000 or 0100E2F014F46000). This would cause the indexer to crash when trying to parse the release date field; now these cases are handled gracefully and parsed sensibly, and the indexer logs a warning about the missing data in the Tinfoil databases!
    opened by fpiesche 2
  • Some TitleID will crash the program

    Some TitleID will crash the program

    Whenever you add the following files to the game folder

    the program will go wrong

    [010014B00BB04000][v0].nsp - 崩溃完全不显示(Game list becomes blank)
    
    [0100E9F00B882000][v0].nsp - 崩溃不显示图片(Image shows blank)
    [0100A2E00B8EC000][v0].nsp - 崩溃不显示图片(Image shows blank)
    [010002900294A000][v0].nsp - 崩溃不显示图片(Image shows blank)
    [01004DB00BC70000][v0].nsp - 崩溃不显示图片(Image shows blank)
    

    I am using NSP Indexer v0.5 development version

    Use this Docker container https://hub.docker.com/r/linuxserver/nginx to deploy

    Tried deploying using the files in the nspindexer/docker/ directory

    Will get the same result

    Forgive my bad English, my native language is Chinese

    opened by fejich 0
Owner
null
Composer registry manager that help to easily switch to the composer repository you want

CRM - Composer Registry Manager Composer Registry Manager can help you easily and quickly switch between different composer repositories. 简体中文 Install

Tao 500 Dec 29, 2022
The Current US Version of PHP-Nuke Evolution Xtreme v3.0.1b-beta often known as Nuke-Evolution Xtreme. This is a hardened version of PHP-Nuke and is secure and safe. We are currently porting Xtreme over to PHP 8.0.3

2021 Nightly Builds Repository PHP-Nuke Evolution Xtreme Developers TheGhost - Ernest Allen Buffington (Lead Developer) SeaBeast08 - Sebastian Scott B

Ernest Buffington 7 Aug 28, 2022
A sampling profiler for PHP written in PHP, which reads information about running PHP VM from outside of the process.

Reli Reli is a sampling profiler (or a VM state inspector) written in PHP. It can read information about running PHP script from outside of the proces

null 272 Dec 22, 2022
PHP Meminfo is a PHP extension that gives you insights on the PHP memory content

MEMINFO PHP Meminfo is a PHP extension that gives you insights on the PHP memory content. Its main goal is to help you understand memory leaks: by loo

Benoit Jacquemont 994 Dec 29, 2022
A sampling profiler for PHP written in PHP, which reads information about running PHP VM from outside of the process.

Reli Reli is a sampling profiler (or a VM state inspector) written in PHP. It can read information about running PHP script from outside of the proces

null 258 Sep 15, 2022
A multithreaded application server for PHP, written in PHP.

appserver.io, a PHP application server This is the main repository for the appserver.io project. What is appserver.io appserver.io is a multithreaded

appserver.io 951 Dec 25, 2022
Easy to use utility functions for everyday PHP projects. This is a port of the Lodash JS library to PHP

Lodash-PHP Lodash-PHP is a port of the Lodash JS library to PHP. It is a set of easy to use utility functions for everyday PHP projects. Lodash-PHP tr

Lodash PHP 474 Dec 31, 2022
A PHP 5.3+ and PHP 7.3 framework for OpenGraph Protocol

Opengraph Test with Atoum cd Opengraph/ curl -s https://getcomposer.org/installer | php php composer.phar install --dev ./vendor/atoum/atoum/bin/atoum

Axel Etcheverry 89 Dec 27, 2022
A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch screens with a resolution of 1024x600 connected to a Raspberry Pi.

EDStatusPanel A status monitor for Elite Dangerous, written in PHP. Designed for 1080p screens in the four-panel-view in panel.php, and for 7 inch scr

marcus-s 24 Oct 4, 2022
🐘 A probe program for PHP environment (一款精美的 PHP 探針, 又名X探針、劉海探針)

Simplified Chinese | 简体中文 Traditional Chinese(Taiwan) | 正體中文(臺灣) Traditional Chinese(Hong Kong) | 正體中文(香港) Japanese | 日本語 ?? X Prober This is a probe

Km.Van 1.2k Dec 28, 2022
PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP language

php-text-analysis PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP l

null 464 Dec 28, 2022
PHP generics written in PHP

PHP generics written in PHP Require PHP >= 7.4 Composer (PSR-4 Autoload) Table of contents How it works Quick start Example Features Tests How it work

Anton Sukhachev 173 Dec 30, 2022
PHP exercises from my course at ETEC and some of my own play-around with PHP

etec-php-exercises PHP exercises from my course at ETEC and some of my own play-around with PHP Translations: Português (BR) Projects Project Descript

Luis Felipe Santos do Nascimento 6 May 3, 2022
GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.

GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.

Shivam Mathur 2.4k Jan 6, 2023
php-echarts is a php library for the echarts 5.0.

php-echarts 一款支持Apache EChart5.0+图表的php开发库 优先ThinkPHP5/6的开发及测试。 Apache EChart5.0已经最新发布,在视觉效果、动画效果和大数据展示方面已经远超之前的版本; 故不考虑EChart5.0之前版本的兼容问题;建议直接尝试5.0+

youyiio 5 Aug 15, 2022
Minimalist PHP frame for Core-Library, for Developing PHP application that gives you the full control of your application.

LazyPHP lightweight Pre-Made Frame for Core-library Install Run the below command in your terminal $ composer create-project ryzen/lazyphp my-first-pr

Ry-Zen 7 Aug 21, 2022
Zilliqa PHP is a typed PHP-7.1+ interface to Zilliqa JSON-RPC API.

Zilliqa PHP is a typed PHP-7.1+ interface to Zilliqa JSON-RPC API. Check out the latest API documentation. Add library in a composer.json file.

Patrick Falize 6 Oct 7, 2021
churn-php is a package that helps you identify php files in your project that could be good candidates for refactoring

churn-php Helps discover good candidates for refactoring. Table of Contents What Is it? Compatibility How to Install? How to Use? How to Configure? Si

Bill Mitchell 1.3k Dec 22, 2022
Run your WP site on github pages, php innovation award winner https://www.phpclasses.org/package/12091-PHP-Make-a-WordPress-site-run-on-GitHub-pages.html

Gitpress Run wordpress directly on github pages Gitpress won the innovation award for may 2021 Read more about this https://naveen17797.github.io/gitp

naveen 13 Nov 18, 2022