Subject: [Doh] Running code

From: Ben Schwartz <[email-masked]>
Date: Tue, 9 Jan 2018 18:10:53 -0500

Hi DOH,

As a DOH participant, I've been working on an implementation
of draft-ietf-doh-dns-over-https-02, and I'm happy to report that it's now
available at https://dns.google.com/experimental.  For example, you can
test the example from Section 5.2 by running

wget '
https://dns.google.com/experimental?ct&body=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB
'

This service is experimental, and is not intended to support a large volume
of queries.  We may make compatibility-breaking changes to keep up with
this working group's drafts, and we will likely shut it down (and move it
to a more permanent path) if and when the working group reaches consensus
on the protocol.

I hope this service is useful to DOH participants who are working on
clients.  I also hope anyone who encounters a bug in this implementation,
or a deviation from the draft, will let me know.

--Ben Schwartz

---

From: manu tman <[email-masked]>
Date: Wed, 10 Jan 2018 15:26:17 +0000

Great stuff!

I tried the client and stub I implemented during IETF 100 hackathon [0]
against it.
After some minor changes (configurable DOH_URI and using ct instead of
content-type parameter, the client (which is just performing 1 query) is
working, but the stub is not. It seems that aioh2 client is not working
correctly with http2 servers in general, not just dns.google.com (other
than its own). I will dig into this when times permits and update the code
and this list.

Manu

[0] https://github.com/chantra/doh-proxy

On Tue, Jan 9, 2018 at 3:11 PM Ben Schwartz <[email-masked]> wrote:

> This service is experimental, and is not intended to support a large
> volume of queries.  We may make compatibility-breaking changes to keep up
> with this working group's drafts, and we will likely shut it down (and move
> it to a more permanent path) if and when the working group reaches
> consensus on the protocol.
>
> _______________________________________________
> Doh mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/doh
>

---

From: manu tman <[email-masked]>
Date: Thu, 11 Jan 2018 12:19:21 -0800

Hi all,

Following up on Ben's announcement of a "publicly" available DOH server, I
brushed up some of the work I did during IETF 100 Hackathon and pushed the
changes to https://github.com/facebookexperimental/doh-proxy . This is best
effort support, but feel free to file tasks and/or submit PRs.

TL;DR if you have at least python 3.5, you can get the tool from pypi
directly:
```
pip3 install doh-proxy
doh-stub  --listen-port 5553 --domain dns.google.com --remote-address
216.58.193.78 --uri /experimental
```

And the test with `dig @127.0.0.1 -p 5553 ....`

Manu

On Wed, Jan 10, 2018 at 7:26 AM, manu tman <[email-masked]> wrote:

>> of draft-ietf-doh-dns-over-https-02, and I'm happy to report that it's
>> now available at https://dns.google.com/experimental.  For example, you
>> can test the example from Section 5.2 by running
>>
>> wget 'https://dns.google.com/experimental?ct&body=
>> q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB'
>>

---

From: Ben Schwartz <[email-masked]>
Date: Thu, 11 Jan 2018 15:47:15 -0500

Very cool!

On Thu, Jan 11, 2018 at 3:19 PM, manu tman <[email-masked]> wrote:

> changes to https://github.com/facebookexperimental/doh-proxy . This is
> best effort support, but feel free to file tasks and/or submit PRs.
>
>>> wget 'https://dns.google.com/experimental?ct&body=q80BAAABAAAAAAA
>>> AA3d3dwdleGFtcGxlA2NvbQAAAQAB'
>>>

---

From: Daniel Stenberg <[email-masked]>
Date: Mon, 15 Jan 2018 11:53:51 +0100 (CET)

On Tue, 9 Jan 2018, Ben Schwartz wrote:

> available at https://dns.google.com/experimental.

Lovely, thanks! It matches the behavior my code expects for both GET and 
POST...

-- 

  / daniel.haxx.se

---

From: Stephane Bortzmeyer <[email-masked]>
Date: Mon, 15 Jan 2018 15:40:12 +0100

On Tue, Jan 09, 2018 at 06:10:53PM -0500,
 Ben Schwartz <[email-masked]> wrote 
 a message of 163 lines which said:

> of draft-ietf-doh-dns-over-https-02,

Great. Do note there are people who would like to work on DoH at the
London hackathon. Volunteers welcome
<https://trac.ietf.org/trac/ietf/meeting/wiki/101hackathon>

---

From: Daniel Stenberg <[email-masked]>
Date: Mon, 15 Jan 2018 21:36:47 +0100 (CET)

> <https://trac.ietf.org/trac/ietf/meeting/wiki/101hackathon>

I have written some crude perl code to generate DOH responses and create DOH 
queries etc on the command line that I've needed when playing with DOH:

  https://github.com/bagder/dns2doh

-- 

  / daniel.haxx.se

---

From: manu tman <[email-masked]>
Date: Tue, 16 Jan 2018 23:51:39 -0800

On Thu, Jan 11, 2018 at 12:19 PM, manu tman <[email-masked]> wrote:

> changes to https://github.com/facebookexperimental/doh-proxy .
>

Some follow ups here....

I just pushed doh-proxy v0.0.2 which adds a few more feature:

- updated doc at https://facebookexperimental.github.io/doh-proxy/ I would
appreciate people testing, going over the doc and providing some feedback.
- The stub will now perform multiple queries over the same HTTP2 connection
and therefore greatly improve latency. The stub is still HTTP2 only and I
dont think it will do anything else for the coming future.
- added doh-httpproxy: This is suppose to run behind a reverse proxy, a
good way to easily scale python, run the script without caring about
specific privileges and dropping them later and also a way move TLS
termination and properly handling HTTP2 to the reverse proxy so DOH proxy
does not have to deal with it.

Manu

---

From: manu tman <[email-masked]>
Date: Sat, 27 Jan 2018 23:49:32 -0800

Hi all,

I am also running an experimental server... that runs doh-proxy. Using the
original query, it would translate to:
https://dns.dnsoverhttps.net/.well-known/dns-query?ct&body=q80BAAABAAAAAAAAA3d3dwdleGFtcGxlA2NvbQAAAQAB

Mind that this is running on some cheap digital ocean instances and is not
monitored :) but that should be good enough to run tests against.

Manu

On Tue, Jan 16, 2018 at 11:51 PM, manu tman <[email-masked]> wrote:

>> Following up on Ben's announcement of a "publicly" available DOH server,
>> I brushed up some of the work I did during IETF 100 Hackathon and pushed
>> the changes to https://github.com/facebookexperimental/doh-proxy .
>>
>
> Some follow ups here....
>
> - updated doc at https://facebookexperimental.github.io/doh-proxy/ I
> would appreciate people testing, going over the doc and providing some
> feedback.
> - The stub will now perform multiple queries over the same HTTP2
> connection and therefore greatly improve latency. The stub is still HTTP2
> only and I dont think it will do anything else for the coming future.