[WIP] installMii - Graphical repository downloader

Discussion in '3DS - Homebrew Development and Emulators' started by simonepsp, Dec 17, 2015.

?

Where homebrew descriptions should be loaded from?

Poll closed Dec 24, 2015.
  1. From the related smdh file

    19 vote(s)
    40.4%
  2. From the repo package list (aka packages.json)

    28 vote(s)
    59.6%
  1. simonepsp
    OP

    simonepsp Member

    Newcomer
    42
    93
    Nov 27, 2015
    Italy
    Turin
    [​IMG]
    What's installMii?
    installMii is an easy and fast package manager for Nintendo 2DS/3DS.
    It is repository based. This means that you can set your own homebrew URL source list and installMii will download packages for you!


    It currently supports .3ds/.3dsx homebrews only and .cia support is in development.

    [photos are at the end of this post]

    **installMii is based on "3ds Homebrew Browser", a discontinued project made by zeta013.
    A big thanks to this developer. My project currently shares some code with his homebrew, mostly in the UI and the download handling.


    How can I add a new repository to installMii?
    installMii comes with a configuration file called "repo.list". This file contains a list of preinstalled repositories. You can change it as you like, adding or removing urls.


    Here's an example of "repo.list". This file can be located in the SD card root or in the /3ds/installMii/ folder.

    Code:
    {
      "repos": [
      {
      "name": "REPO 1",
      "url": "http://www.example.com/repo1/"
      },
      {
      "name": "REPO 2",
      "url": "http://www.example2.com/"
      }
      ]
    }
    Can I host my own repository?
    Absolutely yes. Just create a packages.json file (example below) in your prefered webserver folder.
    Then you can share your repository url with everyone!

    How to configure my repository?
    There are 2 important files in every repo:

    • "packages.json": this file contains informations about the repository and the packages list. It has to be placed in the root folder of the repo.
    • "package.list": Every homebrew folder should have one. It contains the list of files and folders that have to be downloaded by the installMii client.

    Here's an example of the "packages.json" file:

    Code:
    {
      "repo": {
      "name": "Example repo",
      "author": "simonepsp",
      "website": null
      },
      "packages": [
      {
      "name": "3DS Craft",
      "author": "smea",
      "short_description": "WoW! Minecraft for 3DS",
      "category": "games",
      "website:": null,
      "type": "3ds",
      "version": "1.0.1",
      "dl_path": "3ds/3dscraft/",
      "info_path": "3ds/3dscraft/3dscraft.smdh"
      }
      ]
    }
    

    A brief explanation of the parameters:

    name: Package name
    author: Package author
    type: usually "3ds" or "cia".
    version: Package version number
    dl_path: path of the homebrew folder on your server. installMii will look here for a file called package.list.
    info_path: path of the homebrew icon on your server



    Every homebrew folder also need to have a package.list file. This file is basically a list of every file contained in the homebrew folder.
    Here's an example image explaining how to create it:

    [​IMG]


    ___

    I advice you to download this example package to better undestand how to configure your own repository:
    Example repository files: DOWNLOAD


    Can I use custom icons for packages?
    Sure. If you have a repository you can manually specify which smdh should be used.
    This can be done modifing the "info_path" parameter into the "packages.json" file.


    Controls

    • Touchscreen: Browse homebrews
    • UP/Down : Browse application list
    • L/R : Switch between categories
    • A : Install homebrew
    • Y: Change homebrew order
    • Start: Exit
    • Select: Download new package list from repos
    How to install it?
    just copy the "installMii" folder into /3ds/ on your SD card.
    I'll also release a .cia version.

    Where can I download installMii?
    Latest version: 0.1c [Build 19-gen-2015]
    DOWNLOAD latest installMii: HERE

    Please have a look on the "How can I contribute to the project?" section. This will help me to speed up the project :)

    What is currently working?
    [√] Configuration file with user-defined repo list
    [√] Repository updating
    [√] Showing homebrew description, version and author
    [√] Homebrew downloading
    [√] UI and category switching
    [√] Downloading UI
    [√] SD writing and parsing
    [√] Checking if an homebrew has been already installed
    [√] .cia files downloading [installing coming soon]

    TODO [constantly updating]
    - .cia files installation
    - better categories handling
    - adding/removing repos from the app
    - package search function

    Can I see some photos of the project?

    Sure :)

    [​IMG]
    [​IMG]

    How can I contribute to the project?
    As I said before, users feedback is very important. If you have an idea that could improve installMii, please tell me so.
    Remember that this is just an hobby for me. I'll work on the project when I have time :)

    Another way to contribute is offering me a coffee donating via Skrill or BTC:

    My email: simonepsp[at]gmail[dot]com
    BTC address: 138sK3nZ3yJDooYcFMXUHciawwSu9YUQ22

    I love homebrews development and I'd like to buy a used N3DS XL. Donations would help me a lot :) Thanks

    Can I contact you privately?
    Sure, just email me or send me a PM


    Hope you like this project. I'll update this post when I'll have news.
    Have a nice day
    Simon
     
    Last edited by simonepsp, Jan 19, 2016


  2. ShadowOne333

    ShadowOne333 GBAtemp Guru

    Member
    7,119
    4,511
    Jan 17, 2013
    Mexico
    Can this download updates from like RetroArch or mGBA that are usually downloaded as compressed files?
     
  3. Voxel

    Voxel Fable Junkie

    Member
    GBAtemp Patron
    Voxel is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    5,199
    5,925
    Jun 27, 2015
    United Kingdom
    England, UK
    This is great; clearly a lot of effort has been put into this!

    This has potential! :)
     
  4. simonepsp
    OP

    simonepsp Member

    Newcomer
    42
    93
    Nov 27, 2015
    Italy
    Turin
    Currently it only supports direct downloading of .3ds/.3dsx/.cia files from repos. I'll check if I can implement a .zip file decompression into installMii. Thanks for your advice :)
     
    Last edited by simonepsp, Dec 17, 2015
    ShadowOne333 likes this.
  5. ShadowOne333

    ShadowOne333 GBAtemp Guru

    Member
    7,119
    4,511
    Jan 17, 2013
    Mexico
    Yay! That would be great!
    Thanks! :D
     
  6. DrCrygor07

    DrCrygor07 Italian Wario Ware bootleg©

    Member
    1,706
    632
    Sep 4, 2014
    Italy
    Cool! Nice to see an italian dev here!
     
  7. BurningDesire

    BurningDesire GBAtemp Psycho!

    Member
    4,964
    5,817
    Jan 27, 2015
    United States
    Behind a screen reading news
    poor @filfat he has been beat. This is awesome though ! Great work dude !!
     
    Orangy57 and GotKrypto67 like this.
  8. Robfozz

    Robfozz GBAtemp Smartass

    Member
    614
    408
    Apr 19, 2014
    United States
    Onett
    Hopefully this one doesnt just disappear like the others because it looks good. I swear this is like the 10th attempt at one of these
     
    Orangy57 likes this.
  9. TheCruel

    TheCruel Developer

    Banned
    1,351
    2,884
    Dec 6, 2013
    United States
    Haha. I just started a similar project about a week ago. It fetches from a centralized github repo that auto-merges PRs by whitelisted authors. Oh well, good luck. :P
     
    Link_of_Hyrule likes this.
  10. GalladeGuy

    GalladeGuy Freeze Kirby :3

    Member
    2,582
    2,641
    Oct 28, 2015
    United States
    So it auto-installs homebrew from the internet? Is there a way to upload your own homebrew?
     
  11. simonepsp
    OP

    simonepsp Member

    Newcomer
    42
    93
    Nov 27, 2015
    Italy
    Turin
    Correct. You can also host your own repository and upload on it the packages you want.

    If you are familiar with linux, it's a bit like using apt-get or pacman. You define a mirrorlist (or repo list) and installMii will download the packages list from every URL you set.
    Then you'll be able to browse this list and directly download the homebrews you need.

    Hope I've been clear :) English isn't my main language.
    Have a nice day.

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

    Nice :) Good luck for your project
     
  12. dark_samus3

    dark_samus3 GBAtemp Addict

    Member
    2,314
    1,713
    May 30, 2015
    United States
    looks like it's similar to a package manager on linux, where you can host your own repository and users can add it to their local package manager config and download stuff from it... so it is possible :)

    EDIT: ninja'd :ninja:
     
  13. GalladeGuy

    GalladeGuy Freeze Kirby :3

    Member
    2,582
    2,641
    Oct 28, 2015
    United States
    Thanks guys! I will be adding my own repo for Simple-Calc and Picross3D (name isn't final) once it comes out. I can't wait!
     
    dark_samus3 likes this.
  14. simonepsp
    OP

    simonepsp Member

    Newcomer
    42
    93
    Nov 27, 2015
    Italy
    Turin
    Yes, I know that some project with similar purposes disappeared before launching, but I've worked a lot on my project and I won't leave it unfinished ;)
    Most things work and I hope I'll soon be able to publish the first build.
     
  15. AtlanticBit

    AtlanticBit Yeh, fuck this

    Member
    365
    189
    Jan 15, 2015
    Poland
    DEEP IN SPACE
    finally someone decided to take on a similar initiative to CTRepo. feels good to see something like this coming out. hope there aren't too many warez repos out there.
     
  16. BothyBhoy

    BothyBhoy GBAtemp Advanced Fan

    Member
    836
    245
    Nov 27, 2015
    impressive....well done you...i look forward to this..... and thank you....
     
  17. hobbledehoy899

    hobbledehoy899 Conniption Master

    Member
    2,713
    4,484
    Nov 13, 2015
    United States
    Kernel Version: Linux 4.13.9-1-zen
    Here is my icon for this: install mii icon.png

    Here is the paper master for it. Photo Dec 17, 13 03 28.jpg
     

    Attached Files:

    BurningDesire and Voxel like this.
  18. Stecker8

    Stecker8 Plug

    Member
    461
    119
    Oct 9, 2015
    Here
    Great! I will made a repo
     
  19. Xenosaiga

    Xenosaiga That one guy that doesn't give a shit anymore

    Member
    1,478
    838
    Oct 9, 2015
    United States
    The Shadows
    Great. I just realized that the people on here that keep trying to claim everybody else's work as theirs will make a repo hosting their "stolen work" and claim it is their work.


    As such I believe we need a "verified repo" section for OP or have where anybody that wants to add a repo has to go through a "Verification stage" with @simonepsp before their repo gets added.
     
    GalladeGuy and hobbledehoy899 like this.
  20. hobbledehoy899

    hobbledehoy899 Conniption Master

    Member
    2,713
    4,484
    Nov 13, 2015
    United States
    Kernel Version: Linux 4.13.9-1-zen
    I second this.
     
    Xenosaiga likes this.