Socket Punch is an app developed for sending CIA files through local network and install them directly using FBI's network abilities. Current platforms: Java 8 (32 and 64 bit), Windows 7+ (64-bit only) and Android 2.3.3+ (tested only on 4.0+ so far). Download links below. The original SocketPunch GUI app was developed by GBATemp's user @Joshtech thanks to @Steveice10's sockfile. You can find the orignal SocketPunch it in his original post. The app is available for desktop Java 8 platform and as a Java Native EXE installer. The Java version (JAR file) should work on Windows, Mac and some Linux distros, given that you can install the latest Oracle's Java version. The Java Native EXE installer works on Windows 7 and higher, and doesn't need you to install Java separately. You can help translate the desktop app to other languages! First read the instructions about how to use the desktop version, then head over to the "How to translate and test to your preferred language" section below, it's in green text, you won't get lost. The Android port should work on version 2.3.3 or higher. However, it's only been tested on Android 4.4 and 5.1 so far. You can find it below. As of April, 2016, Steveice10, the author of FBI, has released the 2.0 update. This update changed the way data is sent to the app from the PC. The Desktop version is already compatible with this new protocol, while the Android version still needs to be updated. While the Socket Punch Desktop app already works with the FBI 2 update, if you want to use the old sending method, you can use this FBI 1.4 build: Recommended FBI build from @wjchen (this build fixes the problem with big files stopping midway when transferring in FBI 1.4) Instructions for Android 1. Start the app from your app menu. 2. Press the OPEN CIA button. A Document Selector will show up, look for your CIA files. 3. After selecting you CIA file in step 2, open FBI in your 3DS and press Y button. 4. Copy the IP Address that FBI will show to the "IP Address" field in the app. 5. Press the Punch icon blue button in the bottom right corner. 6. Wait for your CIA file to be installed! Instructions for desktop 1. Start the JAR extension app. Or double click the installed Socket Punch app if you used the Native EXE installer. 2. Look for CIAS in your directories pressing the folder icon button in the upper right corner. (Or add them by dragging and dropping on the window). 3. Open FBI in your 3DS and press Y button. 4. Copy the IP Address that FBI will show to the "3DS IP Address" field in the app. 5. Press the Punch icon blue button in the bottom right corner. 6. Wait for your CIAS to be installed! Note: I recommend to disable the prompt option in FBI by pressing A when waiting for network. Specially if you're transfering many CIAS. Desktop version source code GitHub Repository Latest Android build March 18th, 2016: SocketPunch Android v0.5 alpha, third release Now you can add several files to a queue list. However, it still has problems installing all the queue at once, you'll need to press the Punch for each file. Pressing the Punch button will only attempt to send and install uncompleted files. Added button to the action bar for removing completed files from queue. It now tells you the elapsed minutes when the transfer completes, only in the app right now, not in the notification bar. If your app gets dropped out while transferring, the actual transfer will go on and complete alright, but the queue will be lost. This only should happen if you put the app in the background, and open several more of them. So, it's completely ok to transfer big files, since even if the app closes for opening others, the transfer is in a background app-independent thread. Improved the GUI a little bit to make it more similar to the desktop version. Some images: Warning: Spoilers inside! March 15th, 2016: SocketPunch Android v0.3 alpha, second release Added still untested support for Android 2.3.3 and higher. You can put app in background (change to another app, press home button, sleep your phone) and the transfer will go on. Added app punch icon for the app menu. March 12th, 2016: SocketPunch Android v0.1 alpha, first release Socket Punch for Android devices. Just install the APK. You can only open and send one file at a time. Requires Android 4.4 or higher. Still in alpha. There could be problems if you suspend your phone or put the app in the background while transferring a CIA. The transfer would cancel and the app will crash. Work in progress for adding all the functions of the desktop version. Excepting Drag & Drop. Latest desktop build June 19th, 2016: SocketPunch v1.2.5 Standard multiplatform JAR Fixed bug that prevented to send more than one file at in the same queue when using Newest Mode with FBI 2. Fixed bug that didn't open the file chooser if your last opened directory was removed or deleted. Note: There are some issues with language files right now. Method for loading strings will change for the next release, now it'll use XML files Warning: Spoilers inside! April 18th, 2016: SocketPunch MOD v1.2.1-beta Warning: Spoilers inside! Standard multiplatform JAR Native EXE Installer for Windows Bugfixes from 1.2.0 that prevented to complete the transfer once it reached 100%. I deleted that version from the log since it was broken with FBI 2. It should work now. This is what was added in 1.2.0-beta: Now compatible with the recent FBI 2 release. You can switch between old and new protocol, so you can still use wjchen's FBI 1.4 build if you want, or use the latest official FBI build by Steveice10. The FBI 2 (newest) mode should now transfer faster than v1.1.0-beta. Please, help me to test it. This is a beta release. The Newest Mode could present more bugs than the Legacy Mode, since it's been tested less. Added German thanks to user @robflop Added French thanks to user @Badablek March 25th, 2016: SocketPunch MOD v1.0.5 Standard multiplatform JAR Native EXE Installer for Windows Now you can re-order items in the list by dragging around and releasing the mouse button on another item (they will swap places in the list). Thanks to @WallK for suggesting this feature. Added Russian thanks to user @WallK Added Italian thanks to user @Real.96 . Users @Criminal90 and @iv2b, shared an Italian translation too, so thanks everyone! March 21st, 2016: SocketPunch MOD v1.0.3 Standard multiplatform JAR Native EXE Installer for Windows Added in-app updater for both JAR and Windows native versions. The app will check automatically for updates on startup, or you can check if there are updates by clicking on the Updates option from the context menu that shows when pressing the upper-left menu button. Added Chinese (simplified) thanks to user @qlm2009 March 20th, 2016: SocketPunch MOD v1.0.2 Standard multiplatform JAR Native EXE Installer for Windows This is embarrasing, but... String version fixed! It showed 0.9 in the last update, when it was actually the 1.0 release. Added button for showing progress options, they're not shown in the side bar anymore. Minor stability updates for improving the user experience. Now, seriously, I changed the socket transfer code a little bit, it should fix problems when the transfer hangs before finishing. Haven't tried on 2.5GB+ CIA sized files, though. If your transfers start hanging a lot more than before, please comment about it. Added brazilian portuguese thanks to translator @ZeuS_br March 17th, 2016: SocketPunch MOD v1.0 Standard multiplatform JAR Native EXE Installer for Windows Re-enabled the option for removing files from the queue after being transferred. It should work as expected now. Fixed a bug that prevented the queue to be transferred completely (it tried to send the same file many times). Now you can select between clearing the whole queue, or only removing only completed files from the list, when you use the icon button with a trash can icon. Added button for resetting the queue transfer progress to zero. The files at 100% progress transfer are ignored if they're still in the list when you punch again! Added option for exporting language files. This is useful for people who wants to translate it. March 16th, 2016: SocketPunch MOD v0.9 Standard multiplatform JAR Native EXE Installer for Windows Disabled option for deleting files when transferred. This is just temporary for this release, since there was a bug that tried to send the same file twice. Will be fixed for next update. Spanish language added. Just select it from the "Change Language" option. You need to restart the app when changing languages. Anyone can help translate the app now to their favorite language! Just translate the sample.txt file as explained below. You can share the TXT file with me once your translation is finished if you want, so I can add it to the package and everyone can enjoy it. March 15th, 2016: SocketPunch mod v0.8 Standard multiplatform JAR Native EXE Installer for Windows Transfer speed improved (should be quicker, or at least more stable). This hasn't been tested thoroughly. Please, help me test this if you have some spare time. Added checkbox for clearing files from queue list when transferred successfully. March 12th, 2016: SocketPunch mod v0.7 Standard multiplatform JAR Native EXE Installer for Windows Now the app shows the initial code for each CIA file. March 8th, 2016: SocketPunch mod v0.6 and Source Code released Standard multiplatform JAR Native EXE Installer for Windows GitHub Repository with source code Recommended FBI build from @wjchen Added option to delete only one item at a time from the queue. Make a secondary (right) click on the item you want to delete from the list. Source code released. I didn't clean it at all, it's messed up a lot. Click here. January 28th, 2016: SocketPunch mod v0.5 released Standard multiplatform JAR Native EXE Installer for Windows Minor changes on speed per second math. Thanks to @TecXero for the suggestion. It was a chaos before, it now shows average speed while transferring, and not frame speed. Added ETR math in minutes while transferring. January 27th, 2016: Socket Punch mod v0.4 released Transfer speed and transferred size info is now visible when transferring a file. Added check boxes for enabling or disabling showing updates when sending files. Elapsed time of transfer (in minutes) and average transfer speed is now added to the savelog file (log.txt). January 26th, 2016: Socket Punch mod v0.2 released Added option for changing the buffer size from the app itself. You could do this before, but only by editing the generated config.txt file. Just press the menu icon button in the upper left corner, and click Advanced options from the context menu. This feature was suggested by @Fabbbrrr Changed layout for making the toolbar smaller, and put main actions as icon buttons in the upper right corner. How to translate and test to your preferred language Warning: Spoilers inside! 1. Download and start the SocketPunch MOD app in your preferred distribution. 2. Click on the upper-left button (immediately next to the app title). 3. Select the Export language option from the context menu and then select the language you want to translate from. 4. Press the Export button, and save the text file to wherever you want. 5. Open and edit the exported text file from where you saved it. It should look like this: 6. If you have problems viewing the file correctly, I recommend using Notepad++ to edit it if you're a Windows user. Mac and Linux users shouldn't have any problem opening it on their default text viewers. 7. Translate all the lines to the language you want to. Let the part before the "=" the way it is, just change the text at the right side. Also, please note that in some lines you'll find three points together like this "...", those represent the place where runtime info (time, data size) will go, please don't remove then, but you can change them of place so that it makes sense with the language you us. Edit like in this example: 8. Now test your text file in the app! You can rename the sample.txt file to anything else you want (french.txt for example), just don't change the extension (leave it on .txt). Then click in the upper-left button (with the menu icon). 9. Press on the "Import language" option from the context menu that appeared. A file chooser will appear. Select the sample.txt file from the previous steps (or whatever name you changed it to, it just has to be a .txt extension file). 10. Click again the button in the upper-left corner. This time, press the "Change language" option. 11. Your TXT file will be in the available languages list. Select it and click the "CHANGE" button in the right-bottom corner of the dialog. 12. That's all! Now, simply close and then start the app again. It will load the text data you edited in the text file. 13. You can use it for yourself, or share it with me so I add it to the JAR package, this way it'll available to everyone who downloads the app. Please help me get as many languages as possible! Thank you so much for reading until the very end. FAQ Q: FBI doesn't want to connect, but I'm in a local network! A: Sadly, FBI most times doesn't connect if you don't have an active internet connection in your 3DS (with internet access, and not only local network access). If you are sure your local network have internet access, check that your internet connection is correctly set up in your 3DS Settings. Q: The transfer stops before it reaches 100%. I get a MISALIGNED error or something like that in FBI. A: Download and install wjchen's build of FBI. The download link is nearly on the top of this post. Look for orange letters. Q: Does it work if I'm using my 3DS connected to wifi tethering on my mobile device? A: Yes, as long as your PC is connected to that same mobile network, and you have internet access. Q: From my last question, I was talking about the Android app working with wifi tethering connected 3DS. A: Oh. Yes, it should work. You can turn on your WiFi tethering on an Android device, and after connecting your 3DS to it, the Android app should work correctly with the local IP your 3DS will show. Thanks to @Joshtech for his amazing work! Thanks to @Steveice10 for his amazing homebrew app! Thanks to @wjchen for sharing a FBI build with the misaligned issue fixed! Thanks to @ZeuS_br for sharing a brazilian portuguese translation for the desktop version. Thanks to @qlm2009 for sharing a Simplified Chinese translation for the desktop version. Thanks to @Real.96 for sharing an Italian translation for the desktop version. Thanks to @WallK for sharing a Russian translation for the desktop version. Thanks to @robflop for sharing a German translation for the desktop version. Thanks to @Badablek for sharing a French translation for the desktop version.