malmeloo / wiimmfi-rpc

A Discord rich presence implementation for Wiimmfi
GNU General Public License v3.0
35 stars 3 forks source link

Wiimmfi DDoS protection #23

Open officialRubrix opened 2 years ago

officialRubrix commented 2 years ago

Hi, I've been using this program for over a year now, but around a month ago it stopped working and always shows me this error when I start it: grafik Since it says "Service Temporarily Unavailable" I thought it might be an issue on WiimFi's side, so I tried to load the 'broken' site, but it works fine in the browser

Any way to fix this?

malmeloo commented 2 years ago

Hi! It's nice to see that you've been using the program for such a long time 🙂

As you may or may not have noticed from the message I put in the Readme, Wiimmfi has activated DDoS protection by Cloudflare for their website. You can actually see this yourself as the "Checking your browser" message that pops up every now and then, and when you access the website from a new device.

Unfortunately this this essentially prevents programs like this one from accessing the Wiimmfi website, which is where it gets its information from. It is very difficult to get around this, and I'm not going to try it either, because it defeats the entire point of why the protection was put up in the first place.

In the meanwhile, I have contacted Leseratte about this and they told me that there is an API available which would allow legitimate programs to get around this block. However this API does not (yet) support all functionalities that Wiimmfi-RPC has to offer, so if I were to implement this, it would mean that some features will have to be dropped. Which features exactly I cannot say, as I do not currently have access to the API or its documentation.

There are also some design limitations that would prevent me from efficiently implementing this API in the program. The base code for Wiimmfi-RPC was written several years ago, and past me did not really care about maintainability.

On top of that, I do not currently have the time or interest to work on this solution, let alone rewrite the entire codebase. This effectively renders the program (semi-)useless for now, until either the DDoS protection gets lifted, or I can work on the alternative solution.

If you don't mind, I will turn this issue into a generic one for discussion about this topic. If there's any news I will let you know.

ShadowOnWiiU commented 1 year ago

Hi (one year later :p)

Has there been any development? No rush of course, just wanted to check in to see if this is officially dead or not

malmeloo commented 1 year ago

Hi! I'm afraid I just haven't had the motivation to pick this up again... every time I come back to it I just hate the way my former self wrote the code, so I'd probably rewrite everything from scratch if I were to actually use the official API.

I've been considering archiving this repository and officially discontinuing it for the time being, because I don't want to make it look like this is still an active project (because it clearly isn't.) Who knows; maybe future me will find the motivation to actually rewrite everything. Or someone else might fork this repository and fix the things I've been too lazy for to fix.

But to answer your question - yes, right now you can consider the project dead, and I expect it to stay like that for the foreseeable future.

officialRubrix commented 1 year ago

Alright, thanks for the info!

Maybe I'll take a shot at it.. I'm not crazy good at python but it would be a nice way to improve at it