
Announcing DatHTTPD - bpierre
https://pfrazee.github.io/blog/announcing-dathttpd
======
pfraze
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/](https://beakerbrowser.com/)

EDIT: direct link to the repo
[https://github.com/beakerbrowser/dathttpd](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.

~~~
ploxiln
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](https://same-domain.tld), what's the point?)

~~~
pfraze
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.

~~~
jvz
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.

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

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

[0] [https://datproject.org/](https://datproject.org/)

~~~
adrianpike
I think that's the wrong URL. I believe you meant
[https://www.datprotocol.com/](https://www.datprotocol.com/)

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

~~~
webmaven
pfraze, what are you impressions of Upspin?:
[https://news.ycombinator.com/item?id=13700492](https://news.ycombinator.com/item?id=13700492)

~~~
pfraze
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.

~~~
webmaven
_> 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...

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

~~~
shakna
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.

~~~
bigiain
"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.

------
scott113341
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!

------
TazeTSchnitzel
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?

~~~
haarts
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'.

~~~
TazeTSchnitzel
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.

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

~~~
pfraze
stay tuned

------
jhoechtl
How does Dat compare to Noms?

[https://github.com/attic-labs/noms](https://github.com/attic-labs/noms)

