Your own personal shop right into tinfoil!
This program DOES NOT encourage piracy at all!
It was designed to reduce the time to download/install a game from the Nintendo eShop.
In case you have a ADSL connection, to install latest Zelda
(14.4Gb) it can take ages!
On top of that, if you have bought a game on eShop like Jump Force, once it is not anymore on the shop how can you install it again?
Using your personal NSP dump, with tinfoil
and tinshop
everything should be fine and fast!
To proper use this software, here is the checklist:
- Optional: A proper configured
config.yaml
- Copy/Paste
config.example.yaml
toconfig.yaml
- Comment/Uncomment parts in the config according to your needs
- Copy/Paste
- Games should have in their name
[ID][v0]
to be recognized - Retrieve binary from latest release or build from source (See
Dev
section below)
Now simply run it and add a shop inside tinfoil with the address setup in config
(or http://localIp:3000
if not specified).
Here is the list of all main features so far:
- Automatically download
titles.US.en.json
if missing at startup - Basic protection from forged queries (should allow only tinfoil to use the shop)
- Serve from several mounted directories
- Serve from several network directories (Using NFS)
- Display a webpage for forbidden devices
I suggest to use a tiny executable gow to help you during the process (hot reload, etc..).
For example I use the following command to develop gow -c run .
.
If you want to build TinShop
from source, please run go build
.
And then, simply run ./tinshop
.
Wanting to generate all possible os binaries (macOS, linux, windows) with all architectures (arm, amd64)?
Here is the command goreleaser release --snapshot --skip-publish --rm-dist
.
Dead simple, thanks to Golang!
You can see the roadmap here.
If you have any suggestions, do not hesitate to participate!
It's dead simple, and no dependencies! It's just a single small executable.
Easier to install games without connecting switch or by updating SD card (Nightmare if you are on macOS).
The upcoming features will also be a huge advantage against others software.
By default, TinShop
will look into the games
directory relative to tinshop
executable.
However in the config.yaml
file, you can change this.
In the sources
section, you can have the following:
directories
: List of directories where you put your gamesnfs
: List of NFS shares that contains your games
Yes, you can!
Use a reverse proxy (like traefik, caddy, nginx...) to do tls termination and forward to your instance on port 3000
.
TinShop does not implement basic auth by itself.
You should configure it inside your reverse proxy.
For other type of protection, you can whitelist (*) your own switch and this will do the trick.
* Feature not yet implemented!
First, download and replace the latest titles.US.en.json
available (or delete it, it will be automatically downloaded at startup).
If this does not solve your issue, then you should use custom titledb entry (*) to describe those which are missing.
* Feature not yet implemented!
I would like to give back thanks to the people who helped me with or without knowing!
- Bogdan Rosu Creative for his shop icon.
- Dono for his support and tests.
- AdamK2003 for his up-to-date
titles.US.en.json
and his answers on discord.