Nintendo Video Server Spoofing
Thanks to user popoffka for laying the groundwork and figuring it out first, and writing up the 3DBrew article on Nintendo Video. See here and here.
Spoofing the Nintendo Video server will allow users in unsupported countries who get the message "The Nintendo Video service is not available in your location. You cannot download videos." to download and view videos within the Nintendo Video app. Also, it allows users such as myself who can already receive videos to view videos from other countries. HOWEVER, you can only view videos from the same region as you, ie EU, US or JP. So for example, I live in the UK, I can download videos from Germany but US videos will not work. The video files are region protected.
Before you start, you may need to change the region setting on your 3DS to match the country whose video files you wish to view. Find this setting in "System Settings", "Other Settings", "Profile", "Region Settings".
A quick summary of what we will achieve:
1) Download the video files you wish to watch from the Nintendo server.
2) Set up an HTTP server to host the video files.
3) Set up a DNS server to redirect the Nintendo Video app to download the videos from your server.
4) Route the 3DS through your DNS server.
5) Download and view the videos on your 3DS.
1) Download the video files you wish to watch from the Nintendo server
Firstly, you want to get hold of the video files. Check this link for the format of URL to use and figure out the correct links to download the videos you wish to view. The COUNTRYCODE determines which country you are going to download your videos from, and the LANGUAGECODE depends on what language you have your 3DS set to. You can download videos from any country where they are available and in any language, but remember only videos from your region will work. As an example, the link to the first UK video is:
Where 110 is the COUNTRYCODE for the UK and the 1 after that is the LANGUAGECODE which corresponds to English. For Germany it is:
For America it is:
These are just examples, you can figure out the links for any supported country by following the format specified in the 3DBrew article.
Now, if you're in an unsupported country, you will not be able to download from these links, you will see an "Access Denied" page. If you're downloading the US videos, use the Hide My Ass! web proxy server, otherwise to fix this, download and install this Firefox extension. Once it is installed, you will see a little red icon on the bottom right of your Firefox window, click the arrow next to that and hit Configure, then make sure it looks like the following picture:
Click OK on this and then click the little red icon and it should turn green. Now try your link. If it doesn't work, click the icon until it goes red, and then click it to green and try again. Every time you do this, the Stealthy extension cycles through different proxies, so eventually it will work and you will be able to download from your link. Now download the rest of the videos, there will be at most four and sometimes less.
Once you have downloaded the files, make sure you click the icon so it turns red again, we don't need to access the internet through a proxy anymore.
2) Set up an HTTP server to host the video files
You can use any HTTP server but I used Abyss Web Server as it is quick and easy to set up. Google it, download the setup file and install. The install is very easy, just keep clicking next until it asks you if you wish to start the web server and hit yes, a page will then open in your web browser. Choose your language, enter a username and password, and log in. Done!
For the next part this explanation is necessary.
When the Nintendo Video app attempts to fetch videos, it will decide where to fetch them from based on 3 things.
1) The region of your 3DS (EU, US or JP).
2) The country set in your 3DS region settings.
3) The language set on your 3DS.
So, figure out which URL YOUR 3DS will attempt to download from based on these things, again you can figure this out by following the format on this page. As a quick example, if your 3DS is:
An EU model - pubeu-p.est.c.app.nintendowifi.net
Region is set to the UK - COUNTRYCODE = 110
Language is set to English - LANGUAGECODE = 1
then when your 3DS attempts to download videos, put those three together and you can see it will attempt to download from the url
It is very important you figure out the URL that YOUR 3DS will attempt to download from, DO NOT SIMPLE COPY THIS EXAMPLE, unless your 3DS matches these conditions. This URL may be different from the one you downloaded the video files from originally.
Now all you need to do is browse to the Abyss Web Server installation, default location is C:\Abyss Web Server. In here will be a folder called htdocs. Make sure you are in this folder and then you need to create a series of nested folders to match the URL you have just figured out. This is everything AFTER pubeu-p.est.c.app.nintendowifi.net. So, in the above example, we need to make a folder named "1" (Without the quote marks). WITHIN this folder, we make another one named "110" and then within THIS folder we make a final folder named "1".
Put your downloaded video files in here and we are all done for this section.
3) Set up a DNS server to redirect the Nintendo Video app to download the videos from your server
For this section I chose Simple DNS Plus, it's the easiest DNS server to use and has a free 14 day trial.
Google it, download and install. Once you have it running, in the main window there is a "Records" button. Click on this, and in the window that pops up click on the "Quick Zone Wizard" button. In the "Zone Name" field, enter the domain that your 3DS will attempt to download from, based on the region of your 3DS. Following on from the earlier example, my 3DS will attempt to download from pubeu-p.est.c.app.nintendowifi.net so I enter that in this field. In the "Web server IP" field enter the IP address of your computer. Ignore the other two fields. It should look something like this:
If you don't know your IP address for the previous step, press the Windows key and R at the same time, in the box that pops up type "cmd". When the command prompt appears, type "ipconfig" and hit enter. Look for the entry matching your internet interface and next to "IPv4 Address" you can see your IP address.
4) Route the 3DS through your DNS server
Turn on your 3DS and open the "System Settings". Tap on "Internet Settings" then "Connection Settings" and then click on the connection corresponding to the network you are currently connected to. Tap on "Change Settings", scroll until you see "DNS" and tap that. Tap on "No" and then "Detailed Setup". Under both Primary and Secondary DNS, enter the IP address of your computer, then hit "OK" and "Save". If you pass the connection test you are good to go.
5) Download and view the videos on your 3DS
Open the Nintendo Video app and hit "Connectivity Check". With any luck, it will say that you are able to download videos and then start downloading the videos from your HTTP server. If there are any connection issues, check that your firewall is not blocking the connection, or temporarily turn it off.
IMPORTANT: Always make sure you run Abyss Web Server BEFORE you run Simple DNS Plus, or the server will not be able to listen on port 80 and will not work. When you restart your PC, Simple DNS Plus will run automatically, so shut it down, launch Abyss Web Server, and then launch Simple DNS Plus, or simply remove Simple DNS Plus from your startup entries.
Spoofing the Nintendo Video server will allow users in unsupported countries who get the message "The Nintendo Video service is not available in your location. You cannot download videos." to download and view videos within the Nintendo Video app. Also, it allows users such as myself who can already receive videos to view videos from other countries. HOWEVER, you can only view videos from the same region as you, ie EU, US or JP. So for example, I live in the UK, I can download videos from Germany but US videos will not work. The video files are region protected.
Before you start, you may need to change the region setting on your 3DS to match the country whose video files you wish to view. Find this setting in "System Settings", "Other Settings", "Profile", "Region Settings".
A quick summary of what we will achieve:
1) Download the video files you wish to watch from the Nintendo server.
2) Set up an HTTP server to host the video files.
3) Set up a DNS server to redirect the Nintendo Video app to download the videos from your server.
4) Route the 3DS through your DNS server.
5) Download and view the videos on your 3DS.
1) Download the video files you wish to watch from the Nintendo server
Firstly, you want to get hold of the video files. Check this link for the format of URL to use and figure out the correct links to download the videos you wish to view. The COUNTRYCODE determines which country you are going to download your videos from, and the LANGUAGECODE depends on what language you have your 3DS set to. You can download videos from any country where they are available and in any language, but remember only videos from your region will work. As an example, the link to the first UK video is:
Code:
http://pubeu-p.est.c.app.nintendowifi.net/1/110/1/ESP_MD1
Code:
http://pubeu-p.est.c.app.nintendowifi.net/1/78/3/ESP_MD1
Code:
http://pubus-p.est.c.app.nintendowifi.net/1/49/1/ESE_MD1
These are just examples, you can figure out the links for any supported country by following the format specified in the 3DBrew article.
Now, if you're in an unsupported country, you will not be able to download from these links, you will see an "Access Denied" page. If you're downloading the US videos, use the Hide My Ass! web proxy server, otherwise to fix this, download and install this Firefox extension. Once it is installed, you will see a little red icon on the bottom right of your Firefox window, click the arrow next to that and hit Configure, then make sure it looks like the following picture:
Click OK on this and then click the little red icon and it should turn green. Now try your link. If it doesn't work, click the icon until it goes red, and then click it to green and try again. Every time you do this, the Stealthy extension cycles through different proxies, so eventually it will work and you will be able to download from your link. Now download the rest of the videos, there will be at most four and sometimes less.
Once you have downloaded the files, make sure you click the icon so it turns red again, we don't need to access the internet through a proxy anymore.
2) Set up an HTTP server to host the video files
You can use any HTTP server but I used Abyss Web Server as it is quick and easy to set up. Google it, download the setup file and install. The install is very easy, just keep clicking next until it asks you if you wish to start the web server and hit yes, a page will then open in your web browser. Choose your language, enter a username and password, and log in. Done!
For the next part this explanation is necessary.
When the Nintendo Video app attempts to fetch videos, it will decide where to fetch them from based on 3 things.
1) The region of your 3DS (EU, US or JP).
2) The country set in your 3DS region settings.
3) The language set on your 3DS.
So, figure out which URL YOUR 3DS will attempt to download from based on these things, again you can figure this out by following the format on this page. As a quick example, if your 3DS is:
An EU model - pubeu-p.est.c.app.nintendowifi.net
Region is set to the UK - COUNTRYCODE = 110
Language is set to English - LANGUAGECODE = 1
then when your 3DS attempts to download videos, put those three together and you can see it will attempt to download from the url
Code:
pubeu-p.est.c.app.nintendowifi.net/1/110/1
It is very important you figure out the URL that YOUR 3DS will attempt to download from, DO NOT SIMPLE COPY THIS EXAMPLE, unless your 3DS matches these conditions. This URL may be different from the one you downloaded the video files from originally.
Now all you need to do is browse to the Abyss Web Server installation, default location is C:\Abyss Web Server. In here will be a folder called htdocs. Make sure you are in this folder and then you need to create a series of nested folders to match the URL you have just figured out. This is everything AFTER pubeu-p.est.c.app.nintendowifi.net. So, in the above example, we need to make a folder named "1" (Without the quote marks). WITHIN this folder, we make another one named "110" and then within THIS folder we make a final folder named "1".
Put your downloaded video files in here and we are all done for this section.
3) Set up a DNS server to redirect the Nintendo Video app to download the videos from your server
For this section I chose Simple DNS Plus, it's the easiest DNS server to use and has a free 14 day trial.
Google it, download and install. Once you have it running, in the main window there is a "Records" button. Click on this, and in the window that pops up click on the "Quick Zone Wizard" button. In the "Zone Name" field, enter the domain that your 3DS will attempt to download from, based on the region of your 3DS. Following on from the earlier example, my 3DS will attempt to download from pubeu-p.est.c.app.nintendowifi.net so I enter that in this field. In the "Web server IP" field enter the IP address of your computer. Ignore the other two fields. It should look something like this:
If you don't know your IP address for the previous step, press the Windows key and R at the same time, in the box that pops up type "cmd". When the command prompt appears, type "ipconfig" and hit enter. Look for the entry matching your internet interface and next to "IPv4 Address" you can see your IP address.
4) Route the 3DS through your DNS server
Turn on your 3DS and open the "System Settings". Tap on "Internet Settings" then "Connection Settings" and then click on the connection corresponding to the network you are currently connected to. Tap on "Change Settings", scroll until you see "DNS" and tap that. Tap on "No" and then "Detailed Setup". Under both Primary and Secondary DNS, enter the IP address of your computer, then hit "OK" and "Save". If you pass the connection test you are good to go.
5) Download and view the videos on your 3DS
Open the Nintendo Video app and hit "Connectivity Check". With any luck, it will say that you are able to download videos and then start downloading the videos from your HTTP server. If there are any connection issues, check that your firewall is not blocking the connection, or temporarily turn it off.
IMPORTANT: Always make sure you run Abyss Web Server BEFORE you run Simple DNS Plus, or the server will not be able to listen on port 80 and will not work. When you restart your PC, Simple DNS Plus will run automatically, so shut it down, launch Abyss Web Server, and then launch Simple DNS Plus, or simply remove Simple DNS Plus from your startup entries.