Hacker News new | past | comments | ask | show | jobs | submit login
Announcing DatHTTPD (pfrazee.github.io)
141 points by bpierre on Feb 22, 2017 | hide | past | favorite | 29 comments



This is a part of the Beaker p2p browser project [1]. This server lets you host websites over the Dat protocol with DNS shortnames, as well as HTTPS as a fallback for (let's say) "legacy" browsers.

Happy to answer questions.

1. https://beakerbrowser.com/

EDIT: direct link to the repo https://github.com/beakerbrowser/dathttpd. We also have Prometheus/Grafana integration which is pretty handy; it's currently the easiest way to watch the health of a swarm.


Is Beaker tied to Chromium? It looks that way from the screenshots, which is disappointing as a Firefox user/contributor.


It's a chromium fork, yeah.


Is taking a more secure baseline part of the plan? I'm thinking of https://github.com/Eloston/ungoogled-chromium


Is there any other way to convert from short-ish names to dat addresses, currently or planned?

(If short names always depend on some content hosted at https://same-domain.tld, what's the point?)


Yes - In Beaker we have plans for a userland namespace, which will be under the "app://" scheme. And we may someday move from DNS-over-HTTPS to something like DNSSEC, but that's not planned yet.


I'd love to see a kind of reverse-DNS-style tagging system, so that when my browser comes across a dat:// link it can automatically show me that this content is commonly tagged as "book, Fahrenheit 451" or such.


That's not far off from what we're thinking.


What about storing the dat link in a TEXT dns record?


We did that originally, but there's no authentication so it would be trivial to MITM


Beaker browser is amazing. You seem put most of your efforts on DAT support, do you plan an IPFS support?

The historical IPFS implementation is Go but it seems that the JavaScript implementation is gaining traction and, IMO, will become the main reference implementation.


This is really cool. Nice to see the Dat protocol[0] getting more uses and implementations.

[0] https://datproject.org/


I think that's the wrong URL. I believe you meant https://www.datprotocol.com/


Both are right. Dat project is the nonprofit that runs the protocol development


pfraze, what are you impressions of Upspin?: https://news.ycombinator.com/item?id=13700492


Very sensible design decisions and it's hard not to get excited about Rob Pike's involvement. I think Dat confers significant advantage by being hostless, but with Google's name behind it, you never know where Upspin could go. We have plans for secure key-distribution via Dat that's similar to Key Transparency, but it'll take us a couple months to a year to implement it. I feel bad for the Keybase team right now, that's for sure.


> but with Google's name behind it

Yeah, given the developers, I wonder how seriously to take the "not an official Google product" statement.

> I feel bad for the Keybase team right now

I wonder what they are going to do to respond to these developments...


Has anyone tested Dat and also knows ZeroNet and IPFS? How do they compare? Dat seems very similar to ZeroNet.


I can chime in with a different perspective here - code quality.

I helped out ZeroNet for a while. I even ran a bridge for public access without ZeroNet for a while.

The main task I was undertaking was bringing in testing.

There were large problems.

The main developer refused to use pip for dependencies, a misunderstanding that it requires admin privileges.

So instead, the dependencies were half a list that the user must install, and half lived inside the git repo.

I suggested git submodules but it was shot down as inconvenient for manual testing.

I countered that the dependencies were increasingly out of date, including some critical security issues - and was told to go find another project.

On the other hand, IPFS has been incredibly professional, really on top with critical security bugs.

Beaker has been a rather pleasant experience when patching any holes that appear.


"I countered that the dependencies were increasingly out of date, including some critical security issues - and was told to go find another project."

Classy... Note to self to never consider that project.


So... it's developed by someone who doesn't know how to do Python :(


I've tried all three. Quick and dirty differences: ZeroNet is for sharing websites by public key -- meaning the data the public key points to is mutable by the whoever possesses the private key. Dat is for storing generic content (which may or not be a website) by public key. IPFS is for storing generic content by hash -- meaning that the data the address points to is immutable. You should also be aware of IPNS, a public key system from the makers of IPFS, thought I'm more of a fan of Dat than anything else.


The "Configure the variables in this post" is an incredible touch that makes reading the examples so much more instantly relatable and recognizable. I will definitely be stealing this pattern for my own purposes!


This is perhaps slightly off-topic, but a concern I've had with systems like IPFS and Dat is that they seem to harm privacy, because objects are not encrypted, and consequently also would among other things not be censorship-resistant, and be more likely to cause legal issues for an owner of a node which ends up holding illegal content involuntarily. Has there been any work in this regard?


I've discussed this at some point in the IPFS IRC channel.

Their line of reasoning was that you could just as easily host encrypted blobs on IPFS and be done with it. That somewhat appeals to me, encryption of content seems orthogonal to hosting it. It feels like the Unix dogma 'do one thing and do it well'.


You could do it yourself, but in 2017, I'm not sure optional DIY privacy and censorship-resistance is acceptable. It ought to be done transparently and automatically by the implementation.

Encryption isn't slow, it wouldn't hurt performance or anything like that. Plus, if everything's encrypted, it doesn't attract attention to the people who appear to have something to hide.

The model I have in mind would be what mega.co.nz does: store opaque ciphertexts, and distribute links containing the keys to said ciphertexts. So instead of a link to someproto://hash/ you'd link to someproto:://hash/decryptionkey/. And your IPS/Dat/whatever client would handle decryption for you.


would be really interesting to see a social network built on top of this.


stay tuned


How does Dat compare to Noms?

https://github.com/attic-labs/noms




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: