ipfs / ipfs-companion

Browser extension that simplifies access to IPFS resources on the web
https://docs.ipfs.tech/install/ipfs-companion/
Creative Commons Zero v1.0 Universal
2.05k stars 323 forks source link

Brave: subresource assets (e.g. images, video, scripts) with gateway URL not redirected #1095

Open dokterbob opened 1 year ago

dokterbob commented 1 year ago

Describe the bug When a website links to assets over IPFS using gateway URL's, they are loaded over the gateway rather than redirected to a configured gateway (e.g. local node).

To Reproduce

  1. Ensure local node is running.
  2. Ensure IPFS Companion is enabled.
  3. Load demo page with link to image on https://dweb.link: https://dweb.link/ipfs/QmaZKqW2KM4P6cynUg7u8htjgn1LvD9io7cVEpjCdpAcDr
  4. Ensure redirect to local node (e.g. http://bafybeifvrn2fj77a7xlhgi3r5yfqdllibcyoozcd65ggzzhdj47rwbirnu.ipfs.localhost:8080/).
  5. Open Network tab in DevTools.
  6. Reload page.
  7. Verify request URL for image on website.

Expected behavior Image URL is replaced by URL on local node (e.g. http://bafybeifnki7op77j43swrlukkjq7whi5wxae7zys52fqgrsycars656xhq.ipfs.localhost:8080/QmUxhzKtwaDm5T8HnxfVCxogH2K7MshYVdtc1mCaFFFqqm-400-400.webp), as would be the case then the image URL is opened directly, and loaded from there. Instead, it's loaded from the original URL from the remote gateway (e.g. https://bafybeifnki7op77j43swrlukkjq7whi5wxae7zys52fqgrsycars656xhq.ipfs.dweb.link/QmUxhzKtwaDm5T8HnxfVCxogH2K7MshYVdtc1mCaFFFqqm-400-400.webp).

Screenshots image image

Desktop:

Additional context I have double checked that with the internet disconnected, the image loads from the direct URL and the demo page loads, but the image does not load on the page.

welcome[bot] commented 1 year ago

Thank you for submitting your first issue to this repository! A maintainer will be here shortly to triage and review. In the meantime, please double-check that you have provided all the necessary information to make this process easy! Any information that can help save additional round trips is useful! We currently aim to give initial feedback within seven business days. If this does not happen, feel free to leave a comment. Please keep an eye on how this issue will be labeled, as labels give an overview of priorities, assignments and additional actions requested by the maintainers:

Finally, remember to use https://discuss.ipfs.io if you just need general support.

dokterbob commented 1 year ago

Poke! @whizzzkid @SgtPooki @lidel @armujahid

whizzzkid commented 1 year ago

@dokterbob ❤️ the 👉🏽🧑‍💻 but I don't have perms to assign/triage/label the issue.

For me locally, the redirect seems to be happening to my local gateway url as expected. But the asset is not resolving, 🤔?

lidel commented 1 year ago

iirc this is an artificial limitation present in Brave, caused by their custom Brave Shields extension.

Subresources on https:// websites (e.g., images) that have src pointing at a public gateway URL (with CID in URL) can't be redirected:

Been a few months since I've looked at this, but at the time subresource redirect in Brave worked only when you use native ipns:// and ipfs:// built into Brave (using embedded note instead of remote one).

@dokterbob please fill an upstream issue in https://github.com/brave/brave-browser/issues and mention me there, and I'll bring this topic up during my bi-weekly sync with Brave :pray: