More actions
(Created page with "{{Infobox Switch Homebrews |title=NS-USBloader |image=nsusbloaderswitch.png |description=Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. |author=developersu |lastupdated=2023/02/11 |type=PC Utilities |version=7.0 |license=GPL-3.0 |download=https://dlhb.gamebrew.org/switchhomebrews/nsusbloaderswitch.7z |website=https://gbatemp.net/threads/ns-usbloader-another-one-tinfoil-and-goldleaf-usb-install...") |
No edit summary |
||
Line 1: | Line 1: | ||
{{Infobox Switch Homebrews | {{Infobox Switch Homebrews | ||
|title=NS-USBloader | |title=NS-USBloader | ||
|image= | |image=nsusbloadernx.png | ||
|description=Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. | |description=Awoo Installer and GoldLeaf uploader of the NSPs (and other files), RCM payload injector, application for split/merge files. | ||
|author=developersu | |author=developersu | ||
|lastupdated=2023/02/11 | |lastupdated=2023/02/11 | ||
Line 9: | Line 8: | ||
|version=7.0 | |version=7.0 | ||
|license=GPL-3.0 | |license=GPL-3.0 | ||
|download=https://dlhb.gamebrew.org/switchhomebrews/ | |download=https://dlhb.gamebrew.org/switchhomebrews/nsusbloadernx.7z | ||
|website=https://gbatemp.net/threads/ns-usbloader-another-one-tinfoil-and-goldleaf-usb-installer.533394/ | |website=https://gbatemp.net/threads/ns-usbloader-another-one-tinfoil-and-goldleaf-usb-installer.533394/ | ||
|source=https://github.com/developersu/ns-usbloader | |source=https://github.com/developersu/ns-usbloader | ||
|donation= | |donation=https://github.com/developersu/ns-usbloader#support-this-app | ||
}} | }} | ||
NS-USBloader is a PC-side installer for Huntereb/Awoo-Installer / other compatible installers (USB and Network supported) and XorTroll/Goldleaf (USB) NSP installer. Alternative to default usb_install_pc.py, remote_install_pc.py, GoldTree/Quark. | |||
| | |||
| | This application also could be used as RCM payload on Windows, MacOS and Linux. | ||
==Features== | |||
}} | *PC-side installer for Adubbz/TinFoil (v0.2.1), [[Awoo Installer Switch|Huntereb/Awoo-Installer]] (USB and Network supported) and [[Goldleaf Switch|XorTroll/GoldLeaf]] (USB) NSP installer. | ||
{{ | *RCM payload tool that works on Windows, macOS (Intel and Apple Silicon) and Linux (x86, amd64 and Raspberry Pi ARM). | ||
Awoo Installer and | *Multiple file selection. | ||
*Can create split files. | |||
*Can merge split-files into one. | |||
*With GUI and cookies. Works on Windows, macOS and Linux. | |||
*[[NS-USBloader Mobile Switch|Click here for Android version]]. | |||
==Installation== | |||
===Requirements=== | |||
Java JRE/JDK 11+ or higher for mac and linux. | |||
===How to setup=== | |||
'''Linux:''' | |||
* Install JRE/JDK 8u60 or higher (openJDK is good. Oracle's one is also good). JavaFX not needed (it's embedded). | |||
* <code>root # java -jar /path/to/NS-USBloader.jar</code> | |||
* Optional: add user to 'udev' rules to use NS not-from-root-account | |||
**<code>root # vim /etc/udev/rules.d/99-NS.rules</code> | |||
**<code>SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666"</code> | |||
**<code>root # udevadm control --reload-rules && udevadm trigger</code> | |||
* For RCM part | |||
**<code>root # vim /etc/udev/rules.d/99-NS-RCM.rules</code> | |||
**<code>SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7321", MODE="0666"</code> | |||
**<code>root # udevadm control --reload-rules && udevadm trigger</code> | |||
* For HiDPI use scaling like <code>java -Dglass.gtk.uiScale=150% -jar application.jar</code> | |||
'''Raspberry Pi:''' | |||
* Install JDK: <code>sudo apt install default-jdk</code> | |||
* For UI install JavaFX: <code>sudo apt install openjfx</code> | |||
* See "Linux" section to update "udev" and the RCM part. | |||
'''macOS:''' | |||
*Double-click on downloaded .jar file. Follow instructions. Or see "Linux" section. | |||
*Set "Security & Privacy" settings if needed. | |||
*Please note: JDK 19 is recommended for using on macOS. There are issues already reported from users on Mac with JDK 14. | |||
'''macOS on Apple Silicon (ARM):''' | |||
*Download application with <code>-m1.jar</code> postfix. | |||
'''Windows:''' | |||
*Once application opens click on "Gear" icon. | |||
*Click "Download and install drivers". Install drivers. | |||
==User guide== | |||
===Supports=== | |||
*Awoo installer. | |||
*GoldLeaf v0.10 (NS-USBloader v6.0). | |||
*GoldLeaf v0.8-0.9 (since NS-USBloader v1.0+). | |||
*GoldLeaf v0.7.x (since NS-USBloader v0.7+). | |||
*GoldLeaf v0.6.1 (NS-USBloader v0.6). | |||
*GoldLeaf v0.5 (NS-USBloader v0.4 - v0.5.2, v0.8+). | |||
*TinFoil - both USB and Net methods (developed by Adubbz, 0.2.1). | |||
===How to use=== | |||
The first thing you should do it install Awoo ([https://github.com/Huntereb/Awoo-Installer Huntereb]) or Goldleaf ([https://github.com/XorTroll/Goldleaf XorTroll]) on your NS. | |||
Take a look on app, find where is the option to install from USB and/or Network. Maybe (very old) [https://developersu.blogspot.com/2019/02/ns-usbloader-en.html this article (about TinFoil)] will be helpful. | |||
'''"Gamepad" tab:''' | |||
At the top of you selecting from drop-down application and protocol that you're going to use. For Goldleaf only USB is available. Lamp icon stands for switching themes (light or dark). Then you may drag-n-drop files (split-files aka folders) to application or use "Select NSP files" button. Multiple selection for files available. Click it again and select files from another folder it you want, it will be added into the table. | |||
There you can select checkbox for files that will be sent to application (AW/GL). Also, you can use space to select/un-select files and "delete" button for deleting. By right-mouse-click you can see context menu where you can delete one OR all items from the table. | |||
For Goldleaf v0.6.1 and NS-USBloader v0.6 (and higher) you will have to use "Explore content" > "Remote PC (via USB)". You will see two drives HOME:/ and VIRT:/. First drive is pointing to your home directory. Second one is reflection of what you've added to table (first application tab). Also VIRT:/ drive have limited functionality in comparison to HOME:/. E.g. you can't write files to this drive since it's not a drive. But don't worry, it won't make any impact on Goldleaf or your NS if you try. | |||
Also, for Goldleaf write files (from NS to PC): You have to "Stop execution" properly before accessing files transferred from GL. Usually you have to wait 5sec or less. It will guarantee that your files properly written to PC. | |||
'''"RCM" tab:''' | |||
On this tab you can select payloader like Hekate or LockPick_RCM and send it to NS. Drag-n-drop supported. Also some in-app validations for payload takes place. | |||
'''"Folder with arrows and zeroes" tab:''' | |||
On this tab you can split and merge files. Select "Split" or "Merge" and split (or merge). BTW Drag-n-drop supported. | |||
'''"Gears" tab:''' | |||
Here you can configure settings for network file transmission. Usually you shouldn't change anything. But it you're cool hacker, go ahead! The most interesting option here is "Don't serve requests". Architecture of the Awoo's NET part is working interesting way. When you select in Awoo network NSP transfer, application will wait at port 2000 for the information about where should it take files from. Like "192.168.1.5:6060/my file.nsp". | |||
Usually NS-USBloader serves requests by implementing simplified HTTP server and bringing it up and so on. But if this option selected, you can define path to remote location of the files. For example if you set in settings "192.168.4.2:80/ROMS/NS/" and add in table file "my file.nsp" then NS-USBloader will simply tell Awoo "Hey, go take files from "192.168.4.2:80/ROMS/NS/my%20file.nsp". Of course you have to bring "192.168.4.2" host up and make file accessible from such address (just go install nginx). | |||
Also here you can: | |||
*Set "Auto-check for updates" for checking for updates when application starts, or click button to verify if new version released immediately. | |||
*Set "Show only *.nsp in Goldleaf" to filter all files displayed at HOME:/ drive. So only NSP files will appear. | |||
'''"Dialog with three dots" tab:''' | |||
That's where all logs dropped. Verbose information about transmissions comes here. | |||
===CLI (command line interface)=== | |||
To get help run <code>$ java -jar ns-usbloader-4.0.jar --help</code> | |||
<pre> | |||
-c,--clean Remove/reset settings and exit | |||
-g,--Goldleaf <...> Install via Goldleaf mode. Check '-g help' for information. | |||
-h,--help Show this help | |||
-m,--merge <...> Merge files. Check '-m help' for information. | |||
-n,--tfn <...> Install via Awoo Network mode. Check '-n help' for information. | |||
-r,--rcm <[PATH/]payload.bin> Send payload | |||
-s,--split <...> Split files. Check '-s help' for information. | |||
-t,--tinfoil <FILE...> Install via Awoo USB mode. | |||
-v,--version Show application version | |||
</pre> | |||
For more complex commands help use help argument after the fists key. For example: | |||
<pre> | |||
$ java -jar ns-usbloader-4.0.jar -n help | |||
Usage: | |||
ns-usbloader -n nsip=<arg1> [hostip=<arg2>] FILE1 ... | |||
ns-usbloader --tfn nsip=<arg1> [hostip=<arg2>] FILE1 ... | |||
Options: | |||
nsip=<ip> Define NS IP address (mandatory) | |||
hostip=<ip[:port]> Define this host IP address. Will be obtained automatically if not set. | |||
</pre> | |||
Usage examples: | |||
<pre> | |||
Send RCM payload: | |||
$ java -jar ns-usbloader-4.0.jar -r C:\Users\Superhero\hekate.bin | |||
Send files to Awoo Installer via Net-install: | |||
$ java -jar ns-usbloader-4.0.jar -n nsip=192.168.0.1 ./file.nsz ./file.nsp ~/*.xci | |||
Send files to Goldleaf v0.8: | |||
$ java -jar ns-usbloader-4.0.jar -g ver=v0.8 ./* | |||
Split files: | |||
$ java -jar ns-usbloader-4.0.jar -s /tmp/ ~/*.nsp | |||
Merge files: | |||
$ java -jar ns-usbloader-4.0.jar -m /tmp/ ~/*.nsp | |||
</pre> | |||
== | ===Notes=== | ||
"Status" = "Uploaded" that appears in the table does not mean that file has been installed. It means that it has been sent to NS without any issues. That's what this app about. Handling successful/failed installation is a purpose of the other side application: Awoo/Awoo-like or Goldleaf. And they don't provide any feedback interfaces so I can't detect success/failure. | |||
What is this "-legacy" jar: | |||
*JAR with NO postfixes recommended for Windows users, Linux users and macOS users who're using Mojave or later versions. | |||
*JAR with "-legacy" postfix is for macOS users who're still using OS X releases before (!) Mojave. (It also works for Linux and for Windows, but sometimes it doesn't work for Windows). | |||
*We have this situation because of weird behaviour inside usb4java library used in this application for USB interactions. In "-legacy" it's v1.2.0 and in 'normal' it's v1.3.0. | |||
==Screenshots== | ==Screenshots== | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/nsusbloadernx2.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/nsusbloadernx3.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/nsusbloadernx4.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/nsusbloadernx5.png | ||
https://dlhb.gamebrew.org/switchhomebrews/ | https://dlhb.gamebrew.org/switchhomebrews/nsusbloadernx6.png | ||
==Known issues== | |||
In some moments you can't interrupt file(s) transmission from application side if using Tinfoil/Net-install. | |||
==Changelog== | ==Changelog== | ||
''' | '''v7.0 2023/02/11''' | ||
* | *First things first. @kuragehimekurara1 translated this application to Japanese and Ryukyuan languages! Thank you! | ||
*Build setup updated to generate sources for Java 11. This means, that now in linux and mac you have to install JDK11 or higher. | |||
*macOS M1 users, there is a <code>ns-usbloader-7.0-m1.jar</code> built for you! Works with any JDK, so no need to search and install something special. I've tested it with Oracle JDK 19. It was [https://www.oracle.com/java/technologies/downloads/#jdk19-mac Java SE Development Kit 19.0.2 'Arm 64 DMG Installer']. | |||
**EDIT (17.02.23): On apple silicone you still have to manually install libusb via brew install <code>libusb</code>. | |||
*Windows users now receives <code>Installer-7.0.exe</code> which installs all necessary dependenies at once! In other words you don't have to download and install JRE from java.com. Application (jar) wrapped into exe file and bundled with java runtime. It was 'taken' from OpenJDK 19.0.2. | |||
*Since this release you are also will be able to install 'Split NSP/XCI/NSZ/XCZ', not only 'NSP'. This silly limitation removed. To be honest, I didn't test it. Guess it's should be fine. | |||
'''v6.1 2022/09/25''' | |||
*Swedish translation added by @yeager. Thank you. | |||
*Korean translation updated by @DDinghoya. Thank you. | |||
'''v6.0 2022/08/03''' | |||
*GoldLeaf v0.10 support added. | |||
*Chinese translation (Traditional) updated by @qazrfv1234. Thank you. | |||
*Chinese translation (Simplified) updated by @exiori. Thank you. | |||
*Korean translation updated by @DDinghoya. Thank you. | |||
*Spanish translation updated by @Uzi-Oni. Thank you. | |||
'''v5.2 2021/09/16''' | |||
*Apple Silicon support. To run it on M1 you will need [https://www.azul.com/downloads/zulu-community/?version=java-11-lts&os=macos&architecture=arm-64-bit&package=jdk-fx Zulu-JDK with FX]. Please check [https://github.com/developersu/ns-usbloader/issues/91 discussion thread] for details. | |||
**I don't have apple hardware and I highly appreciate community assistance in implementing this feature! Thank you for library, **@agungrbudiman! Thank you for testing, @cythb! And thank you for ideas, [https://github.com/nastye nastye]. | |||
*Chinese translations (Simplified and Traditional) updated by [https://www.xxgame.net/ FFT9 (XXgame Group)]. Thank you. | |||
'''v5.1 2021/08/26''' | |||
*Batch Split/Merge in GUI (fix [https://github.com/developersu/ns-usbloader/issues/87 #87]). | |||
*On start always open tab which has been opened before application closed (Game/RCM/Split-Merge). | |||
*Update to OpenJFX 16. Should be fixing issues on some macOS ([https://github.com/developersu/ns-usbloader/issues/44 #44] and [https://github.com/developersu/ns-usbloader/issues/92 #92]). | |||
*Replaced 'Tinfoil' name to 'Awoo' everywhere because I think we need a new name to specify 'original Tinfoil'. Since it's 99% the same, *let's just use this. Reference to [https://github.com/Huntereb/Awoo-Installer Awoo Installer] but as always you are more than welcome to use what you want. | |||
*Tested compatibility with GoldLeaf 0.9 and added small updates to UI. | |||
*Korean translation updated by [https://github.com/DDinghoya DDinghoya]. Thank you. | |||
*Romanian translation added by [https://github.com/calini Călin Ilie]. Thank you. | |||
*Italian translation updated by [https://github.com/unbranched unbranched]. Thank you. | |||
'''v5.0 2020/12/10''' | |||
*@wolfposd added 'files-scanner functionality': You can select folder instead of file/files to run recursive scan: all supported formats would be added. Same functionality set for drag-n-drop. See [https://github.com/developersu/ns-usbloader/issues/51 #51] for details (BTW it's not yet implemented for CLI). Thank you, wolfposd! | |||
*@eslamabdel translated application to Arabic. Thank you. | |||
*@DDinghoya updated Korean translation. Thank you. | |||
*Other not important minor color adjustments for 'light' theme, aligning pixels etc. | |||
'''v4.5 2020/11/07''' | |||
*Real fix for [https://github.com/developersu/ns-usbloader/issues/79 #79], [https://github.com/developersu/ns-usbloader/issues/80 #80] and [https://github.com/developersu/ns-usbloader/issues/81 #81]. | |||
*Long story short: In situation when application configuration (for whatever reason) contained incorrect/non-existing path to the recently used directory, application crashed or buttons stopped working. So now it's finally fixed. Really. I tested (Thanks for details, @tefanga). | |||
'''v4.4 2020/11/06''' | |||
*Fix broken "Don't serve requests" option. | |||
*Update Brazilian Portuguese Translation by @andercard0. Thank you. | |||
*Fix/improve split-files validations. | |||
*Fix [https://github.com/developersu/ns-usbloader/issues/79 #79] (Merge: Save to folder not working), [https://github.com/developersu/ns-usbloader/issues/80 #80] (Select NSP files not working). Thanks @xXxQuiquexXx, @tefanga. | |||
'''v4.3 2020/09/24''' | |||
*Simplified Chinese translation updated by @exiori. Thank you. | |||
*Brazilian Portuguese translation updated by @almircanella. Thank you. | |||
'''v4.2 2020/07/28''' | |||
*Add Czech Translation by @spenaat. Thank you. | |||
*Add Traditional Chinese translation by @qazrfv1234. Thank you. | |||
*Minor corrections: language drop-down selector in settings now showing language names (and locale) instead of three-letter abbreviations; preferences option name changed (back end). | |||
[https://github.com/developersu/ns-usbloader/releases Release notes.] | |||
==Credits== | |||
List of awesome code contributors, translators and other great people: | |||
*[https://github.com/DarkMatterCore Pablo Curiel (DarkMatterCore)]. | |||
*[https://github.com/wolfposd wolfposd]. | |||
*[https://github.com/agungrbudiman agungrbudiman]. | |||
*Perfect algorithms and great examples taken from mrdude project [https://github.com/mrdude2478/IPS_Patch_Creator/ mrdude2478/IPS_Patch_Creator]. | |||
*French by [https://github.com/JackFromNice Stephane Meden (JackFromNice)]. | |||
*Italian by [https://github.com/unbranched unbranched]. | |||
*Korean by [https://github.com/DDinghoya DDinghoya]. | |||
*Portuguese by [https://github.com/almircanella almircanella]. | |||
*Spanish by [https://www.reddit.com/u/cokimaya007 /u/cokimaya007], [https://github.com/Uzi-Oni Kuziel Alejandro]. | |||
*Chinese (Simplified) by [https://github.com/htynkn Huang YunKun (htynkn)], [https://www.xxgame.net/ FFT9 (XXgame Group)]. | |||
*Chinese (Traditional) by [https://github.com/qazrfv1234 qazrfv1234], [https://www.xxgame.net/ FFT9 (XXgame Group)]. | |||
*German by [https://github.com/Swarsele Swarsele]. | |||
*Vietnamese by [https://github.com/pnghai Hai Phan Nguyen (pnghai)]. | |||
*Czech by [https://github.com/spenaat Spenaat]. | |||
*Arabic by [https://github.com/eslamabdel eslamabdel]. | |||
*Romanian by [https://github.com/calini Călin Ilie]. | |||
*Swedish by [https://github.com/yeager Daniel Nylander]. | |||
*Japanese by [https://github.com/kuragehimekurara1 kuragehime]. | |||
*Ryukyuan languages by [https://github.com/kuragehimekurara1 kuragehime]. | |||
*Angelo Elias Dalzotto makes packages in AUR. | |||
*Phoenix[Msc] provides his shiny Mac M1 for debug. | |||
== External links == | == External links == | ||
* | * Author's website - https://developersu.blogspot.com/search/label/NS-USBloader | ||
* GitHub - https://github.com/developersu/ns-usbloader | |||
* GBAtemp - https://gbatemp.net/threads/ns-usbloader-another-one-tinfoil-and-goldleaf-usb-installer.533394/ |
Revision as of 07:14, 16 Haziran 2023
NS-USBloader | |
---|---|
General | |
Author | developersu |
Type | PC Utilities |
Version | 7.0 |
License | GPL-3.0 |
Last Updated | 2023/02/11 |
Links | |
Download | |
Website | |
Source | |
Support Author | |
NS-USBloader is a PC-side installer for Huntereb/Awoo-Installer / other compatible installers (USB and Network supported) and XorTroll/Goldleaf (USB) NSP installer. Alternative to default usb_install_pc.py, remote_install_pc.py, GoldTree/Quark.
This application also could be used as RCM payload on Windows, MacOS and Linux.
Features
- PC-side installer for Adubbz/TinFoil (v0.2.1), Huntereb/Awoo-Installer (USB and Network supported) and XorTroll/GoldLeaf (USB) NSP installer.
- RCM payload tool that works on Windows, macOS (Intel and Apple Silicon) and Linux (x86, amd64 and Raspberry Pi ARM).
- Multiple file selection.
- Can create split files.
- Can merge split-files into one.
- With GUI and cookies. Works on Windows, macOS and Linux.
- Click here for Android version.
Installation
Requirements
Java JRE/JDK 11+ or higher for mac and linux.
How to setup
Linux:
- Install JRE/JDK 8u60 or higher (openJDK is good. Oracle's one is also good). JavaFX not needed (it's embedded).
root # java -jar /path/to/NS-USBloader.jar
- Optional: add user to 'udev' rules to use NS not-from-root-account
root # vim /etc/udev/rules.d/99-NS.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="3000", MODE="0666"
root # udevadm control --reload-rules && udevadm trigger
- For RCM part
root # vim /etc/udev/rules.d/99-NS-RCM.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7321", MODE="0666"
root # udevadm control --reload-rules && udevadm trigger
- For HiDPI use scaling like
java -Dglass.gtk.uiScale=150% -jar application.jar
Raspberry Pi:
- Install JDK:
sudo apt install default-jdk
- For UI install JavaFX:
sudo apt install openjfx
- See "Linux" section to update "udev" and the RCM part.
macOS:
- Double-click on downloaded .jar file. Follow instructions. Or see "Linux" section.
- Set "Security & Privacy" settings if needed.
- Please note: JDK 19 is recommended for using on macOS. There are issues already reported from users on Mac with JDK 14.
macOS on Apple Silicon (ARM):
- Download application with
-m1.jar
postfix.
Windows:
- Once application opens click on "Gear" icon.
- Click "Download and install drivers". Install drivers.
User guide
Supports
- Awoo installer.
- GoldLeaf v0.10 (NS-USBloader v6.0).
- GoldLeaf v0.8-0.9 (since NS-USBloader v1.0+).
- GoldLeaf v0.7.x (since NS-USBloader v0.7+).
- GoldLeaf v0.6.1 (NS-USBloader v0.6).
- GoldLeaf v0.5 (NS-USBloader v0.4 - v0.5.2, v0.8+).
- TinFoil - both USB and Net methods (developed by Adubbz, 0.2.1).
How to use
The first thing you should do it install Awoo (Huntereb) or Goldleaf (XorTroll) on your NS.
Take a look on app, find where is the option to install from USB and/or Network. Maybe (very old) this article (about TinFoil) will be helpful.
"Gamepad" tab:
At the top of you selecting from drop-down application and protocol that you're going to use. For Goldleaf only USB is available. Lamp icon stands for switching themes (light or dark). Then you may drag-n-drop files (split-files aka folders) to application or use "Select NSP files" button. Multiple selection for files available. Click it again and select files from another folder it you want, it will be added into the table.
There you can select checkbox for files that will be sent to application (AW/GL). Also, you can use space to select/un-select files and "delete" button for deleting. By right-mouse-click you can see context menu where you can delete one OR all items from the table.
For Goldleaf v0.6.1 and NS-USBloader v0.6 (and higher) you will have to use "Explore content" > "Remote PC (via USB)". You will see two drives HOME:/ and VIRT:/. First drive is pointing to your home directory. Second one is reflection of what you've added to table (first application tab). Also VIRT:/ drive have limited functionality in comparison to HOME:/. E.g. you can't write files to this drive since it's not a drive. But don't worry, it won't make any impact on Goldleaf or your NS if you try.
Also, for Goldleaf write files (from NS to PC): You have to "Stop execution" properly before accessing files transferred from GL. Usually you have to wait 5sec or less. It will guarantee that your files properly written to PC.
"RCM" tab:
On this tab you can select payloader like Hekate or LockPick_RCM and send it to NS. Drag-n-drop supported. Also some in-app validations for payload takes place.
"Folder with arrows and zeroes" tab:
On this tab you can split and merge files. Select "Split" or "Merge" and split (or merge). BTW Drag-n-drop supported.
"Gears" tab:
Here you can configure settings for network file transmission. Usually you shouldn't change anything. But it you're cool hacker, go ahead! The most interesting option here is "Don't serve requests". Architecture of the Awoo's NET part is working interesting way. When you select in Awoo network NSP transfer, application will wait at port 2000 for the information about where should it take files from. Like "192.168.1.5:6060/my file.nsp".
Usually NS-USBloader serves requests by implementing simplified HTTP server and bringing it up and so on. But if this option selected, you can define path to remote location of the files. For example if you set in settings "192.168.4.2:80/ROMS/NS/" and add in table file "my file.nsp" then NS-USBloader will simply tell Awoo "Hey, go take files from "192.168.4.2:80/ROMS/NS/my%20file.nsp". Of course you have to bring "192.168.4.2" host up and make file accessible from such address (just go install nginx).
Also here you can:
- Set "Auto-check for updates" for checking for updates when application starts, or click button to verify if new version released immediately.
- Set "Show only *.nsp in Goldleaf" to filter all files displayed at HOME:/ drive. So only NSP files will appear.
"Dialog with three dots" tab:
That's where all logs dropped. Verbose information about transmissions comes here.
CLI (command line interface)
To get help run $ java -jar ns-usbloader-4.0.jar --help
-c,--clean Remove/reset settings and exit -g,--Goldleaf <...> Install via Goldleaf mode. Check '-g help' for information. -h,--help Show this help -m,--merge <...> Merge files. Check '-m help' for information. -n,--tfn <...> Install via Awoo Network mode. Check '-n help' for information. -r,--rcm <[PATH/]payload.bin> Send payload -s,--split <...> Split files. Check '-s help' for information. -t,--tinfoil <FILE...> Install via Awoo USB mode. -v,--version Show application version
For more complex commands help use help argument after the fists key. For example:
$ java -jar ns-usbloader-4.0.jar -n help Usage: ns-usbloader -n nsip=<arg1> [hostip=<arg2>] FILE1 ... ns-usbloader --tfn nsip=<arg1> [hostip=<arg2>] FILE1 ... Options: nsip=<ip> Define NS IP address (mandatory) hostip=<ip[:port]> Define this host IP address. Will be obtained automatically if not set.
Usage examples:
Send RCM payload: $ java -jar ns-usbloader-4.0.jar -r C:\Users\Superhero\hekate.bin Send files to Awoo Installer via Net-install: $ java -jar ns-usbloader-4.0.jar -n nsip=192.168.0.1 ./file.nsz ./file.nsp ~/*.xci Send files to Goldleaf v0.8: $ java -jar ns-usbloader-4.0.jar -g ver=v0.8 ./* Split files: $ java -jar ns-usbloader-4.0.jar -s /tmp/ ~/*.nsp Merge files: $ java -jar ns-usbloader-4.0.jar -m /tmp/ ~/*.nsp
Notes
"Status" = "Uploaded" that appears in the table does not mean that file has been installed. It means that it has been sent to NS without any issues. That's what this app about. Handling successful/failed installation is a purpose of the other side application: Awoo/Awoo-like or Goldleaf. And they don't provide any feedback interfaces so I can't detect success/failure.
What is this "-legacy" jar:
- JAR with NO postfixes recommended for Windows users, Linux users and macOS users who're using Mojave or later versions.
- JAR with "-legacy" postfix is for macOS users who're still using OS X releases before (!) Mojave. (It also works for Linux and for Windows, but sometimes it doesn't work for Windows).
- We have this situation because of weird behaviour inside usb4java library used in this application for USB interactions. In "-legacy" it's v1.2.0 and in 'normal' it's v1.3.0.
Screenshots
Known issues
In some moments you can't interrupt file(s) transmission from application side if using Tinfoil/Net-install.
Changelog
v7.0 2023/02/11
- First things first. @kuragehimekurara1 translated this application to Japanese and Ryukyuan languages! Thank you!
- Build setup updated to generate sources for Java 11. This means, that now in linux and mac you have to install JDK11 or higher.
- macOS M1 users, there is a
ns-usbloader-7.0-m1.jar
built for you! Works with any JDK, so no need to search and install something special. I've tested it with Oracle JDK 19. It was Java SE Development Kit 19.0.2 'Arm 64 DMG Installer'.- EDIT (17.02.23): On apple silicone you still have to manually install libusb via brew install
libusb
.
- EDIT (17.02.23): On apple silicone you still have to manually install libusb via brew install
- Windows users now receives
Installer-7.0.exe
which installs all necessary dependenies at once! In other words you don't have to download and install JRE from java.com. Application (jar) wrapped into exe file and bundled with java runtime. It was 'taken' from OpenJDK 19.0.2. - Since this release you are also will be able to install 'Split NSP/XCI/NSZ/XCZ', not only 'NSP'. This silly limitation removed. To be honest, I didn't test it. Guess it's should be fine.
v6.1 2022/09/25
- Swedish translation added by @yeager. Thank you.
- Korean translation updated by @DDinghoya. Thank you.
v6.0 2022/08/03
- GoldLeaf v0.10 support added.
- Chinese translation (Traditional) updated by @qazrfv1234. Thank you.
- Chinese translation (Simplified) updated by @exiori. Thank you.
- Korean translation updated by @DDinghoya. Thank you.
- Spanish translation updated by @Uzi-Oni. Thank you.
v5.2 2021/09/16
- Apple Silicon support. To run it on M1 you will need Zulu-JDK with FX. Please check discussion thread for details.
- I don't have apple hardware and I highly appreciate community assistance in implementing this feature! Thank you for library, **@agungrbudiman! Thank you for testing, @cythb! And thank you for ideas, nastye.
- Chinese translations (Simplified and Traditional) updated by FFT9 (XXgame Group). Thank you.
v5.1 2021/08/26
- Batch Split/Merge in GUI (fix #87).
- On start always open tab which has been opened before application closed (Game/RCM/Split-Merge).
- Update to OpenJFX 16. Should be fixing issues on some macOS (#44 and #92).
- Replaced 'Tinfoil' name to 'Awoo' everywhere because I think we need a new name to specify 'original Tinfoil'. Since it's 99% the same, *let's just use this. Reference to Awoo Installer but as always you are more than welcome to use what you want.
- Tested compatibility with GoldLeaf 0.9 and added small updates to UI.
- Korean translation updated by DDinghoya. Thank you.
- Romanian translation added by Călin Ilie. Thank you.
- Italian translation updated by unbranched. Thank you.
v5.0 2020/12/10
- @wolfposd added 'files-scanner functionality': You can select folder instead of file/files to run recursive scan: all supported formats would be added. Same functionality set for drag-n-drop. See #51 for details (BTW it's not yet implemented for CLI). Thank you, wolfposd!
- @eslamabdel translated application to Arabic. Thank you.
- @DDinghoya updated Korean translation. Thank you.
- Other not important minor color adjustments for 'light' theme, aligning pixels etc.
v4.5 2020/11/07
- Real fix for #79, #80 and #81.
- Long story short: In situation when application configuration (for whatever reason) contained incorrect/non-existing path to the recently used directory, application crashed or buttons stopped working. So now it's finally fixed. Really. I tested (Thanks for details, @tefanga).
v4.4 2020/11/06
- Fix broken "Don't serve requests" option.
- Update Brazilian Portuguese Translation by @andercard0. Thank you.
- Fix/improve split-files validations.
- Fix #79 (Merge: Save to folder not working), #80 (Select NSP files not working). Thanks @xXxQuiquexXx, @tefanga.
v4.3 2020/09/24
- Simplified Chinese translation updated by @exiori. Thank you.
- Brazilian Portuguese translation updated by @almircanella. Thank you.
v4.2 2020/07/28
- Add Czech Translation by @spenaat. Thank you.
- Add Traditional Chinese translation by @qazrfv1234. Thank you.
- Minor corrections: language drop-down selector in settings now showing language names (and locale) instead of three-letter abbreviations; preferences option name changed (back end).
Credits
List of awesome code contributors, translators and other great people:
- Pablo Curiel (DarkMatterCore).
- wolfposd.
- agungrbudiman.
- Perfect algorithms and great examples taken from mrdude project mrdude2478/IPS_Patch_Creator.
- French by Stephane Meden (JackFromNice).
- Italian by unbranched.
- Korean by DDinghoya.
- Portuguese by almircanella.
- Spanish by /u/cokimaya007, Kuziel Alejandro.
- Chinese (Simplified) by Huang YunKun (htynkn), FFT9 (XXgame Group).
- Chinese (Traditional) by qazrfv1234, FFT9 (XXgame Group).
- German by Swarsele.
- Vietnamese by Hai Phan Nguyen (pnghai).
- Czech by Spenaat.
- Arabic by eslamabdel.
- Romanian by Călin Ilie.
- Swedish by Daniel Nylander.
- Japanese by kuragehime.
- Ryukyuan languages by kuragehime.
- Angelo Elias Dalzotto makes packages in AUR.
- Phoenix[Msc] provides his shiny Mac M1 for debug.