PlayShelf

Your game library, on the console

HTTPS everywhere · Pause and resume · Nothing stored in the clear

PlayShelf browses a library server you run yourself (AeroFoil, Ownfoil or a plain JSON index) and installs your own backups and homebrew from it: NSP, NSZ, XCI and XCZ, queued, paused, resumed, checked as they install.

No release yet: PlayShelf is in development, and the simulator shows where it stands.

Catalogue: the demo server's games as covers, with their size and add-ons, under the server, the search and the orderCatalogue: the demo server's games as covers, with their size and add-ons, under the server, the search and the order

What it does

And also

On the console

Try it before you install it

The real PlayShelf runs in your browser, against a simulated console and a demo library server of made-up games: browse the catalogue, install a game, pause a download, try every setting.

Open the simulator

Install

  1. A Nintendo Switch with Atmosphère, and sys-patch or sigpatches.
  2. Extract playshelf.zip from the latest release to the root of the SD card.
  3. Launch PlayShelf from the homebrew menu.

Quick start

  1. “Add a server”: its https:// address, on your network or over the Internet, and its account if it has one; or “Find on this network”.
  2. In the “Catalogue”, a game's page: “Install everything”, or a package of it.
  3. The “Downloads” install them one after the other; the “Library” shows them once installed.

The whole guide

Questions

What is a library server?

A server you run on a computer or a NAS, which lists your backups and serves them: AeroFoil or Ownfoil, or any web server with a plain JSON index of your files. PlayShelf reads its catalogue and downloads the packages from it.

Where do the games come from?

From your own server only: PlayShelf comes with no game and no source of games. It is made to install your own backups and homebrew.

Which servers does it work with?

AeroFoil and Ownfoil, through their API, and any server that serves a JSON index of files (files, directories, titledb), over HTTPS. A user name and password if the server asks for them.

Does it read Tinfoil shops?

Not encrypted ones: PlayShelf reads no encrypted index, sends no Tinfoil authentication header and no console identifier. A plain JSON index works.

Why only HTTPS?

So that the catalogue, your password and the packages cannot be read or changed on the way. A server of your network with a certificate of its own is trusted once, after you have compared its key; there is no option to turn the checks off.

What does the console need?

Atmosphère, and sys-patch or sigpatches for the games to start: PlayShelf says so before installing when it finds neither.

Does it work on a Switch 2?

No: there is no Atmosphère for the Switch 2.

Is it free?

Yes: free and open-source software, under the GNU GPL v3.

Documentation