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

IPFS deployment #18921

Open
olanod opened this issue Sep 6, 2021 · 7 comments
Open

IPFS deployment #18921

olanod opened this issue Sep 6, 2021 · 7 comments
Labels
A-Packaging Packaging, signing, releasing O-Uncommon Most users are unlikely to come across this or unexpected workflow T-Enhancement

Comments

@olanod
Copy link

olanod commented Sep 6, 2021

Your use case

Element being the face of a decentralized protocol would be a perfect fit for an official decentralized deployment on IPFS .

Ideally as part of the CI process and normal release cycle of a new version of the web front-end there should be a task that uploads the newly created files to a server that can pin the files on IPFS and publishes the hash in a visible public place(e.g. in the github repo as a badge, as simple link, as a text file part of the releases).

Optional would be for app.element.io to use this deployment as the official one pointing the CNAME to an IPFS gateway. As an extra side effect, people that host their own home server with a copy of element, now would only have to update some DNS records to point to the latest hash instead of hosting the files manually.

One last pending bit that can be a separate issue is how a custom.site can use a separate config for customizability that applies only to that domain. I imagine a well known DNS TXT record could be used for that but its something up for discussion.

Have you considered any alternatives?

No response

Additional context

No response

@dbkr dbkr added A-Packaging Packaging, signing, releasing O-Uncommon Most users are unlikely to come across this or unexpected workflow labels Sep 7, 2021
@planetoryd
Copy link

planetoryd commented Oct 29, 2022

This would reduce the trust on element web hosters, since all the data on IPFS are content-addressed.

@t3chguy
Copy link
Member

t3chguy commented Nov 2, 2022

people that host their own home server with a copy of element, now would only have to update some DNS records to point to the latest hash instead of hosting the files manually.

Except then they wouldn't be able to have their own config.json pointing at their own homeserver

@t3chguy
Copy link
Member

t3chguy commented Nov 2, 2022

Don't IPFS Gateways host sites at URLs like https://ipfs.io/ipfs/<hash>/ - if so then the Origin would be the same between various sites and thus leak encryption keys & anything stores in Local Storage & IndexedDB between them.

@olanod
Copy link
Author

olanod commented Nov 2, 2022

Except then they wouldn't be able to have their own config.json pointing at their own homeserver

The DNS TXT record hack I mentioned could be the way people personalize things for their own domain, the record could have the config already or a URL/IPFS-CID that contains the custom configuration for the current domain. When the domain is a gateway or no special TXT record was found we load some default config that points to matrix.org?

@t3chguy
Copy link
Member

t3chguy commented Nov 2, 2022

The DNS TXT record hack

Webapps (Web Javascript) can't make DNS queries, you'd need an extra backend service which becomes an SPOF and/or privacy leak.

@olanod
Copy link
Author

olanod commented Nov 2, 2022

There is DoH(DNS over HTTPS) and services like google's allow us to do DNS queries from the browser(e.g fetch('https://dns.google/resolve?name=example.com'))

@t3chguy
Copy link
Member

t3chguy commented Nov 2, 2022

or privacy leak.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Packaging Packaging, signing, releasing O-Uncommon Most users are unlikely to come across this or unexpected workflow T-Enhancement
Projects
None yet
Development

No branches or pull requests

4 participants