Skip to content

[CHIA-4412] [Bug] NFT IPFS gateway: dweb.link returns 403 to Electron, nftstorage.link URLs bypass gateway setting #3065

Description

@danieljperry

What happened?

This is related to issue #3058.

Found during 2.7.4 RC testing of GUI PRs #3060, #3061, #3062, #3063 (NFT media pipeline).

Two related issues with IPFS-hosted NFT content:

Custom IPFS gateway (PR #3061) is correctly read from prefs and used to translate ipfs:// URIs, but dweb.link (and likely other Cloudflare-fronted gateways) returns HTTP 403 to Electron net.request. Likely Cloudflare bot detection rejecting non-browser User-Agent. The same URLs return 200 via curl. Fix: set a browser-like User-Agent header on gateway requests, or document which gateways work with Electron.

NFTs minted with nftstorage.link as the primary HTTPS data URI (e.g. https://nftstorage.link/ipfs/bafybei.../file.png) are permanently broken. nftstorage.link now 302-redirects to ipfs.io, which returns 429 (rate limit, sunsetting Sept 21 2026). The custom gateway setting only affects ipfs:// scheme URIs, not plain HTTPS URLs. These NFTs have no working data URI unless the GUI can detect IPFS paths inside HTTPS gateway URLs and re-route them through the user-configured gateway.

Test NFT: launcher ID 11ee129f76894c8a8e07c728207b1f14495b74d3edbacb20e1d16beeb971be66 (BatGAN POAP Miami #12)

Data URIs: https://nftstorage.link/ipfs/bafybeiep45.../BatGAN_POAP_Miami_12.png and ipfs://bafybeiep45.../BatGAN_POAP_Miami_12.png

Content verified correct (sha256 matches on-chain data_hash) via direct curl.

Version

2.7.4 RC2+

What platform are you using?

Linux

What ui mode are you using?

GUI

Relevant log output or stacktrace

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions