Skip to content
This repository has been archived by the owner on Dec 27, 2022. It is now read-only.

Implement Dat DNS-over-HTTPS #275

Merged
merged 3 commits into from
Feb 3, 2017
Merged

Implement Dat DNS-over-HTTPS #275

merged 3 commits into from
Feb 3, 2017

Conversation

pfrazee
Copy link
Member

@pfrazee pfrazee commented Feb 3, 2017

Tasks

  • Resolve DNS over HTTPS.
  • Implement an in-memory cache.
  • Discover Dat alternatives to HTTPS sites and prompt the user to redirect.

Spec: https://github.com/beakerbrowser/beaker/wiki/Authenticated-Dat-URLs-and-HTTPS-to-Dat-Discovery

screen shot 2017-02-02 at 6 47 11 pm

This implements basic resolution without caching.
This is a simplified UI that probably needs more work, but, for
now:

If you visit an HTTPS site, Beaker will check for a Dat URL. If
the URL is found, a button will be presented to redirect.
@pfrazee
Copy link
Member Author

pfrazee commented Feb 3, 2017

The "prompt to redirect" is a very simple P2P icon in the right side of the navbar. It will need work in the future.

@pfrazee pfrazee merged commit 93b6170 into master Feb 3, 2017
@pfrazee pfrazee deleted the dat-dns-over-https branch February 3, 2017 02:46
@max-mapper
Copy link

👍 this is awesome

@pmario
Copy link
Contributor

pmario commented Jun 27, 2017

I like this possibility, because of the human readable format. ... BUT what about "link-rot", which is a major problem.

Let's say I have a link eg: dat://beakerbrowser.com/blog/ but the beakerbrowser.com domain doesn't exist anymore. So https://beakerbrowser.com/.well-known/dat doesn't return the dat-key anymore.

  • Where and how do I get a valid dat-key?
  • Even worse. What if the domain name belongs to someone else now?

just some questions that have come up. ... IMO none of them have been asked in #227

@pfrazee
Copy link
Member Author

pfrazee commented Jun 27, 2017

I think link rot is an inevitable tradeoff of an aliasing system. Unless the aliases are globally unique and permanent, you get link rot.

I personally wouldnt want an immutable aliasing system. Just yesterday some glitch caused me to lose the keypair that I was publishing dat://beakerbrowser.com with, so I had to update the DNS entry.

@pmario
Copy link
Contributor

pmario commented Jun 27, 2017

Yea. ... After posting it, I thought a little bit about it. eg: If one uses "prettylinks" in publications eg: PDF, the best practice should be to also publish the dat-link as a footnote, or somewhere else, where a user can find it. ... Not perfect but imo a usable workaround.

@pfrazee
Copy link
Member Author

pfrazee commented Jun 27, 2017

@pmario I think that's a pretty reasonable tradeoff. At least now it's possible, which is a big step up

@pfrazee
Copy link
Member Author

pfrazee commented Jun 27, 2017

One thing I'd like to do is enable site "snapshots", which uses Dat's existing ability to create static content-addressed archives (as opposed to the typical "live pubkey-addressed" archives). The idea would be, you nav to a site and say "New snapshot," and that'd be similar to forking: you create a new archive with the current content, but it's static and content-addressed.

@okdistribute
Copy link

The only thing I'm thinking is a problem here is that the swarm will become less healthy if the hash isn't able to be looked up by the live key. Ideally, the snapshot would be a subset of the live key so that any clients broadcasting the live key or the snapshot can share that with eachother.

@pfrazee
Copy link
Member Author

pfrazee commented Jun 27, 2017

@Karissa that's a good point. If we realize that needs to be a priority, we can use versioned URLs instead.

@pfrazee
Copy link
Member Author

pfrazee commented Jun 27, 2017

(And the plus side to versioned URLs is, we support them already!)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants