[Release] CoffeeCIA (A derivative of FunkyCIA)

Discussion in '3DS - Flashcards & Custom Firmwares' started by alatnet, Jun 7, 2015.

  1. alatnet
    OP

    alatnet Member

    Newcomer
    11
    13
    Aug 13, 2007
    United States
    So I took FunkyCIA and converted it into a java program.
    All credits for the basis of the program goes to @cearp.
    He's the one that developed most of the code, I just adapted it to java and added some extra stuff.

    Features:
    GUI
    Multithreaded (Hard limit to 5 threads per title)
    Filter Selection
    Reads http://3ds.essh.co/ xml file for title name list. XML must have that format for proper usage.

    Issues:
    Takes a while to load the ticket.db. this is due to it having to search for a specific string in the ticket.db file and it's scanning the entire file one byte at a time. Feel free to improve on that part of the program.

    How to use the filter:
    It is a bastardisation of a mysql query command fit for this program. Filter command is in this form: "titleid/regex/all WHERE type=type cid=regex SET build personal patch ignore download IGNORE titleid/regex/all" Regex is a regular expression. Beginning titleid MUST be a titleid/regex or "all" though can be omitted when using just IGNORE. "type" is ticket type in lowercase, i.e eshopapp, downloadplaychild, demo, updatepatch, dlc, dsiware, system, dsisystemapp, dsisystemdataarchives, mystery. "type" can be comma separated to select multiple types. SET command sets what action should be enabled. ignore and download set commands are NOT used at the same time.

    Example filter commands:
    - all SET ignore (ignore all tickets)
    - IGNORE all (ignore all tickets)
    - all WHERE type=system SET download build (download and build all tickets that are system)
    - all WHERE type=dlc,demo SET download build patch (download, patch, and build dlc and demo tickets)
    - all WHERE cid=00000000 type=eshopapp SET ignore (ignore tickets that have a console id of 00000000 and are a type of eshopapp)

    Requires make_cdn_cia to build cia files!
    Java Runtime 8 minimum!


    Screenshot:
    [​IMG]

    XML File Format:
    Code:
    <releases>
      <release>
        <name>title name 1</name>
        <titleid>0000000000000000</titleid>
      </release>
      <release>
        <name>title name 2</name>
        <titleid>0000000000000001</titleid>
      </release>
    </releases>
    
    GitHub Repository: https://github.com/alatnet/CoffeeCIA
     
    Last edited by alatnet, Feb 7, 2016
    MelonGx, cearp, d0k3 and 7 others like this.
  2. OctopusRift

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

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis

    Skip to 1:05 for a congrats.

    Seriously. That's nice. Universal is AWESOME!
     
    Margen67 likes this.
  3. alatnet
    OP

    alatnet Member

    Newcomer
    11
    13
    Aug 13, 2007
    United States
    CoffeeCIA Updated.
    Included filtering system.
    Not what i wanted in the long run but it does do wonders.
     
  4. OctopusRift

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

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    Coffee..... Filtering System... WELL DONE SIR. YOU PUNNED.
     
    alatnet likes this.
  5. alatnet
    OP

    alatnet Member

    Newcomer
    11
    13
    Aug 13, 2007
    United States
    XD.
    Un-intended pun. XD
     
    OctopusRift likes this.
  6. mech

    mech ♥️♥️♥️♥️♥️♥️♥️♥️

    Member
    4,977
    3,260
    Oct 26, 2014
    Vanuatu
    Nice work :)
     
    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
    That is that character from... seriously... I've seen it EVERYWHERE.
     
  8. Melon__Bread

    Melon__Bread ~It's A Magik~

    Member
    710
    400
    Dec 9, 2013
    United States
    Built and ran great on Linux. ;)
     
  9. dkabot

    dkabot Better With Others' Systems Than Their Own

    Member
    1,000
    349
    Sep 9, 2014
    United States
    I'm gonna go with Danganronpa.

    /offtopic

    Looks interesting for what it is and just the right amount of puns. 10/10.
     
    mech likes this.
  10. cearp

    cearp the ticket master

    Member
    7,555
    4,819
    May 26, 2008
    Tuvalu
    cool nice work.
    what i wanted to implement in FunkyCIA was checking the validity of a ticket by verify the signature with the correct key (i am not sure if that key is public or shared somewhere) but the key stuff seemed a bit tricky in python, i think it was a separate module as well that would have to be included, that would be a chore :)
    if you can add that it would be amazing, then we would not need to do the little checks for non legit tickets.
     
  11. OctopusRift

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

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    I'm here all night, try the veal.
     
  12. alatnet
    OP

    alatnet Member

    Newcomer
    11
    13
    Aug 13, 2007
    United States
    Newest update has bug fixes and can now read http://3ds.essh.co/ xml file for title names (hit and miss with this feature unfortunetly...).
     
  13. OctopusRift

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

    Member
    1,460
    832
    Nov 19, 2014
    Saint Kitts and Nevis
    I like this software, a lot! This could become the next Funky!!!
     
  14. Suiginou

    Suiginou (null)

    Member
    565
    588
    Jun 26, 2012
    Gambia, The
    pc + 8
    Now that ClCertA is in the wild, you can instead just query the eShop server ninja as well.
     
    Last edited by Suiginou, Sep 2, 2015
  15. pikatsu

    pikatsu GBAtemp Advanced Fan

    Member
    746
    133
    Apr 16, 2014
    Argentina
    Cool but can anyone compile this for us who cannot?
     
  16. cearp

    cearp the ticket master

    Member
    7,555
    4,819
    May 26, 2008
    Tuvalu
    more information? :)
     
  17. Suiginou

    Suiginou (null)

    Member
    565
    588
    Jun 26, 2012
    Gambia, The
    pc + 8
    cearp likes this.
  18. cearp

    cearp the ticket master

    Member
    7,555
    4,819
    May 26, 2008
    Tuvalu
    so it is possible to dump a list of all titles/names/information from the eshop? or, maybe possible with this set up, but not easy/done yet, hmm it would be useful
     
  19. Suiginou

    Suiginou (null)

    Member
    565
    588
    Jun 26, 2012
    Gambia, The
    pc + 8
    You can query ninja for the title id -> eShop id lookup, then query samurai for the title name from the eShop id; the former requires ClCertA, the latter doesn't.

    And yes, you can query the servers for all title info and title ID registered with it (ninja provides eShop id -> title id lookups too if I recall correctly).
     
    cearp likes this.
  20. pikatsu

    pikatsu GBAtemp Advanced Fan

    Member
    746
    133
    Apr 16, 2014
    Argentina
    I managed to compile it, eventually.
     
    Last edited by pikatsu, Sep 3, 2015
    Margen67 likes this.