This report used to contain all major software happenings since the last report but this time it’s a bit different.
I’ve decide to write about a specific thing, fill in the gaps on that and then link to reports and blogs that have already been written.
So for general updates around OARC’s software since AGM 2021, please read my Development Updates #2111, #2203 and #2206.
And if you have any questions, comments or just wanna talk then you’ll find me in the OARC Software channel on our Mattermost!
A story around software, a survey and The Plan
Back in January I sent out a survey to our members that I hoped would give guidance on what to focus on in the future.
This has actually been something I’d been thinking about for some time.
Back when I started at OARC in 2016 we really only have one open source project, the DNS Statistics Collector (DSC). The number of projects then quite quickly grew and by the end of 2021 I had around 20 to manage and it had become a problem.
We also took on funded projects, to do specific things that our members and the community ask for. And while that was a very good thing and helped us stay relevant, it took time away from the other projects.
I felt like I got nothing done because I was just switching between projects, never really having enough time to finish any big tasks.
That led me to want to try and do things differently, like focus on something specific for a few years.
The survey
I wanted the survey to do two things, first to answer which area is most important for our members.
The areas were “Testing tools” (dnsperf, dnsjit, Check My DNS etc) and “Statistics and measurement tools” (DSC, dsc-datatool, dnscap etc). Next I listed a bunch of project ideas to see if any of them stood out as something to proceed with.
We received some 30+ completed answers, and for the question around which area to focus on it was almost a clean 50/50 split.
For the projects it was much easier to draw a conclusion so I ended up selecting a couple for each area. For “Testing tools” it was either Check My DNS or dnsperf and for “Statistics and measurement tools” it was DSC and its tool-chain (dsc-datatool, Grafana integration etc).
Making a decision
With that it was now a decision between the two areas, and then what project.
I invited all our members for a call to discuss this and had a few sign-ups but got COVID the week before. My voice was totally busted so I tried in the last minute to move the meeting from a call to a Mattermost chat… it failed.
Luckily I managed to get a meeting together with the OARC board some weeks later and we came to a consensus that focusing on “Testing tool” is very much in-line with one of the core aspects of OARC, to facilitate the development of DNS.
They then trusted in me to select what project to focus on and I went with Check My DNS because I have so many ideas that I want to try out!
The Plan
I’m really excited to focus on Check My DNS!
In addition to the new user interface, and adding support for DNS-over-TLS and DNS-over-QUIC, all of which I wrote about in my latest development update, I have a lot more planned.
Over the years I’ve gathered a long list of ideas, mostly from seeing presentations and having hallway discussions at conferences.
Can’t really believe it’s been over 5 years since I hacked the first version of this!
Check it out and if you have any ideas yourself feel free to add them.
Beside the ideas listed there, which are mainly things to check/test for, I got other ideas that I want to describe a bit more right now.
Replacing old testers
I’ve been wanting to replace the old testers Port Test, DNS Entropy and Reply Size Test for so long… and now I finally can with the focused effort on Check My DNS!
The testers will be converted into specific checks and user interface elements within Check My DNS. I’ve still not decided if new interface elements should be added to any existing checks; for example, adding the reply size graph from the Reply Size Test to other checks. Will have to tinker with this and see what works best.
Note that running tests from the command line will be done with cmdns-cli
instead of dig
. This may not be to everyone’s liking, but it will be much easier for us to manage things like resource usage that way.
History and shareable results
With the new user interface, I am adding the option to store the results locally in the browser (using localStorage) so you get a history and can view earlier runs.
This can then be shared via files or online text storage sites, letting others view your result if you want them to.
Multiple locations
I recently set up another instance of Check My DNS at our Hurricane Electric (Fremont, CA USA) location and it’s time to connect them.
This will allow me to load balance between instances and later on I will add user interface options to select what location you want to use.
After that we can add more instances, maybe you want to run one? Let me know!
Custom checks
The idea is to open up Check My DNS so people can submit a custom check (Go module).
This might be very interesting for researchers, giving them the ability to create very specific resolver tests. And coupled together with RIPE Atlas, for example, it could yield some interesting results.
App?
Everything is an App now days right? So why not join that jolly train.
Joke aside, an App would give us control over the queries going out.
Check My DNS currently lets the browser handle that by simply opening URLs so it’s basically limited to NS/A/AAAA records and the resolver used by the system (or browser).
Controlling what/how queries are generated, and to whom, would open up an endless array of ways to test peoples’ DNS!
Om my, that’s a lot. Better get to work on that! Cheers :D
/Jerry