HamletDuFromage / aio-switch-updater

Update your CFW, cheat codes, firmwares and more directly from your Nintendo Switch!
GNU General Public License v3.0
1.3k stars 107 forks source link

[Improvement] Downloading Firmware #48

Closed ObscenityIB closed 2 years ago

ObscenityIB commented 3 years ago

Downloading the firmware from archive.org in the app is so much slower than turning the switch off, taking out the SD card, downloading the firmware from Darthsternie's Firmware Archive, extracting it to the SD card, putting it back in, and turning it on to start the upgade.

So, to improve the speed to be faster than the manual method, downloads should be from Darthsternie's Firmware Archive (MEGA), and not archive.org.

HamletDuFromage commented 3 years ago

Yeah of course, but the problem is that downloading from mega is a lot less straight forward, you have to jump through a few hoops. I've seen it done in C++ so maybe I could. The other issue is that mega urls look a lot more suspicious than the archive.org links. I'll keep this open and think about it. Do keep in mind that the mega download on the switch would likely be quite a bit slower than the mega download on desktop

ObscenityIB commented 3 years ago

yes of course, ive found using cloudflare or google DNS helps the speed somewhat, so it knows which server location to serve you.

carcaschoi commented 3 years ago

How about put the firmware file to github?

ObscenityIB commented 3 years ago

How about put the firmware file to github?

you cant put copyright files on github

carcaschoi commented 3 years ago

oic

carcaschoi commented 3 years ago

This app can download firmware file from mega link. You may take a look https://github.com/devgru/FreshHay

rashevskyv commented 3 years ago

That would be great improvement!

Shidapu commented 2 years ago

2022 here, would love mega downloading for firmware files..

Shituation commented 2 years ago

2022 here, Do not use mega as it is restrictive. Use https://anonfiles.com instead.

HamletDuFromage commented 2 years ago

2022 here, Do not use mega as it is restrictive. Use https://anonfiles.com instead.

I would only consider what darthsternie uses

ObscenityIB commented 2 years ago

2022 here, Do not use mega as it is restrictive. Use https://anonfiles.com instead.

That would defeat the purpose of using mega, as anonfiles is 200x slower or more. Often downloading at a couple hundred KB/s

Also what do you mean restrictive?

aedalzotto commented 2 years ago

I am trying to develop a solution for using Mega. Hopefully, soon there will be a PR.

Shituation commented 2 years ago

2022 here, Do not use mega as it is restrictive. Use https://anonfiles.com instead.

That would defeat the purpose of using mega, as anonfiles is 200x slower or more. Often downloading at a couple hundred KB/s

If you download from a pc and use a download manager like IDM or the firefox extension "Turbo Download Manager" (multithreaded downloads) anonfiles has normal speed.

Also what do you mean restrictive?

You have an amount of traffic before it shuts off.

ObscenityIB commented 2 years ago

You have an amount of traffic before it shuts off.

yeah, 8GB every 6 hours

plenty reasonable for a 500MB firmware update

aedalzotto commented 2 years ago

I am trying to develop a solution for using Mega. Hopefully, soon there will be a PR.

I've made an initial version of the MegaDL lib supporting custom progress callback using cpr and cryptopp. I will try to integrate it into aio-switch-updater when I have some time.

HamletDuFromage commented 2 years ago

I am trying to develop a solution for using Mega. Hopefully, soon there will be a PR.

I've made an initial version of the MegaDL lib supporting custom progress callback using cpr and cryptopp. I will try to integrate it into aio-switch-updater when I have some time.

That looks pretty sweet! I don't know if there is a crypto++ package for devkitpro though, so you might face difficulties on that front

aedalzotto commented 2 years ago

That looks pretty sweet! I don't know if there is a crypto++ package for devkitpro though, so you might face difficulties on that front

I guess we could build from source, since it only depends on mbedtls. Also, cpr only depends on libcurl.

HamletDuFromage commented 2 years ago

All good then :)

HamletDuFromage commented 2 years ago

Done, thanks to @aedalzotto