
Sorry for the seven weeks. We’re buried in development, and when the day runs out the code gets finished before the forums do. Honest reason, not a good one.
You were right, and it’s fixed now. The app named 16 components under Settings while the binaries actually link 60, and full licence texts travelled with only four of them. For MIT and BSD-3-Clause that isn’t enough: the copyright line and the text have to accompany the binary.
The list is generated from what the compiler links rather than kept by hand, across every platform we build for, and it carries the full text of every licence. It ships inside the macOS bundle, next to the Windows executable, at /usr/share/doc/deviceshelf/NOTICES in the .deb, .rpm and Docker image, and it goes up at deviceshelf.app/notices.txt with the next release. A build check refuses to release if a dependency was added without its notice.
Thanks for pushing on it.



The catch with putting NextDNS’s IPv4 addresses into Proton’s custom DNS is identification. Plain DNS to NextDNS only reaches your configuration through the linked IP, and behind the VPN that is Proton’s exit IP, which is shared and changes with every server. So the filtering and logs won’t reliably be yours. Custom DNS in Proton also only works with NetShield turned off.
What works better on Windows is encrypted DNS that carries your config ID itself: the NextDNS app, or the DoH address from your NextDNS setup page (it ends in your config ID) entered in the browser. That traffic just goes through the tunnel like any other HTTPS, so the VPN and NextDNS don’t fight over it. Worth checking with a leak test afterwards that queries actually show up in your NextDNS log.