ogri-la / strongbox

a World of Warcraft Addon Manager aimed at Linux players
GNU Affero General Public License v3.0
168 stars 7 forks source link

Support for Curseforge Addon Mirror #435

Closed jake770321 closed 3 weeks ago

jake770321 commented 1 month ago

Is your feature request related to a problem? Please describe. First of all, a huge thank you for making this great mod manager. Currently, there's a bunch of addons that i use that aren't updatable through strongbox so i resort to having to update them manually by downloading them from curseforge and using the "import addon" feature.

Describe the solution you'd like Was able to come across the following project today https://github.com/curseforge-mirror which seems like a potential solution to solve that problem entirely.

Additional context I only came across this project today and don't know very much about how it works or if it's trustworthy. Hopefully someone that's used these mirrors can weigh in? An example of an addon i use that's not updatable via strongbox but is available on the mirror is ~Auctioneer~ Auctionator.

Edit: Got Auctioneer mixed up with Auctionator. They both have such similar names :smile:

jake770321 commented 1 month ago

I should add that trying to add one of the addon mirror links via the "import addon" option gives me "no 'Retail' release found on github"

torkus commented 1 month ago

First of all, a huge thank you for making this great mod manager.

My pleasure. Thanks for opening a ticket.

This looks like something I've thought about doing in the past, I just lack the time and energy ;) Good for them.

... or if it's trustworthy

Good point. I see my erstwhile comrade is already raising hell: https://github.com/curseforge-mirror/.github/issues/87

@layday , what's your take on these guys?

I have a Github addon catalogue building here: https://github.com/ogri-la/github-wow-addon-catalogue-go/

And these are the different searches it does to find addons on Github: https://github.com/ogri-la/github-wow-addon-catalogue-go/blob/d67fc6a387705b3e914ec77d925783c632f888fc/main.go#L1565-L1579

But it looks like it's subtly different (API_KEY vs API_TOKEN): https://github.com/curseforge-mirror/auctioneer/blob/c85f997e53adc2294cd62fb4ab4fafe6591398d9/.github/workflows/main.yml#L17

So they're probably getting passed over. I'll add these to the search criteria and see if they get pulled in otherwise they might need some special handling. Catalogue is built once a week.

I should add that trying to add one of the addon mirror links via the "import addon" option gives me "no 'Retail' release found on github"

Yeah, me too. I'll need to investigate that, it feels like a bug and it's been a long time since I looked at that section of the code.

Another user downloads the addons from curseforge, installs them using strongbox and then marks them as 'ignored' so they don't match against older versions on wowinterface: https://github.com/ogri-la/strongbox/issues/433

They might be something you could do? (I'm fixing a bug for them right now: https://github.com/ogri-la/strongbox/pull/434)

torkus commented 1 month ago

With just a little tweak the github catalogue can now pull those repos in (click 'addons.json'): https://github.com/ogri-la/github-wow-addon-catalogue-go/pull/4/files#diff-d5200a9765bd0be4241e94346803f74154d044935782b6c3653e361086c689e3R14723-R16334

looks like it found about 113 of 143 repositories, including Auctionator and Auctioneer.

I'll take a closer look at the whole shebang before I integrate it fully.

layday commented 1 month ago

@layday , what's your take on these guys?

Mostly surprised their repos haven't been taken down yet. I think there’s better ways to access CF - https://github.com/layday/instawow/blob/300a01fafb9ec920ce61a1e0c596db81517f1893/src/instawow/_sources/cfcore.py#L242 should give you an idea.

jake770321 commented 3 weeks ago

Another user downloads the addons from curseforge, installs them using strongbox and then marks them as 'ignored' so they don't match against older versions on wowinterface: #433

I don't seem to have this problem when using the short catalogue. I only get it when using the full catalogue (and possibly the other options but i've not tried them myself).

My sole reason for wanting this is ease of use (i'm lazy) when managing a large addon loadout. (The manual approach works fine for me)

torkus commented 3 weeks ago

I don't seem to have this problem when using the short catalogue. I only get it when using the full catalogue (and possibly the other options but i've not tried them myself).

huh, weird.

My sole reason for wanting this is ease of use (i'm lazy) when managing a large addon loadout. (The manual approach works fine for me)

Well, the whole point of addon managers is that they're supposed to make these things more convenient. Some of us work hard to be as lazy as we are ;)

torkus commented 3 weeks ago

Guys, I'm closing this ticket.

Ethically I don't have any real qualms about incorporating Curseforge addons that have been mirrored on Github, but this particular project is doing some nutty things and I think they should be doing more if they want to take on Curseforge and addon authors that have deliberately removed themselves from Github in favour of Curseforge and monetization. As @layday says, I'm surprised they haven't been taken down yet. Those guys wield a big stick.

That said, Strongbox shouldn't have a problem downloading and installing those addons directly from Github but I can see there is some bug there. I'll open a separate ticket to deal with that and when that is fixed, assuming those repos are hosting well formed addons, you should be able to opt-in to them individually.

Thanks again @jake770321 for opening a ticket, I hope closing it like this doesn't prevent you opening other tickets in future :P

srhinos commented 3 weeks ago

Guys, I'm closing this ticket.

Ethically I don't have any real qualms about incorporating Curseforge addons that have been mirrored on Github, but this particular project is doing some nutty things and I think they should be doing more if they want to take on Curseforge and addon authors that have deliberately removed themselves from Github in favour of Curseforge and monetization. As @layday says, I'm surprised they haven't been taken down yet. Those guys wield a big stick.

That said, Strongbox shouldn't have a problem downloading and installing those addons directly from Github but I can see there is some bug there. I'll open a separate ticket to deal with that and when that is fixed, assuming those repos are hosting well formed addons, you should be able to opt-in to them individually.

Thanks again @jake770321 for opening a ticket, I hope closing it like this doesn't prevent you opening other tickets in future :P

yeah just adding my 2 cents, I'm a professional engineer who only got to where I am because other people (out of the kindness of their heart) open sourced things that I used and wanted to modify and I learned to code from there. I'm not hosting my mirror to "compete" or anything with Curseforge. I host it for my own use and generally am super lazy to even make changes that don't directly benefit myself.

I got used to using Wowup and while there are other great mod managers (like @layday's and idk maybe this one I haven't checked it out), I like Wowup and so this is the best method of grabbing curseforge stuff that fits into the flow that Wowup uses. This adds essentially 0 value for other mod managers and truthfully, y'all should just follow @layday's lead and continue using the curseforge API using the Overwolf token that OW brilliantly kept static across all installations and accessible in localStorage of their shitty electron app.

jake770321 commented 3 weeks ago

I don't seem to have this problem when using the short catalogue. I only get it when using the full catalogue (and possibly the other options but i've not tried them myself).

huh, weird.

Okay so, i just ran into this issue after installing RareScanner. It's suggesting "updating" to a much older version since the wowinterface version hasn't been updated in years. Weird that I never came across this problem with any of my other addons. I've gone ahead and used the ignore feature like you suggested.

Thank you for looking into this btw. I really appreciate it. I understand now how this isn't fair to addon authors and should be something that's opt-in rather than opt-out. I'll stick to manually updating my curseforge addons for the time being until a better solution exists that also respects the wishes of addon authors.