0. Make triple sure that your Nintendo Switch cannot connect to Internet (only to your home network) and
its Primary and Secondary DNS are set to your PC IP address
(since I use System Update to connect to PegaSwitch on step 4 below,
or you could use Connection Test)
1. Open command window with administrator right
2. Use the following command:
node start.js --disable-curses --logfile debug.txt
3. Wait until it says:
"Responding with address xxx.xxx.xxx.xxx
Switch DNS IP: xxx.xxx.xxx.xxx (Use this to connect)"
where xxx.xxx.xxx.xxx is your PC IP where you run this command window
4. On your Nintendo Switch, go to System Settings menu and choose System Update
5. Wait, and be patient (in case this is the first time running/connecting PegaSwitch)
6. You will see PegaSwitch by ReSwitched on Nintendo Switch screen
7. On command window you get the message:
"Switch connected"
8. Use the following command in that command window:
evalfile ./usefulscripts/setRtc.js
9. It produces the message:
"'no output'"
10. On your Nintendo Switch, press button "B" to go back to System Settings menu
(this will disconnect PegaSwitch)
11. Check Date and Time in the System Settings menu and it should show Current date and time:
"7/11/2017 8:00 am"
12. Now press button "B" again until you are in the Home menu
13. Do Iwata's "Directly to You" gesture with left and right Joy-Cons
14. Profit...
In case anyone with Windows 7 wants to try this. You could run start.js with option --disable-curses and set the log to a file.
Here are the steps that I use:
Code:0. Make triple sure that your Nintendo Switch cannot connect to Internet (only to your home network) and its Primary and Secondary DNS are set to your PC IP address (since I use System Update to connect to PegaSwitch on step 4 below, or you could use Connection Test) 1. Open command window with administrator right 2. Use the following command: node start.js --disable-curses --logfile debug.txt 3. Wait until it says: "Responding with address xxx.xxx.xxx.xxx Switch DNS IP: xxx.xxx.xxx.xxx (Use this to connect)" where xxx.xxx.xxx.xxx is your PC IP where you run this command window 4. On your Nintendo Switch, go to System Settings menu and choose System Update 5. Wait, and be patient (in case this is the first time running/connecting PegaSwitch) 6. You will see PegaSwitch by ReSwitched on Nintendo Switch screen 7. On command window you get the message: "Switch connected" 8. Use the following command in that command window: evalfile ./usefulscripts/setRtc.js 9. It produces the message: "'no output'" 10. On your Nintendo Switch, press button "B" to go back to System Settings menu (this will disconnect PegaSwitch) 11. Check Date and Time in the System Settings menu and it should show Current date and time: "7/11/2017 8:00 am" 12. Now press button "B" again until you are in the Home menu 13. Do Iwata's "Directly to You" gesture with left and right Joy-Cons 14. Profit...
And here is the video capture of Nintendo Switch while executing those steps.
Cheers.
scratchs that. I just disabled my firewall entirely and it works fineI do
node start.js --disable-curses --logfile debug.txt
pegaswitch launches, tells me to input 10.0.0.xxx for my ip address
put it in both switch DNS settings
nothing happens, cant connect to internet and it doesnt pop up anything new in the shell
evalfile usefulscripts/SetupNew.js gives me "no output"scratchs that. I just disabled my firewall entirely and it works fine
npm WARN deprecated [email protected]: Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Error: EACCES: permission denied, rename '/home/Admin/pegaswitch/node_modules/.staging/fsevents-c7ebe718/node_modules/hoek' -> '/home/Admin/pegaswitch/node_modules/.staging/hoek-2f7e2e00'
npm ERR! path /home/Admin/pegaswitch/node_modules/core-js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename '/home/Admin/pegaswitch/node_modules/core-js' -> '/home/Admin/pegaswitch/node_modules/.core-js.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /home/Admin/.npm/_logs/2017-10-09T05_09_03_409Z-debug.log
module.js:529
throw err;
^
Error: Cannot find module 'browserify'
at Function.Module._resolveFilename (module.js:527:15)
at Function.Module._load (module.js:476:23)
at Module.require (module.js:568:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/home/Admin/pegaswitch/start.js:6:20)
at Module._compile (module.js:624:30)
at Object.Module._extensions..js (module.js:635:10)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
Out of interest what are you running Pegaswitch on? I remember giving it a quick try a little while back and got some DNS error and didn't bother trying further. I was using a Ubuntu VM in Windows though so maybe it was a network adapter issue.
I have no linux experience but i finished everything up to the final command to launch pegaswitch but i instead get errorTwitter user jam1garner was able to use pegaswitch to trick his nes into launching nes golf. I was attempting to do this same through his instructions but came across issues during npm install on the clone installation portion. I'd like to see if anyone else is capable of launching or knows a little more about coding than me. You will need the latest versions of node, git, and python. It's easier to install python and a few other tools using
Anyways we can go over errors here or maybe someone with experience can get it done quicker.
FOR WINDOWS USERSInstructions by SYNTAXYZ
go here
follow prereqs and use POWERSHELL to enable and COMMAND to install Linux
Run bash to launch WSL, it will launch automatically the first time and ask to create a username and password
Run CD
Run Sudo apt-get install npm
( if NPM or NODE wont update, follow this https://aigeec.com/installing-node-js-on-windows-10-bash/)
Nintendo Switch is at version 3.0.0
My computer system is running Linux 4.4.0-93-generic #116~14.04.1-Ubuntu x86_64.
Well there where some errors yes, if this helps anyone here are the additional steps for a clean debian based system with apt-get/aptitude.
-- Change directory to your Home
> cd ~
-- update your packages
> sudo apt-get update
> sudo apt-get upgrade
-- Install build-essential ( for make )
> sudo apt-get install build-essential
-- Install nodejs 8.4.0
> curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
> sudo apt-get install -y nodejs
-- Install git
> sudo apt-get install git
-- Install python
> sudo apt-get install python
-- Clone the pegaswitch git repo
> git clone https://github.com/reswitched/pegaswitch.git
-- Change directory to the pegaswitch dir
> cd pegaswitch
-- Let node package manager install dependencies for pegaswitch (be patient)
> npm install
-- Now you are ready to run pegaswitch
> sudo node start.js
(any errors here or lack of launch, try
node start.js --disable-curses --logfile debug.txt )
The shell will present you with the ip of your system, this IP you will need to put as your DNS settings in your nintendo switch.
Then when you are ready to connect to your network with your modified DNS settings, a browser will start automaticaly with a nice pegaswitch logo.
You do not need to press the refresh button, the exploit is already active. You will notice in your pegaswitch shell on your computer that your switch is now connected.
In the pegaswitch shell run the recommended command as documented on the pegaswitch github page:
> evalfile ./usefulscripts/SetupNew.js
Then run the Script that changes your time
> evalfile ./usefulscripts/setRtc.js
you will receive "no output". this is normal
make sure your date and time is is set to synchronize automatically
Theoretically you should be able to launch nes golf after this.....
edit:can confirm this works btw, after trial and error I launched it on my 3.0 switch using windows powershell w/ linux distribution
TryI'm running on Linux Sub-System on Windows 10 or whatever it's called, everything was flawless until:
npm install
It threw out errors afterwrds:
Any clue what happened?Code:npm WARN deprecated [email protected]: Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update! npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/fsevents): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Error: EACCES: permission denied, rename '/home/Admin/pegaswitch/node_modules/.staging/fsevents-c7ebe718/node_modules/hoek' -> '/home/Admin/pegaswitch/node_modules/.staging/hoek-2f7e2e00' npm ERR! path /home/Admin/pegaswitch/node_modules/core-js npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename '/home/Admin/pegaswitch/node_modules/core-js' -> '/home/Admin/pegaswitch/node_modules/.core-js.DELETE' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! /home/Admin/.npm/_logs/2017-10-09T05_09_03_409Z-debug.log
--------------------- MERGED ---------------------------
Attempting to run:
sudo node start.js
results in:
Code:module.js:529 throw err; ^ Error: Cannot find module 'browserify' at Function.Module._resolveFilename (module.js:527:15) at Function.Module._load (module.js:476:23) at Module.require (module.js:568:17) at require (internal/module.js:11:18) at Object.<anonymous> (/home/Admin/pegaswitch/start.js:6:20) at Module._compile (module.js:624:30) at Object.Module._extensions..js (module.js:635:10) at Module.load (module.js:545:32) at tryModuleLoad (module.js:508:12) at Function.Module._load (module.js:500:3)
I have no linux experience but i finished everything up to the final command to launch pegaswitch but i instead get error
"There was an issue setting up DNS: bind EADDRINUSE 0.0.0.0:53"
even doing the second command for if there was any error didnt change it. So idk. Anyhelp here ?
Well sort of yeah. I have dual boot bpth OSTry
Sudo npm install
If not then check
Nodejs -v to make sure you have node up to date
--------------------- MERGED ---------------------------
I assume you are on windows
You need to allow port 53,80 and 8100 through your windows firewall. I had to disable firewall completely to get mine to work. Basically this means that something else is listening to port 53. Also, try restarting your computer and running it again. That can be the easiest fix
There's a way to killall on the DNS side, copy and paste your error and you should be able to find it in one of the top search resultsWell sort of yeah. I have dual boot bpth OS
I got no errors on npm install so thanks for that, but now when I do:Try
Sudo npm install
If not then check
Nodejs -v to make sure you have node up to date
--------------------- MERGED ---------------------------
I assume you are on windows
You need to allow port 53,80 and 8100 through your windows firewall. I had to disable firewall completely to get mine to work. Basically this means that something else is listening to port 53. Also, try restarting your computer and running it again. That can be the easiest fix
If you're doing this on Windows: Don't.Well sort of yeah. I have dual boot bpth OS
Sudo node start.js --disable-curses --logfile debug.txtI got no errors on npm install so thanks for that, but now when I do:
node start.js --disable-curses --logfile debug.txt
I get:
Please run as root so we can bind to port 53 & 80
I've already disabled my firewall, so what else could it be?
works fine on windows for me. I can run it cmd no problem, but I use WSL anyways because of support.If you're doing this on Windows: Don't.
If you're doing this on Linux: Disable dnsmasq (semi-optional), then use sudo node start.js --host 127.0.0.0, then copy the dns it says listening and do sudo node start.js --host <internal ip here>
I did sudo su before starting anything, ended up with a new error (Sorry for giving you all these):Sudo node start.js --disable-curses --logfile debug.txt
--------------------- MERGED ---------------------------
Sudo is root, if you do "Sudo su" before you start anything you can bypass doing Sudo, su is super user. Basically admin rights
--------------------- MERGED ---------------------------
works fine on windows for me. I can run it cmd no problem, but I use WSL anyways because of support.
Error: EINVAL: invalid argument, uv_interface_addresses
at Object.networkInterfaces (os.js:126:30)
at Object.ip.address (/home/Admin/pegaswitch/node_modules/ip/lib/ip.js:357:23)
at Object.<anonymous> (/home/Admin/pegaswitch/start.js:61:28)
at Module._compile (module.js:624:30)
at Object.Module._extensions..js (module.js:635:10)
at Module.load (module.js:545:32)
at tryModuleLoad (module.js:508:12)
at Function.Module._load (module.js:500:3)
at Function.Module.runMain (module.js:665:10)
at startup (bootstrap_node.js:187:16)
what did you input for this error?I did sudo su before starting anything, ended up with a new error (Sorry for giving you all these):
Code:Error: EINVAL: invalid argument, uv_interface_addresses at Object.networkInterfaces (os.js:126:30) at Object.ip.address (/home/Admin/pegaswitch/node_modules/ip/lib/ip.js:357:23) at Object.<anonymous> (/home/Admin/pegaswitch/start.js:61:28) at Module._compile (module.js:624:30) at Object.Module._extensions..js (module.js:635:10) at Module.load (module.js:545:32) at tryModuleLoad (module.js:508:12) at Function.Module._load (module.js:500:3) at Function.Module.runMain (module.js:665:10) at startup (bootstrap_node.js:187:16)