 hey okay thanks so I think I spoke at this before but it was at PotWorx right last couple are we good Michael right so anyway I spoke about this project that is sort of my descent into madness for the last couple years I'm really glad that I'm not the only one who likes emoji sheep just like the previous speaker because that's kind of my whole thing Commons host is like a CDN that I worked on for a while now launched it like almost a year ago and I went from like having one pop like CDN has like a lot of servers in the world I went from having like one pop which was like my Mac at home to like about 30 plus now and 20 plus locations around the world so it's pretty pretty sweet it does static web hosting like you have a static website like I have one of our glorious users here you know you get like free hosting around the world super fast and runs on something like like these guys these are these little server there's like a little single board computer like a Raspberry Pi times five perform twice something like that it does full gigabit that's the key thing it's great for you stick an SSD in here and it's just like blasts away on a fiber connection like serving a lot of content so I've got a couple dozen of these around the world now this one actually is the back end so sorry you can't upload it right now I brought just a demo it I took my server here you want to check it out the that means that the CDN is totally fine you can take out the back end for a while do some maintenance or whatever I'm you know something I'll work on is that get more redundancy the other thing I took down from my network is these two these are two Raspberry Pi model 1b or whatever that I bought here from the 12 Geeks guys that hackers based me like five six years ago finally got used for them because you never do anything with these everybody everyone this has them in their closet right I this one got a nice little $2 all you express case and some stickers this is like a crappier case that I spray painted myself but same thing you run pie hole on there pie hole is this project there's like an ad-locking over DNS so you have like your own little DNS server at home great everybody has that thing has like tens of millions of downloads so you just set up it's the easiest thing in the world then I built another one called donut which does dough which is DNS over HTTPS and DNS or HBS is a new protocol well new essay like about two years ago people started working on it I implemented about six months ago together with some friends and we deployed it onto common so so now I've got 30 something servers around the world which is effectively one of the largest by a number of locations DNS public services in the world and they're all running on these little servers and what dough let me do that I would not otherwise be able to do is instead of running public DNS which is in a you know running port port 50 53 unencrypted and all that kind of stuff you expose yourself to all kinds of attacks amplification of traffic you become like a vector for D for D-dolls other targets with dough it's going over HTTPS so with dough with HBS you can't really sort of redirect that response to anywhere else so you I can safely deploy this and so if you want to try it out you need to have a dough client and right now it seems like Firefox this will be the main client that people use has it built in it is enabled by default they have a very controversial decision around there where they use the default to cloud flares service that they have a tie up with for whatever reasons and people are kind of upset with that and there's a actually in the last few days also a lot of uproar on the ITF mailing lists if you into that stuff where people talk about you know it's getting to centralized like you only get a couple of big DNS providers I'm trying to prove that it's not and this is a beautiful elegant hack of a protocol and I've implemented it and it took no time at all and I wanted to use it so I built this doughnut thing so doughnut is sort of a bridge if you look at the picture here should show the whole thing you've got your dough service where you have like your comments hosts which is the one I build and there's a bunch of others like and a lot of people can implement this RFC 8484 and you need a client but most people have a regular DNS client right you've got your regular piehole or your standard phones and whatever they don't talk dough so how do you talk dough you have to speak DNS to a proxy and I doughnut is such a proxy proxies DNS to dough and so the way I've done that is I run piehole on this and my DHCP on my homeland announces that to like myself and a couple of dozen people on my public Wi-Fi in my apartment building this thing then runs doughnut actually runs doughnut in Docker so actually that's cool you should check this out I like know very little about Docker and I've learned a lot about it in the last couple of weeks because some amazing contributor found out about my project and put Docker and now I've got like four and a half thousand downloads from just like two weeks of doing nothing to it anymore and it's nice because this this image how do you see like the files here this is ridiculous I don't know man right there should be right I mean I built it I wrote it yeah I know there's a bunch of stuff here but it's it's pretty cool this actually I really love this thing so I'm gonna tangent for like 20 seconds this thing basically runs a Docker thingy container with QEMU which is like an emulator and then emulates various architectures arm 678 question time or is it like okay boss okay oh sorry so it basically builds images for all kinds of architectures on like Travis CI or whatever CI or in your own machine so if you ever need to like compile a node app into a doctor thing and make it cross-platform for everyone else copy paste this thing I've already copy pasted it for another project now so that's actually a really cool thing as well you can tell I totally prepared for this talk by like no I spent couple years coding to prepare for it I guess is the wiffy a little bit slow I don't have time never mind I built a benchmarking to check it out it's called bulldozer it figures out latency so it's like you run it on your own machine I'm making a base version of it I'll have that available very soon it basically like it does like ping for DNS so it'll and you can get running against a whole bunch of servers and just figure out what is the fastest DNS or dough and then use that one and with donut you can then it does that built-in so you can just tell donut like connect to all of them and it'll automatically like you know start measuring them and route your traffic to the fastest one it'll look it'll do other cool stuff for privacy as well it'll actually you can tell it to like sort of shard your traffic across all of your dough or DNS resolvers many proxies to like a whole bunch of them the other thing is it can spoof queries so you don't trust your cloud player or your Google or your comments host or your neighbors DNS so it can sort of like when you make a query it'll sort of randomly before or after or that with some delay send a query to one of like the top 1 million domains with like a you know curve like picking out the most likely one so it's like very hard to detect the spoof queries so it has all these kinds of stuff there's more things that I want to add to it there's a like you can but yeah I'll leave it at that okay oh one more thing maybe for the next talk I just want to give a quick is it available yet hang on now if I slow I'll give it for next time I have another cool project but I won't do it for now okay thank you any questions every time for questions that's exactly correct this guy is not doing his job right now so wait wait wait wait an hour yeah so I run Docker with the donut on this guy but I also run donut on this guy itself so I've set it up at first I ran it for a week or something so like just use the local host donut then I wanted to set up Docker so I was like I have another reply let's set up Docker on that thing and you know deploy like that so you totally totally most people run it I mean from the thousands of downloads it looks like most people are running it on like Docker on whatever you can run it on a digital ocean or something or you know your own you don't like old laptop or whatever any questions man so much questions okay cool thank you hey wait you have like a minute and a half are you my captive audience nice okay one thing I want to see like does this make sense was it working up for two days and I can't forget I forget the name go for so I did you know you know what's up so yeah nobody has a thing like this anybody know what gopher is yes yes exactly exactly where are we here so this is ancient protocol that was sort of a competitor to the worldwide web through like HTTP and HTML so I'm not too sure about that come again yeah you can there's 299 known a gopher servers in Veronica version 2 search engine which is like an exhaustive they're based of all gopher servers right sure that they are not just for the sake of preservation hmm hang on there's this thing that's not a gopher yeah there's not so it's like which one is close do you think I don't know or the squirrel or the rat but but they're actually not like squirrels they're like different family they're different order in family like family thing so it's it was a it was a conundrum here here gopher did anyone know what this is machine the gopher machine oh waffle machine gopher machine that's a good idea I should have so next time I should have waffles or something I know I just wanted to bring I have not found the use for these I ordered them randomly on all express way too much it's obvious it's awful now it's a gopher protocol over HBS just like you do DNS so I've I've written a proxy for that and I'm I'm literally working on it right the entire afternoon yeah hence the thing so there's one is the proxy and the other is the client same with the DNS I had to build the sort of a proxy thing and like the translate and then a client it's not even committed to the repo at home on my computer yeah give me a couple days