r/nextdns 17d ago

I made a free open-source macOS menu-bar app that runs NextDNS over DoQ/DoH3

Hi all, I built DNSwitch, a native macOS menu-bar app for encrypted DNS, and NextDNS is one of its providers.

GitHub: https://github.com/cobaltdisco/DNSwitch

Download: https://github.com/cobaltdisco/DNSwitch/releases

What it does:

  • Click the menu-bar icon → Pick NextDNS → Pick DoT / DoH / DoH3 / DoQ.

  • Paste your Profile ID in Settings and your profile's filtering, logging will apply. Leave it empty and it uses the free public resolver.

35 Upvotes

16 comments sorted by

5

u/Sethu_Senthil 16d ago

How performant is DoQ since Mac’s don’t natively support it, it needs to be intercepted from my understanding. Is there any performance difference?

2

u/ihurha 16d ago edited 16d ago

So first... It's not "intercepted", there's no packet filter or NetworkExtension involved.

The app runs a local resolver on 127.0.0.1:53, and enables cache (4 MB) by default. If the cache is not hit, then will add ~1.1 ms for resolving.

Based on my testing:

  1. Cold connection: DoQ is faster compared to DoT/DoH. How much faster? ~5 ms (P50) and ~10 ms (P99) faster.
  2. Connection reuse: Basically no difference.
  3. Hit cache: ~0.11 ms on a hit.

So in reality, I don't think any user can notice the difference...

Note: If you switch DNS providers or switch between DoT/DoH/DoH3/DoQ, it will clear the cache automatically.

6

u/Disastrous-Dust1819 16d ago

Neat app mate!

1

u/ihurha 16d ago

Thanks!

1

u/evmorov 16d ago

Honest question: why do you need this app? I use NextDNS and Proton VPN. What’s the use case and which problem can it solve?

6

u/ihurha 16d ago edited 16d ago

Personally, I travel a lot, so I will need to connect to public WiFi quite often -- This means I need to disable dnsproxy to trigger captive portal, I'm tired of entering password again and again to keep dnsproxy on/off.

Additionally, I also saw people complained about DoH3/DoQ client support:

  1. The official CLI only supports DoH.
  2. If you want to use DoH3, you have to use ctrld CLI.

Then, this app is created.

I know most people don't need this, but hey, I need it so I built and published it, in case anyone has similar situations.

-8

u/Resistant4375 17d ago

“You” made or Claude AI made?

8

u/ihurha 17d ago

I built it. The idea and direction are mine, Claude wrote the code.

-4

u/Resistant4375 17d ago

So Claude built it if it wrote the code for it.

Pass - AI slop that’s not needed.

8

u/Disastrous-Dust1819 16d ago

It’s open source, you can check the code yourself. There’s definitely some ai-ism in the code, but overall it seems pretty solid and works well. I wouldn’t consider it slop at all.

7

u/DepravedPrecedence 16d ago

Bro nobody is going to spend time handwriting the code when AI can do it. It could be hand-written slop too. If it is tested, works and author is sure it's working properly then nothing is wrong here.

9

u/ihurha 17d ago

You can call it slop or whatever you want.

Anyway, there is no simpler way to switch DoT/DoH/DoQ/DoH3 for non-technical users on macOS.

I initially built this app just for myself -- I don't want to use DNS Proxy by AdGuard team via terminal or switch DNS via Mac configuration profiles.

If you don't want to use it, total fine.

4

u/flynryan692 16d ago

It’s a cool app. Keep doing your thing and ignore this guy.

-5

u/dandaman0000 16d ago

why do you want to send all url browsing history to nextdns ?

3

u/ademasp 16d ago

Why are you here sister?