My take - if you don't mind Go...
https://github.com/rollcat/gdoh
No forking, no dependencies outside of stdlib, async
queries/responses, allows using multiple providers, 78 loc.

> I'm pretty sure DNS over HTTPS runs on top of a TCP stream and not a UDP 
> stream.

In Calvin's sdohd, it's curl doing all of the TCP+TLS+HTTPS heavy lifting.
The UDP socket accepts actual DNS requests from the local machine and
mangles them into DoH.

<3,K.

On 3 April 2018 at 21:43, Laslo Hunhold <d...@frign.de> wrote:
> On Tue, 3 Apr 2018 00:12:01 -0400
> Calvin Morrison <mutanttur...@gmail.com> wrote:
>
> Hey Calvin,
>
>> Presenting sdohd(1) - simple dns over https daemon [0]f
>>
>> okay I wrote it see below. depends on curl, also i havent written C in
>> a long time so I didn't really have a good grasp on allocating stuff,
>> nor did i read the actual spec on dns so i hope bufsize = 256 is big
>> enough for any dns response, who knows, whatever, it kind of works.
>
> I'm pretty sure DNS over HTTPS runs on top of a TCP stream and not a
> UDP stream.
>
>         if ((fd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
>                 perror("cannot create socket\n");
>                 return 0;
>         }
>
> Taken from here[0].
>
> With best regards
>
> Laslo
>
> [0]:https://github.com/mutantturkey/sdohd/blob/master/sdohd.c
>
> --
> Laslo Hunhold <d...@frign.de>
>

Reply via email to