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

[new site support] - SmartFrame sites #622

Open
Tagishsimon opened this issue Mar 27, 2022 · 13 comments
Open

[new site support] - SmartFrame sites #622

Tagishsimon opened this issue Mar 27, 2022 · 13 comments
Assignees
Labels
new site support The issue is not about a bug is dezoomify, but rather someone asking for a new site to be supported.

Comments

@Tagishsimon
Copy link

Site name and desciption

Sites using SmartFrame technology to withhold public domain images.

Example URLs

Current error message

Error: Unable to find a proper dezoomer for:
https://historicengland.org.uk/images-books/archive/collections/aerial-photos/record/EAW011489

(https://dezoomify.ophir.dev/dezoomers/automatic.js:30)

@Tagishsimon Tagishsimon added the new site support The issue is not about a bug is dezoomify, but rather someone asking for a new site to be supported. label Mar 27, 2022
@pigsonthewing
Copy link

@edent
Copy link

edent commented May 14, 2022

This gist captures a high resolution copy of the canvas

https://gist.github.com/stuartlangridge/82c87a601a7e2ae566e640d93138ed85

Although, worth noting, it isn't quite the full resolution.

@robinwhittleton
Copy link

robinwhittleton commented May 14, 2022

The images seem to need to be requested with a request header of Accept: authorization/wndeym9ajvin,*/*; this is the same for both Historic England and the Tate implementations.

I guess this would need to be retrieved from their JS, as it‘d presumably be trivial to deploy a new auth code to their server config and JS package at the same time.

An example of a minimal curl request for a Historic England tile would look like:

curl 'https://images.smartframe.io/sfis/27025fea9afa38753501b02dbd8a40f2/RAF_CPE_UK_2034_RP_3195/4298/c62a6a11046822688c6a21e68126ca20688aca61e6a6a68416cac1ec6a4666066126c6c8ca1381ecaa4caa0cac1e662666e2661212c6aa6a12468c26.jpg' -H 'Accept: authorization/wndeym9ajvin,*/*' -H 'Referer: https://historicengland.org.uk/'

and for a Tate tile:

curl 'https://images.smartframe.io/sfis/b6b5620bab617a4e759176b2934938a9/misc-n01--n01-547--n01547/3163/c18c820181828418c2024181838830c6818301848838c181430c181810c68830c70701861808181884101868810c681830c70418c01c18188410c681.jpg' -H 'Accept: authorization/wndeym9ajvin,*/*' -H 'Referer: https://www.tate-images.com/'

@pigsonthewing
Copy link

Terence ("edent"), who posted above, has a blog post on this, here: https://shkspr.mobi/blog/2022/05/liberating-out-of-copyright-photos-from-smartframes-drm/

@pigsonthewing
Copy link

Another site using the same technology to prevent downloads of public domain images:

https://www.granger.com/results.asp?image=0060106&itemw=4&itemf=0003&itemstep=81&itemx=106

@pigsonthewing
Copy link

There is also a now a TamperMonkey script, that works on HE's /aerial-photos/ sub-site, but not others: https://pastebin.com/qYEy5C6L

@lovasoa
Copy link
Owner

lovasoa commented Jul 20, 2022

Here is a small script you can copy and paste into your browser console to download full-size images from smartframe sites :

document.querySelector("smart-frame").style="width:6000px; height:6000px;"


setTimeout(()=>
    HTMLCanvasElement.prototype.toBlob.call(
        document.querySelector("canvas.stage"),
        x=>window.location=URL.createObjectURL(x),
        "image/jpeg", 99
    ),
3000)

It will enlarge the zoomable image preview size, wait 3 seconds for the image to load, then load the full-size image directly in your browser, from which you can ctl-click and "Save As".

@ghost
Copy link

ghost commented Aug 21, 2022

document.querySelector("smart-frame").style="width:6000px; height:6000px;"


setTimeout(()=>
    HTMLCanvasElement.prototype.toBlob.call(
        document.querySelector("canvas.stage"),
        x=>window.location=URL.createObjectURL(x),
        "image/jpeg", 99
    ),
3000)

A note that this downloads the same resolution as the script above; about 80% of the full resolution, so not the full-size image.

@pigsonthewing
Copy link

Someone has now made a new Tampermonkey script; it works for Historic England, Tate and Granger, and can be made to work on any other SmartFrame site by adding a "match" like those on lines 7 to 9.

https://pastebin.com/7TzMVm6F

@ghost
Copy link

ghost commented Dec 15, 2023

Here is a small script you can copy and paste into your browser console to download full-size images from smartframe sites :

document.querySelector("smart-frame").style="width:6000px; height:6000px;"


setTimeout(()=>
    HTMLCanvasElement.prototype.toBlob.call(
        document.querySelector("canvas.stage"),
        x=>window.location=URL.createObjectURL(x),
        "image/jpeg", 99
    ),
3000)

It will enlarge the zoomable image preview size, wait 3 seconds for the image to load, then load the full-size image directly in your browser, from which you can ctl-click and "Save As".

This method does not work anymore.

Need help downloading from this one: https://iconiclicensing.net/

@JoeyJoJoJr
Copy link

Hello all, any update on these methods? Long shot I know, but it seems nowhere else on the internet is brainstorming this. Thank you

@RayMairlot
Copy link

@JoeyJoJoJr There are recent discussions at the previously mentioned blog post: https://shkspr.mobi/blog/2022/05/liberating-out-of-copyright-photos-from-smartframes-drm/#comments

@hoixw
Copy link

hoixw commented Oct 27, 2024

I have a tampermonkey script for downloading smart-frame files.
See https://github.com/hoixw/SmartFrameDownloader/.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new site support The issue is not about a bug is dezoomify, but rather someone asking for a new site to be supported.
Projects
None yet
Development

No branches or pull requests

8 participants