-
Notifications
You must be signed in to change notification settings - Fork 324
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
Ability for any website to opt-out from IPFS integrations #930
Comments
At the high level it appears to me that problem we have is as follows:
I think fundamental problem here is that:
Above makes me wonder if:
I think instead of opt-out mechanism it would make more sense to amend dnslink in some ways so that client could choose better default (other than redirect or not). E.g. companion instead of redirecting could:
|
Thanks, this is useful! Fleshing out current thoughts on this:
I like (B) bit more, because it removes the need for sending a HTTP request to every DNSLink-enabled website we discover, and works even when original server is down, enabling us to build better recovery UIs. |
protoschool could do something fancy like have a subdomain that doesn't have a dnslink and use and iframe and postMessage to store scores against an origin that is stable regardless of how the user fetches it. More simply, if the DNSLink redirection was opt-in, where companion offered you the "Hey, this site is available via IPFS" then the site would also get an opportunity to tell you the trade offs. It would be most helpful to have a way for a site to detect if companion is enabled, so it could post a banner like "get this on IPFS, learn more..." and explain the trade-off (super awesome co-hosting, but you gotta pick a side, or else your scores will get messed up) Either way, i'm mildly against both A and B, when making DNSLink redirection opt-in could solve it without adding more nuance to either the dnslink spec or companion. |
Main intent behind my proposition was to:
I do however do not want to empower sites / hosts with more tools to do tracking, that is to say I disagree that they should recognize if you have companion and do something specific then. In fact I think it is important that they don not know what choice user has made despite given constraints. I'm also less interested in implementation details of all this. I have a mild preference towards complementary solutions, which is how I viewed Another thought I had coming back to this is we could have another TXT record (can we query both in one request?) pointing to CID a with tradeoffs. I imagine eventually those will boil down to handful of CIDs. |
We will try to tackle aspects this as part of ManifestV3 rewrite #666 work, most likely switching the default behavior to prioritize user choice where use of local gateway being opt-in rather than opt-out, similar to Brave: This issue was about opt-out from the server side, so closing it in favour of client-side opt-in tracked in #1072 |
Problem
Some websites may provide degraded UX when loaded from local gateway,
and may prefer to load from canonical Origin by default.
Example:
Looking for a solution
Opt-out per website
We already inspect HTTP headers while looking for
X-IPFS-Path
header, so my initial idea is that we could support opt-out based on HTTP header without adding new overhead. Thanks to this header, any IPFS-powered website could turn the implicit behavior (when the user did not make any manual choice yet) into explicit one.Unfortunately:
Opt-in per website / globally
There is an argument that installing IPFS Companion should not degrade browsing performance, but augument it, and user should make the decision when local node is used for DNSLink website (opt-in and not opt-out).
This got extracted to #1072
Additional notes
onBeforeRequest
, before we send anything. Response headers are available inonHeadersReceived
hook.The text was updated successfully, but these errors were encountered: