Hacking A simple GUI for FunKiiU "FunKii-UI"

dojafoja

life elevated
OP
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
I have decided to remove Funkii-UI from my Github. I hope you can all understand. Thank you to everybody who supported, used, or contributed to the project. It was a fun ride but I have to put an end to it now. I've reached a point in my life where I'm reevaluating my position in several areas and I feel like I need to let this one go.

- Dojafoja


This is a simple GUI that I wrote for FunKiiU by cearp. It rely's on FunKiiU to do all the downloading, so I named it FunKii-UI. It is written in python using it's native tkinter framework so no external libraries should be needed other than Tkinter(usually ships with python). It should work with python2 and python3.

Credits go to cearp for writing FunKiiU and cerea1killer for his re-write of FunKiiU.

You can visit the FunKiiU thread here: https://gbatemp.net/threads/release-funkiiu-download-wii-u-stuff-python-tool.446092/

You will need Python installed to run this
Download Python here: https://www.python.org/downloads/

Some Linux users will also need to install Tkinter first:
In most cases a this should work for Python 2:
Code:
sudo apt-get install python-tk
and for Python 3:
Code:
sudo apt-get install python3-tk

Usage:
1. Make sure you have already downloaded the latest version of FunKiiU from the link above or grab latest FunKiiU from github here https://github.com/llakssz/FunKiiU/releases/latest. (Tested on v2.2)

As of v2.1.6 you no longer need to download FunKiiU seperately. It will be included in the releases.

1. Download and extract the GUI from here https://github.com/dojafoja/FunKii-UI/releases/latest
2. Run gui.py.
3. Download stuff
4. Report bugs



P.S I was really tired recently and screwed up a few versions of this program. Because of this there are a few goofy releases on my github. Please ignore them and only assume versions listed below. Thanks for understanding.

** YOU MAY NOT BE ABLE TO UPDATE TO v2.1.8 FROM INSIDE EXISTING VERSIONS OF THIS APP. IF YOU HAVE NEVER CLICKED ON THE "SAVE AS MY SETTINGS" BUTTON IN THE OPTIONS TAB, THE UPDATE MAY FAIL. IF YOUR UPDATE HAS FAILED, SIMPLY DOWNLOAD A FRESH COPY FROM THE LINK ABOVE!

Changelog:

v2.1.8:
Multi-threaded downloading, up to 5 concurrent threads. Adjustable in the options tab.
In GUI progress bar and failed download detection
New list view for selection box
Window can now be resized to adjust selection view
Keyword search bar
Downloads certain titles that previously failed due to a size mismatch between the encrypted download size and the decrypted size reported in the TMD. A simple warning is issued about the size difference instead.
Fixed memory leak in FunkiiU, pointed out here: https://github.com/llakssz/FunKiiU/issues/40
Some code cleanup, MUCH more is needed.
Other stuff I forgot about.


v2.1.7:
Fixes minor bug in 2.1.6 where I forgot to change the version number causing
the app to insist it needs to be updated

v2.1.6:
Accepts any url for titlekey site. You must include the http:// or https://

v2.1.5:
Automatically downloads FunKiiU for you so you its easier to get started.
Auto fetch game updates and dlc when adding to the download list.
Single download button with behavior options in the Options tab.
Batch importing/exporting.
Persistent settings
Pop up notification on database updates to avoid confusion about whats going on.
New logo
New icon
Supports FunKiiU v2.2

v2.1.3:
Add self updating size info database
Show title size instantly
Show total download size
Add filter by online ticket availability
Remove items from download list after download
Makes calls directly to FunKiiU's process_title_id() instead of main so I have better control.
Many other fixes and behind the scene improvements.
supports FunKiiU v2.2

v2.1:
Add filter by content type (No more messy selection menu)
Fix selection menu hopefully for good.
Fix blank entries in download list when entering title id manually.
Entering title id manually will try to get name from json first, then from combobox, then fall back to using title id if it is blank (No more blank entries)
Changed download list to display '**' if a key was provided.
Notify users of updates inside the application on the welcome screen
Remove the widgets to enter *that key site if already correct on the welcome screen
Better versioning comparison
supports FunKiiU 2.2

v2.0.7:
FIXED dropdown selection menu finally :)
Entering a title id manually will add the game to the list but a new bug in my approach prevents anything being shown in the download list. Its there but without any text showing. I will fix today.
Added ability to filter selection menu by region
Changed download list to display the game name instead of title id.
supports FunKiiU 2.2

v2.0.6:
Dropdown selection not working properly
Fixed app updating in python3
Working with python2 and python3 again
supports FunKiiU 2.2

v2.0.3:
Dropdown selection not working properly
Fixed Python 3 compatibility :)
Works with Python 3 but the app update feature isn't working in python 3 still only python 2 :(
supports FunKiiU 2.2

v2.0.1:
Dropdown selection not working properly
Only working with python2
Fix minor bug when using python3, still broken :(
supports FunKiiU 2.2

v2.0:
Dropdown selection not working properly
Only working with python2
Added support for updating the GUI and FunKiiU from within the app.
Added a dropdown menu for title selections with autocomplete.
Checks for updates on launch, so starts a little slower.
supports FunKiiU 2.2

v1.0:
Initial release
supports FunKiiU 2.0.1 and 2.0.2
 
Last edited by dojafoja,

dojafoja

life elevated
OP
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
screenshots
 

Attachments

  • Screenshot1.jpg
    Screenshot1.jpg
    106 KB · Views: 3,557
  • Screenshot2.jpg
    Screenshot2.jpg
    76.2 KB · Views: 3,122
  • Screenshot3.jpg
    Screenshot3.jpg
    51.1 KB · Views: 2,999
  • Screenshot4.jpg
    Screenshot4.jpg
    45.6 KB · Views: 2,911

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
@dojafoja cool, is the gui in python too? --oh, gui.py, cool, so it's not windows only. nice!
good that you are not including FunKiiU in your project, since it would get outdated whenever i fix a bug and it would be annoying for you to keep that up to date!

- everyone, my tool (and this gui) is the only tool that handles dlc nicely, and will make the delicious illegit stuff that you need signature patches for.
so if you want mario kart dlc, smash dlc, etc etc, use FunKiiU(i) :)
 

dojafoja

life elevated
OP
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
Yes it's completely independent from FunKiiU. I just imported the FunKiiU script and used it like an API of sorts. So unless something major changes in FunKiiU, like function name changes or passed arguments, then it should still play nicely with any updates/bug fixes. FunKiiU is so powerful and useful because its completely cross platform and does amazing work so I felt that it deserved its own gui for people who aren't comfortable on a command line. I will do my best to accommodate any new features that are added to FunKiiU.
 
  • Like
Reactions: Garou and cearp

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
thanks for appreciating my work (and of course cerea1killer's work too - as you say the reason you could made the gui was because of his work!)

command line and multiplatform is very important, it means you can run it on basically any device that has python :)
 
Last edited by cearp,

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
Is it possible to create something like an updater for FunKii-UI, so it updates FunKiiU and itself? :)
yes it is very possible to get the latest zip from github and extract the the python file from within, when you press a button. whether the op will add it or not, it's a nice idea!
 

Naendow

Brick-Master
Member
Joined
Jan 4, 2016
Messages
685
Trophies
0
Age
24
XP
2,971
Country
Germany
yes it is very possible to get the latest zip from github and extract the the python file from within.
Great. So if you want, I could create a little app for OS X, so that this stuff works like a normal app. But it would be great if that program could update itself.

The only thing I would need would be an Icon for it. :D
 

dojafoja

life elevated
OP
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
Great. So if you want, I could create a little app for OS X, so that this stuff works like a normal app. But it would be great if that program could update itself.

The only thing I would need would be an Icon for it. :D
Since these are written in python they should already run on OS X. I guess you mean you want it to look and feel native to OS X without needing python. It would actually be pretty easy to add an update feature if I threw this in github. If I have time the coming days, I will add it.
 
  • Like
Reactions: Naendow

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
Since these are written in python they should already run on OS X. I guess you mean you want it to look and feel native to OS X without needing python. It would actually be pretty easy to add an update feature if I threw this in github. If I have time the coming days, I will add it.
but doesn't the python gui adapt to the os?
(the only gui dev i have done is visual studio and eclipse)

- oh i misunderstood, my mistake :)
 

Naendow

Brick-Master
Member
Joined
Jan 4, 2016
Messages
685
Trophies
0
Age
24
XP
2,971
Country
Germany
Since these are written in python they should already run on OS X. I guess you mean you want it to look and feel native to OS X without needing python. It would actually be pretty easy to add an update feature if I threw this in github. If I have time the coming days, I will add it.
Yes, this is exactly what I mean.
ezgif-2566711439.gif
Sorry for my bad English. :D
I am already working on it. :)
 

dojafoja

life elevated
OP
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
but doesn't the python gui adapt to the os?
(the only gui dev i have done is visual studio and eclipse)

- oh i misunderstood, my mistake :)
Yes, tkinter and it's companion ttk try to mimic the look and feel of your OS but there is no doubt that it's dated and clunky. Its just easy to write gui's with in python as long as it doesn't need to be too complex because it's widget set is limited.
 
  • Like
Reactions: cearp

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
also, i just have to point out - it's cerea1killer, and i think 'the cerea1killer', that is how it was stylized when they added it in FunKiiU :)
you can fix that when you add support for '-overwrite':
https://github.com/llakssz/FunKiiU/pull/11
also, the word 'method' in your screenshot is spelled wrong, main screen, second paragraph, first line.

also the 'download' tab, the last word in the text, 'downlod', no 'a'
 
Last edited by cearp,
  • Like
Reactions: dojafoja

dojafoja

life elevated
OP
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
also, i just have to point out - it's cerea1killer, and i think 'the cerea1killer', that is how it was stylized when they added it in FunKiiU :)
you can fix that when you add support for '-overwrite':
https://github.com/llakssz/FunKiiU/pull/11
Oops lol. I was so incredibly tired last night I didn't catch that. I will definitely fix that name. I also just noticed on the welcome screen that I spelled method wrong and put methond. Lol
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
Oops lol. I was so incredibly tired last night I didn't catch that. I will definitely fix that name. I also just noticed on the welcome screen that I spelled method wrong and put methond. Lol
haha i leave loads of mistakes, no problem :D (see my edited post above)
 

Naendow

Brick-Master
Member
Joined
Jan 4, 2016
Messages
685
Trophies
0
Age
24
XP
2,971
Country
Germany
Is there a link to directly download the newest version of FunKiiU? I want my application to always get the newest version if needed.
 

cearp

瓜老外
Developer
Joined
May 26, 2008
Messages
8,725
Trophies
2
XP
8,507
Country
Tuvalu
Sorry for the noobiness, but what are the keys?
what or where?
what - they are basically a 'password' that the wii u uses to decrypt the contents when the game installs :)
where - google 'wii u title key site'
Is there a link to directly download the newest version of FunKiiU? I want my application to always get the newest version if needed.
https://github.com/llakssz/FunKiiU/releases/latest
but i'm not sure exactly how to get the actual latest release's source... but it must be possible, i think.
 

dojafoja

life elevated
OP
Member
Joined
Jan 2, 2014
Messages
696
Trophies
1
XP
2,607
Country
Basically if you are not using the online tickets or online keys method then you will need to provide a key yourself. The online keys and manually provided keys method will create a ticket that will ONLY work on RedNAND w/sig patches.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/WOppJ92RgGU?si=KE79L6A_3jESsGQM