Homebrew [Release] CTRXplorer - Open Source SD File Manager

  • Thread starter d0k3
  • Start date
  • Views 111,427
  • Replies 273
  • Likes 46

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,822
Country
Germany
CTRXplorer is an open source SD file manager. Its design is based around the UI functions of the excellent ctrcommon library by @Steveice10. So, if you have been a FBI user in the past, it may look familiar to you. It's goal is to be a simple, functional tool for managing your files without any unneeded bloat.

Current public version: v0.9.8.1
CTRXplorer v0.9.8.1
What's new:
o Virtual keyboard available for string mode editing in hex editor

CTRXplorer v0.9.8
What's new:
o String mode editing enabled in hex editor
o New logo animation thanks to PabloMK7

CTRXplorer v0.9.7
What's new:
o Implemented touchscreen keyboard for various string inputs
o New flashy banner sound thanks to Krude
o Compatible with most recent citrus & libctru
o Various smaller fixes and improvements

CTRXplorer v0.9.6
What's new:
o Fixed text viewer crashing issues
o Enabled case sensitive rename
o Directory loading speed increased
o Changes for latest citrus & buildtools

CTRXplorer v0.9.5
What's new:
o Keep clipboard contents when copying files / folders
o Allow overwriting existing files / folders when renaming
o Improved the overwrite confirm dialog for moving / copying

CTRXplorer v0.9.4
What's new:
o Existing files can now be overwritten by user choice when copying / moving / generating dummy files

CTRXplorer v0.9.3
What's new:
o Hex viewer now allows searching for strings / data
o Hex viewer now has a fast scroll mode
o New hexedit mode, allowing to remove / edit / insert data
o Now includes a basic text viewer
o Position bars indicate current position in file browser / hex viewer / hex editor / text viewer
o Tons of minor improvements and bugfixes

CTRXplorer v0.8.9
What's new:
o Migrated everything to citrus
o Some source code optimizations and reorganizations
o Compiled with latest Citrus & CTRUlib

CTRXplorer v0.8.8
What's new:
o Compiled with latest CTRcommon & CTRUlib
o This should solve any issues with *hax 2.5

CTRXplorer v0.8.7
What's new:
o Compiled with latest CTRcommon & CTRUlib
o Ninjhax v2.1 compatibility

CTRXplorer v0.8.6
What's new:
o Updated to latest CTRcommon library
o Properly exit to launcher on Ninjhax 2.0 / Tubehax / Ironhax

CTRXplorer v0.8.5
o Added a hex viewer (use Button A on regular files)

CTRXplorer v0.8.0
o Revised control scheme based on tap (t) and hold (h) actions.
o Improvements to file copy speed
o Various minor improvements and bug fixes

CTRXplorer v0.7.3
o First public release version with more still to come up.

Features

  • Delete single/mulitple files (tap X)
  • Rename files (hold X)
  • Copy single/multiple files (tap Y)
  • Move single/multiple files (hold Y)
  • Create directories (tap R)
  • Generate dummy files (hold R)
  • Display and edit files in a hex viewer (tap A)
  • Display files in a text viewer (hold A)

Downloads:


Binaries:
https://github.com/d0k3/CTRXplorer/releases
Source: https://github.com/d0k3/CTRXplorer


Screenshots:

h4CJ6SE.png
wWe72jf.png
GQtluSr.png
Poo8Iv6.png


These were provided by @ihaveamac. Thank you!


A Word of Warning:

This is a fully capable file manager, and as such per definition a powerful tool. While its implementation tries to prevent you from accidentially doing anything stupid, it still assumes you know what you're doing. For example, nothing (except from a quick confirmation prompt) will prevent you from just deleting the "Nintendo 3DS" folder. While being thoroughly tested and in daily use by a growing number of users, I can still not fully exclude that there are some bugs left. In short: I am not responsible for anything that goes wrong while you're using CTRXplorer.


More Info:

The binaries download contains 3DSX, 3DS and CIA files. By now, all binaries should have been tested enough to consider CTRXplorer a stable tool. If you're confused about how to access some of CTRXplorers functionality, pay attention to the instructions on top. Tap (or (t)) means to press the button shortly, Hold (or (h)) means holding the button for a moment.

If you should find any bugs, have some ideas or want something working differently, you may ask in this thread or directly edit the source on GitHub. Also, keep in mind that a mobile file manager has its limitations, and some operations (like renaming a lot of files or moving around big files) should better be done on PC via a card reader.


And to the Developers Among You:

Everything about CTRXplorer has been designed to be as easily reusable (in other projects, too) as possible. Just keep in mind you will need citrus and ctrulib to compile. Function interfaces are written to fit in with the ctrcommon library and work pretty well alongside the functionality of that. Also, my license won't hinder you in any way.


Not So Frequently Asked Questions:

"Why is copying files so slow?"
The 3DS internal hardware doesn't allow for more speed. Correct me if I'm wrong (if there's a faster method I'll implement it). It's basically the same problem as with FBI, where people regularily complain about CIA installation being awfully slow.

"Why can't I receive / manage files via network?"
ftBrony already does a better job at this than CTRXplorer could ever do. It is highly unlikely that CTRXplorer will ever get any network functionality.

"Why can't I view videos and images and/or listen to audio?"
An internal media player goes beyond the scope of CTRXplorer, which has the goal to be just a simple, no-bloat file manager. If you absolutely must have media play capabilities, I suggest you take a look at Sunshell.

"I know how to improve that. / I found a bug."
That's great! In fact, participation is encouraged. So, if you find a bug or know of a way to improve CTRXplorer, discuss it in the thread and/or edit the source code on GitHub.
 
Last edited by d0k3,

Jaitsu

Yet Another GBATemp Furry
Member
Joined
Jun 2, 2015
Messages
152
Trophies
0
Age
28
XP
161
Country
United States
Cool! Question, any idea whether or not it's safe to rename launcher.dats with this while running the CFW? It'd be a nice way to swap between this CFW and that one without having to pop the SD card into a computer and swap out the launcher.dats.
 

OctopusRift

GBATemp's Local Octopus, Open 9am-2am. "Not Yet"
Member
Joined
Nov 19, 2014
Messages
1,460
Trophies
0
XP
927
Country
Saint Kitts and Nevis
Cool! Question, any idea whether or not it's safe to rename launcher.dats with this while running the CFW? It'd be a nice way to swap between this CFW and that one without having to pop the SD card into a computer and swap out the launcher.dats.
OOOHHHH. YEAH.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,822
Country
Germany
Cool! Question, any idea whether or not it's safe to rename launcher.dats with this while running the CFW? It'd be a nice way to swap between this CFW and that one without having to pop the SD card into a computer and swap out the launcher.dats.
I'd say, nothing bad can happen if you try. In fact, I once accidentially deleted CTRXplorer.3DSX from CTRXplorer itself, and that also worked :D. Just try it and keep a backup of your launcher.dat!
 

OctopusRift

GBATemp's Local Octopus, Open 9am-2am. "Not Yet"
Member
Joined
Nov 19, 2014
Messages
1,460
Trophies
0
XP
927
Country
Saint Kitts and Nevis
IDEA! Create a sockfile interface to send files into the SD and Nand! That would be awesome.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,822
Country
Germany
IDEA! Create a sockfile interface to send files into the SD and Nand! That would be awesome.
I already thought about that, it would actually be pretty simple to include. Let me consider this for a bit. The SysNAND doesn't have an actual file system afaik, and it would be pretty dangerous if you could fiddle around there, so that might be out of the question.
 

OctopusRift

GBATemp's Local Octopus, Open 9am-2am. "Not Yet"
Member
Joined
Nov 19, 2014
Messages
1,460
Trophies
0
XP
927
Country
Saint Kitts and Nevis
I already thought about that, it would actually be pretty simple to include. Let me consider this for a bit. The SysNAND doesn't have an actual file system afaik, and it would be pretty dangerous if you could fiddle around there, so that might be out of the question.
Fair enough. Just a thought!
 

mid-kid

GBAtemp spamBOT
Member
Joined
Aug 2, 2012
Messages
879
Trophies
0
Age
23
XP
1,142
Country
Please use either tabs or spaces to indent your code. Don't mix them.
I'm sorry for Rinnegatamante, but his applications are usually bloated to death, and on top of that pretty buggy.

--------------------- MERGED ---------------------------

I already thought about that, it would actually be pretty simple to include. Let me consider this for a bit. The SysNAND doesn't have an actual file system afaik, and it would be pretty dangerous if you could fiddle around there, so that might be out of the question.

Yes it does. It's a fat16 partition. I don't know why it'd be useful to push files there, though, and it's not so trivial to implement afaik.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,822
Country
Germany
I already thought about that, it would actually be pretty simple to include. Let me consider this for a bit.
Fair enough. Just a thought!
Okay, I've been wrong. Sockfile clients do not send the filename, only the data, so it's not that simple. If I'm going to implement that, I'd not only have to write new functions for that, even a new client would be required. The only quick solution would require the user to enter the filename manually after the data was received, which would be pretty clunky. I'll keep considering adding that functionality, but other things are more important right now. FTbrony handles remote access much better than this could ever do, anyways. Download 3DSX from here, CIA/3DS from here.

Please use either tabs or spaces to indent your code. Don't mix them.
Already fixed. :)
 

Slushie3DS

Cold Beverage Lover
Member
Joined
Jan 9, 2015
Messages
707
Trophies
0
Age
26
XP
390
Country
United States
I already thought about that, it would actually be pretty simple to include. Let me consider this for a bit. The SysNAND doesn't have an actual file system afaik, and it would be pretty dangerous if you could fiddle around there, so that might be out of the question.
sysNAND.
System NAND.
NAND flash memory is a type of non-volatile storage technology that does not require power to retain data.

Open FBI in Ninjhax, hit L, and you are now viewing the NAND contents.
 

d0k3

3DS Homebrew Legend
OP
Member
Joined
Dec 3, 2004
Messages
2,784
Trophies
0
XP
3,822
Country
Germany
sysNAND.
System NAND.
NAND flash memory is a type of non-volatile storage technology that does not require power to retain data.

Open FBI in Ninjhax, hit L, and you are now viewing the NAND contents.
Only the installed apps, as far as I know. But it's correct, accessing the SysNAND file system might be possible. Still pretty dangerous and possibly not all that useful for most.
 
  • Like
Reactions: Slushie3DS
General chit-chat
Help Users
    Julie_Pilgrim @ Julie_Pilgrim: jeffrey is the name of some white kid who calls himself "hood" and listens to rap