layday / instawow

World of Warcraft add-on manager CLI and GUI
GNU General Public License v3.0
153 stars 9 forks source link

Permission errors (curse API related?) #100

Closed nayab9 closed 2 years ago

nayab9 commented 2 years ago

Seeing these errors:

! curse:battlegroundenemies internal error: "403, message='Forbidden', url=URL('https://addons- ecs.forgesvc.net/api/v2/addon')"

This may have something to do with recent drama I've heard about but never fully understood. Are we supposed to retrieve our addons from a different location now?

Drupi commented 2 years ago

Curse forge closed the api/v2/ by the end of Q1... We are doomed :d

layday commented 2 years ago

The error from CloudFront is:

This distribution is not configured to allow the HTTP request method that was used for this request. The distribution supports only cachable requests. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation.

This looks like a configuration issue on CF's end - get requests still work but not post. No idea if they'll be fixing it, but the API is supposed to be withdrawn from service tomorrow.

nayab9 commented 2 years ago

interesting... any suggestions on what to do instead? Do we need to hunt down each individual addon in a different location like github and switch our installation to a new URL?

layday commented 2 years ago

You can run instawow reconcile --installed to switch to an alternative host where one exists. For GitHub add-ons, it's backed by my own github-wow-addon-catalogue. You could also try generating an access token for the new CF API from https://console.curseforge.com/ but (a) the new API is currently suffering from the same issue as the unauthenticated API with POST requests and (b) CF do not look kindly on add-on manager users generating tokens for personal use and I imagine they'll be revoking them eventually.

nayab9 commented 2 years ago

You can run instawow reconcile --installed to switch to an alternative host where one exists. For GitHub add-ons, it's backed by my own github-wow-addon-catalogue. You could also try generating an access token for the new CF API from https://console.curseforge.com/ but (a) the new API is currently suffering from the same issue as the unauthenticated API with POST requests and (b) CF do not look kindly on add-on manager users generating tokens for personal use and I imagine they'll be revoking them eventually.

Thanks so much, this reconcile command is great - at least half my addons were automatically switched over to wowi or github! fantastic! less manual work to do on the remaining items. Will open a PR against the catalogue repo if I can for the remainder of addons.

nayab9 commented 2 years ago

The reconcile command seems to be working great, I attempted a reconcile this morning and found some new ones, but encountered this error for a few of them:

✗ wowi:22190-rematch package folders conflict with installed package Rematch (curse:66047)

Does this indicate leftover artifacts from removal, causing the new install to fail? Wondering if I just manually delete the directory and try again if it would work?

Edit: Sorry for the spam. I ran the reconcile again and this time it worked. Not sure why.

P.S. I will close this issue as it's no longer a mystery why the API stopped working!

layday commented 2 years ago

Edit: Sorry for the spam. I ran the reconcile again and this time it worked. Not sure why.

I've had a quick look at the code and I think I know why that happened. I'll fix it later - thanks.