├── README.md └── switchScript.sh /README.md: -------------------------------------------------------------------------------- 1 | 2 | # SwitchScript (Work In Progress) 3 | [![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.png?v=103)](https://github.com/ellerbrock/open-source-badges/) [![made-with-bash](https://img.shields.io/badge/-Made%20with%20Bash-1f425f.svg?logo=image%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw%2FeHBhY2tldCBiZWdpbj0i77u%2FIiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8%2BIDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE3MDg2QTAyQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE3MDg2QTAzQUZCMzExRTVBMkQxRDMzMkJDMUQ4RDk3Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTcwODZBMDBBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTcwODZBMDFBRkIzMTFFNUEyRDFEMzMyQkMxRDhEOTciLz4gPC9yZGY6RGVzY3JpcHRpb24%2BIDwvcmRmOlJERj4gPC94OnhtcG1ldGE%2BIDw%2FeHBhY2tldCBlbmQ9InIiPz6lm45hAAADkklEQVR42qyVa0yTVxzGn7d9Wy03MS2ii8s%2BeokYNQSVhCzOjXZOFNF4jx%2BMRmPUMEUEqVG36jo2thizLSQSMd4N8ZoQ8RKjJtooaCpK6ZoCtRXKpRempbTv5ey83bhkAUphz8fznvP8znn%2B%2F3NeEEJgNBoRRSmz0ub%2FfuxEacBg%2FDmYtiCjgo5NG2mBXq%2BH5I1ogMRk9Zbd%2BQU2e1ML6VPLOyf5tvBQ8yT1lG10imxsABm7SLs898GTpyYynEzP60hO3trHDKvMigUwdeaceacqzp7nOI4n0SSIIjl36ao4Z356OV07fSQAk6xJ3XGg%2BLCr1d1OYlVHp4eUHPnerU79ZA%2F1kuv1JQMAg%2BE4O2P23EumF3VkvHprsZKMzKwbRUXFEyTvSIEmTVbrysp%2BWr8wfQHGK6WChVa3bKUmdWou%2BjpArdGkzZ41c1zG%2Fu5uGH4swzd561F%2BuhIT4%2BLnSuPsv9%2BJKIpjNr9dXYOyk7%2FBZrcjIT4eCnoKgedJP4BEqhG77E3NKP31FO7cfQA5K0dSYuLgz2TwCWJSOBzG6crzKK%2BohNfni%2Bx6OMUMMNe%2Fgf7ocbw0v0acKg6J8Ql0q%2BT%2FAXR5PNi5dz9c71upuQqCKFAD%2BYhrZLEAmpodaHO3Qy6TI3NhBpbrshGtOWKOSMYwYGQM8nJzoFJNxP2HjyIQho4PewK6hBktoDcUwtIln4PjOWzflQ%2Be5yl0yCCYgYikTclGlxadio%2BBQCSiW1UXoVGrKYwH4RgMrjU1HAB4vR6LzWYfFUCKxfS8Ftk5qxHoCUQAUkRJaSEokkV6Y%2F%2BJUOC4hn6A39NVXVBYeNP8piH6HeA4fPbpdBQV5KOx0QaL1YppX3Jgk0TwH2Vg6S3u%2BdB91%2B%2FpuNYPYFl5uP5V7ZqvsrX7jxqMXR6ff3gCQSTzFI0a1TX3wIs8ul%2Bq4HuWAAiM39vhOuR1O1fQ2gT%2F26Z8Z5vrl2OHi9OXZn995nLV9aFfS6UC9JeJPfuK0NBohWpCHMSAAsFe74WWP%2BvT25wtP9Bpob6uGqqyDnOtaeumjRu%2ByFu36VntK%2FPA5umTJeUtPWZSU9BCgud661odVp3DZtkc7AnYR33RRC708PrVi1larW7XwZIjLnd7R6SgSqWSNjU1B3F72pz5TZbXmX5vV81Yb7Lg7XT%2FUXriu8XLVqw6c6XqWnBKiiYU%2BMt3wWF7u7i91XlSEITwSAZ%2FCzAAHsJVbwXYFFEAAAAASUVORK5CYII%3D)](https://www.gnu.org/software/bash/) 4 | 5 | ### A simple bash script to kickstart your Nintendo Switch SD card for Homebrew 6 | 7 | [![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/K3K5DURGA) 8 | 9 | # CURRENTLY NOT WORKING 10 | 11 | This script is designed to: 12 | 13 | - Download the latest: 14 | - `Hekate + Nyx` [From Here](https://github.com/CTCaer/hekate/releases/latest/) 15 | - `Atmosphere + Fusee` [From Here](https://github.com/Atmosphere-NX/Atmosphere/releases/latest) 16 | - `SigPatches` ~~[From Jits.cc](https://jits.cc/patches)~~ 17 | - Place `fusee.bin` in `/bootloader/payloads` 18 | - Create `hekate_ipl.ini` in `/bootloader` 19 | - Create `exosphere.ini` in your root folder 20 | - Create a `/hosts` folder in `/atmosphere` 21 | - Write a `default.txt` in `/atmosphere/hosts`, blocking Nintendo Servers 22 | 23 | **Collaboration Welcome!** 24 | 25 | This ~~is~~ was based off the Rentry CFW guide [Here](https://rentry.org/EristaEmuNAND), and other CFW guides ~~can be found~~ were found [Here](https://rentry.org/SwitchHackingIsEasy). 26 | 27 | Please Note: This script is not written by or currently endorsed by the authors of the above guides. 28 | -------------------------------------------------------------------------------- /switchScript.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | ### Credit to the Authors at https://rentry.org/CFWGuides 4 | ### Script created by Fraxalotl 5 | 6 | # ------------------------------------------- 7 | 8 | ### Install jq if not already installed 9 | if [[ "$OSTYPE" == "msys" ]]; then 10 | # Windows 11 | @"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin" 12 | chocolatey install jq 13 | elif [[ "$OSTYPE" == "darwin" ]]; then 14 | # MacOS 15 | brew install jq 16 | elif [[ "$OSTYPE" == "linux-gnu"* ]]; then 17 | # linux 18 | sudo apt-get install jq 19 | fi; 20 | 21 | ### Fetch latest Hekate + Nyx from https://github.com/CTCaer/hekate/releases/latest/ 22 | echo Downloading Hekate... 23 | curl -sL https://api.github.com/repos/CTCaer/hekate/tags \ 24 | | jq -r '.[0].zipball_url' \ 25 | | xargs -I {} curl -sL {} -o hekate.zip 26 | echo Done! 27 | 28 | ### Fetch latest atmosphere from https://github.com/Atmosphere-NX/Atmosphere/releases/latest 29 | curl -sL https://api.github.com/repos/Atmosphere-NX/Atmosphere/tags \ 30 | | jq -r '.[0].zipball_url' \ 31 | | xargs -I {} curl -sL {} -o atmosphere.zip 32 | echo Done! 33 | 34 | ### Fetch latest SigPatches.zip from https://github.com/ITotalJustice/patches/releases/latest 35 | echo Downloading Sigpatches... 36 | curl -sL https://jits.cc/patches -o sigpatches.zip; 37 | echo Done! 38 | 39 | # ------------------------------------------- 40 | 41 | ### Unzip Downloaded Packages 42 | 43 | echo Unzipping Zips... 44 | unzip -u hekate.zip 45 | unzip -u atomsphere.zip 46 | unzip -u sigpatches.zip 47 | echo Done! 48 | 49 | ### Cleanup Downloaded Zips 50 | 51 | echo Cleaning up... 52 | rm hekate.zip 53 | rm atmosphere.zip 54 | rm sigpatches.zip 55 | echo Done! 56 | 57 | 58 | ### Place fusee.bin in /bootloader/payloads/ 59 | if [[ "$OSTYPE" == "msys" ]]; then 60 | move fusee.bin /bootloader/payloads 61 | else 62 | mv fusee.bin /bootloader/payloads 63 | fi; 64 | 65 | # ------------------------------------------- 66 | 67 | ### Write hekate_ipl.ini in /bootloader/ directory 68 | echo Writing hekate_ipl.ini in /bootloader/ directory... 69 | mkdir -p /bootloader 70 | cat > /bootloader/hekate_ipl.ini << ENDOFFILE 71 | [config] 72 | autoboot=0 73 | autoboot_list=0 74 | bootwait=3 75 | backlight=100 76 | autohosoff=0 77 | autonogc=1 78 | updater2p=0 79 | bootprotect=0 80 | 81 | [Atmosphere CFW] 82 | payload=bootloader/payloads/fusee.bin 83 | icon=bootloader/res/icon_payload.bmp 84 | 85 | [Stock SysNAND] 86 | fss0=atmosphere/package3 87 | stock=1 88 | emummc_force_disable=1 89 | icon=bootloader/res/icon_switch.bmp 90 | ENDOFFILE 91 | echo Done! 92 | 93 | # ------------------------------------------- 94 | 95 | ### write exosphere.ini in root of SD Card 96 | echo Writing exosphere.ini in root of SD card... 97 | cat > /exosphere.ini << ENDOFFILE 98 | [exosphere] 99 | debugmode=1 100 | debugmode_user=0 101 | disable_user_exception_handlers=0 102 | enable_user_pmu_access=0 103 | blank_prodinfo_sysmmc=0 104 | blank_prodinfo_emummc=1 105 | allow_writing_to_cal_sysmmc=0 106 | log_port=0 107 | log_baud_rate=115200 108 | log_inverted=0 109 | ENDOFFILE 110 | echo Done! 111 | 112 | # ------------------------------------------- 113 | 114 | ### Write default.txt in /atmosphere/hosts 115 | echo Writing default.txt in /atmosphere/hosts 116 | mkdir -p /atmosphere/hosts 117 | cat > /atmosphere/hosts/default.txt << ENDOFFILE 118 | # Block Nintendo Servers 119 | 127.0.0.1 *nintendo.* 120 | 127.0.0.1 *nintendo-europe.com 121 | 127.0.0.1 *nintendoswitch.* 122 | 95.216.149.205 *conntest.nintendowifi.net 123 | 95.216.149.205 *ctest.cdn.nintendo.net 124 | ENDOFFILE 125 | echo Done! 126 | 127 | # ------------------------------------------- 128 | 129 | echo Your Switch SD card is prepared! 130 | --------------------------------------------------------------------------------