Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help wanted: PureRef download #669

Open
homebysix opened this issue Dec 15, 2024 · 0 comments
Open

Help wanted: PureRef download #669

homebysix opened this issue Dec 15, 2024 · 0 comments

Comments

@homebysix
Copy link
Member

The download automation for PureRef has been fragile and I'm considering deprecating the recipe if I can't find a more scalable way to do it.

The current download process performs these steps:

  1. Uses URLTextSearcher to search the download page (https://www.pureref.com/download.php) for the current version and for the "download key" used to authorize the download from the PureRef CDN.
  2. Sends the download key to expirekey.php in order to retrieve a URL-decoded version of the download key.
  3. Constructs a URL with query parameters and sends it to files/build.php, which forwards the request to the CDN for download.

This process was working within the last 12 months, but now no longer appears to work.

Downloading manually in Chrome with the Network inspector active reveals the same general set of steps, although files/build.php may be replaced by freedownload.php. However, simulating these steps in curl does not successfully download the file.

I can download any Chrome-generated download URL using curl without issue, but I can't download any curl-generated download URL in curl or in Chrome. This makes me think a cookie, user-agent, or other header is needed when validating the key or the key is immediately marked as expired.

I'm not interested in putting a ton of effort into keeping this recipe alive, but I'd be open to a pull request if somebody figures out what's missing. Otherwise I'll probably deprecate the recipe and let it go.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant