[Release] CTRXplorer - Open Source SD File Manager

Discussion in '3DS - Homebrew Development and Emulators' started by d0k3, Jun 7, 2015.

  1. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    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
    Release history

    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:

    [​IMG] [​IMG] [​IMG] [​IMG]

    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, Feb 8, 2017
  2. OctopusRift

    OctopusRift GBATemp's Local Octopus, Open 9am-2am. "Not Yet"

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    No binaries... :(
     
  3. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    Uhm... They where here all along. Also, the link is included above.
     
  4. evandixon

    evandixon PMD Researcher

    Member
    1,686
    808
    May 29, 2009
    United States
    Maybe they aren't set to public?
     

    Attached Files:

    d0k3 likes this.
  5. OctopusRift

    OctopusRift GBATemp's Local Octopus, Open 9am-2am. "Not Yet"

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    That was it! They were private... :P
     
  6. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    Correct, and fixed now. Thank you! I'm just starting out with GitHub :).
     
    OctopusRift likes this.
  7. OctopusRift

    OctopusRift GBATemp's Local Octopus, Open 9am-2am. "Not Yet"

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    AWESOME. Needs some GUI work, but then might be better than ORGANIZ3D.
     
    d0k3 likes this.
  8. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    Thank you! Yes, there's still room for improvement and I'm open to suggestions.
     
    OctopusRift likes this.
  9. Jaitsu

    Jaitsu Yet Another GBATemp Furry

    Member
    152
    51
    Jun 2, 2015
    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.
     
  10. OctopusRift

    OctopusRift GBATemp's Local Octopus, Open 9am-2am. "Not Yet"

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    OOOHHHH. YEAH.
     
  11. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    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!
     
  12. OctopusRift

    OctopusRift GBATemp's Local Octopus, Open 9am-2am. "Not Yet"

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    IDEA! Create a sockfile interface to send files into the SD and Nand! That would be awesome.
     
  13. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    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.
     
  14. OctopusRift

    OctopusRift GBATemp's Local Octopus, Open 9am-2am. "Not Yet"

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    Fair enough. Just a thought!
     
  15. Slushie3DS

    Slushie3DS Cold Beverage Lover

    Member
    707
    294
    Jan 9, 2015
    United States
    Lovely release, friend.
     
  16. mid-kid

    mid-kid GBAtemp spamBOT

    Member
    879
    962
    Aug 2, 2012
    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.

    — Posts automatically merged - Please don't double post! —

    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.
     
  17. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    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.

    Already fixed. :)
     
  18. Slushie3DS

    Slushie3DS Cold Beverage Lover

    Member
    707
    294
    Jan 9, 2015
    United States
    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.
     
  19. d0k3
    OP

    d0k3 3DS Homebrew Legend

    Member
    2,641
    2,656
    Dec 3, 2004
    Gambia, The
    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.
     
    Slushie3DS likes this.
  20. Melon__Bread

    Melon__Bread ~It's A Magik~

    Member
    710
    400
    Dec 9, 2013
    United States
    Great work!
    Love the simple and bloat-free concept, similar to PSPFiler for the PSP