Procurement-PoE / Procurement

Path Of Exile Character & Stash Management Tool
Artistic License 2.0
331 stars 135 forks source link

[Error] Cloud flare clearance failed, please wait one minute and try again #1128

Closed atribe closed 1 year ago

atribe commented 3 years ago

Saw you fixed this a while ago but it is happening again on 1.29.0

DarknessStorm commented 3 years ago

yep, confirming.

enki001 commented 3 years ago

yee cloud flare again

thailyn commented 3 years ago

Thanks for the report, guys. I can confirm I'm encountering the same issue. I opened a ticket with the Cloudflare library Procurement uses. Once that is updated, I'll update Procurement.

fireundubh commented 3 years ago

Thanks for the report, guys. I can confirm I'm encountering the same issue. I opened a ticket with the Cloudflare library Procurement uses. Once that is updated, I'll update Procurement.

CloudflareSolverReNgosang is dead and won't be receiving future updates. See: https://github.com/Jackett/Jackett/issues/9029

edit: I'm looking at why you need this in HttpTransport, and honestly, I don't really see a good reason. Reviewing how Exile Diary works, you don't need to interact with Cloudflare and shop threads are all but dead now - in favor of in-game store tab features and the official Trade platform. If you dump this dependency and shop thread support, the only drawback is that Procurement users would have to manually move items to store tabs and price them. 🤷‍♂️

nomis51 commented 3 years ago

@fireundubh You're totally right, there is no need at all to mess with CloudFlare. I made a issue (#1113) about how to "make it work" again a couple months ago, but the author said it was "sneaky"... which I don't understand why, because I litterally did what every other 3rd party apps for PoE (and other games) are deadling with authentication.

If you want a fast and working app to price you stuff, use Acquisition. Haven't been updated for a while, but there's no need, it's just ... workin. It's rock solid.

DarknessStorm commented 3 years ago

acquisition is not so friendly and comfortable to use... will wait till procurement will be alive again, till that time, unfortunately, trade is lost for me. And what about tab-trade features: it work only in premium tabs, but they have cost $$$(buying regular stash tabs is much better for your wallet value, so... no.thx)

nomis51 commented 3 years ago

For those who don't like Acquisition and still want to use Procurement (e.g. @DarknessStorm), here's a forked version of Procurement 1.29.0 with a fix for CloudFlare, until it get a proper update from the repository owner.

Released here simply download, extract somewhere and run like the original app.

2830945ruiawejf

Based on Procurement Repo master branch of today

Stickymaddness commented 3 years ago

edit: I'm looking at why you need this in HttpTransport, and honestly, I don't really see a good reason. Reviewing how Exile Diary works, you don't need to interact with Cloudflare and shop threads are all but dead now - in favor of in-game store tab features and the official Trade platform. If you dump this dependency and shop thread support, the only drawback is that Procurement users would have to manually move items to store tabs and price them. 🤷‍♂️

The shop thread support is there because many Procurement users rely on it, and don't use premium tabs. Personally, I stopped using the trade functionality in Procurement the second they added the public tab functionality to premium tabs, but for those that can't or won't buy premuim tabs, they turn to Procurement.

You're totally right, there is no need at all to mess with CloudFlare. I made a issue (#1113) about how to "make it work" again a couple months ago, but the author said it was "sneaky"... which I don't understand why, because I litterally did what every other 3rd party apps for PoE (and other games) are deadling with authentication.

To clarify, I didn't mean "sneaky" in a negative way, but that you'd got it working in a unintended/clever way. The reason why I closed that PR at the time, is that we updated the Cloudflare library which resolved the issue. During Procurements development we often ran into GGG making changes which broke "creative" ways we got things working, thus I would always favour updating a library over a loophole that GGG might close in the future.

That being said, if the Cloudflare library is dead, and this is the method all 3rd party tools are using, I am open to it.

@thailyn Thoughts? I recall that originally you wanted to submodule a different library, so that we could make changes if need be which I had veto'd in favour of a working library at the time.

I no longer actively develop Procurement, but I do want to get this resolved for everyone.

thailyn commented 3 years ago

I didn't test out @nomis51 's patch, but I think the intent is good. Procurement right now is using the POESESSID supplied by the user to do something like log in on the website and get the POESESSID. This was reasonable when the user provided the user name and password instead, in order to get the POESESSID. There's no reason anymore to navigate to the login page, and that is the only page protected by Cloudflare.

Ideally, we should use OAuth2, but that is not publically documented and, last I heard, requires contacting GGG for approval, and would be a sizable effort on our part to support. However, it would not require the user handing over his credentials to us.

Honestly, I haven't been working on programming stuff for Procurement recently because @Stickymaddness has been a bit distant recently. I still have a lot of ideas and half-finished projects, though. I considered forking, but I didn't want to get too far ahead and making things impossible to merge when that does happen (not to mention no one would use the fork). I also haven't played much PoE for the last league or two, and the two interests feed into each other.

Stickymaddness commented 2 years ago

@thailyn If you are still interested, I would be happy to hand the reins over to you - I could reference the readme to point to your fork, as well as point latest-release.txt to your first release, after which I would archive this repo.

thailyn commented 2 years ago

Hey, @Stickymaddness. I'm honored you would entrust your project to me. I am indeed still interested. However, a suggestion: let's use a Procurement-related GitHub organization, to which we can transfer this repo to. We can be co-owners of the organization, and you can be as involved after that point as you wish. In the transter instruction, it says all repos which are a fork of the repo will remain that way after the transfer (preserving everyone else who has forked the repo), and git-related requests will be forwarded to the new repo, as well as all requests for the previous repo location. I think this means the lookups for latest-release.txt will be redirected, but I'm not positive. All of the issues and other features will be preserved (aside from Pages, which are not used by Procurement).

I went ahead and created an organization at https://github.com/Procurement-PoE (unfortunately, then name "Procurement" was taken), and invited you to it. If I understand how permissions work, you will be able to transfer a repo to the organization at that point. Feel free to message me on the Procurement discord or DM me on discord if you want to go over anything in more details.

thailyn commented 2 years ago

Hey, @Stickymaddness , what do you think of my suggestion? It requires a little bit more effort up front, but I think it would allow a smoother transition and open up many more opportunities going forward (additional Procurement-related repos under the same organization, etc.). Feel free to reach out to me on discord or another method of communication if you want to go over any details somewhere other than a GitHub issue discussion.

Stickymaddness commented 2 years ago

@thailyn Sorry for the delayed response, but that sounds like a great idea. The invite you sent has expired, if you could send me a new one I'll join and transfer ownership 👍

Stickymaddness commented 2 years ago

Transfer complete! 🥳