DnsServer icon indicating copy to clipboard operation
DnsServer copied to clipboard

Log queries

Open MarcS1975 opened this issue 6 months ago • 24 comments

When I try to query the log, this happens. How can I install and integrate this for Technitium?

Missing! Please install the 'Query Logs (Sqlite)' DNS App or any other DNS app that supports query logging feature.

MarcS1975 avatar Jun 01 '25 07:06 MarcS1975

Thanks for asking. You need to install the Query Logs (Sqlite) app from the Apps section on the DNS admin panel.

ShreyasZare avatar Jun 01 '25 10:06 ShreyasZare

Ah - thank you for your quick reply. Maybe add "...Please install...from the Apps section on the DNS admin panel." to the message then its clear...:)

MarcS1975 avatar Jun 01 '25 10:06 MarcS1975

You're welcome. Yes, will update the message in the next release.

ShreyasZare avatar Jun 01 '25 10:06 ShreyasZare

And thank you for such a brilliant app. I just realised that Technitium also blocks outgoing requests to data collectors like gator.volces.com.

MarcS1975 avatar Jun 01 '25 10:06 MarcS1975

And thank you for such a brilliant app. I just realised that Technitium also blocks outgoing requests to data collectors like gator.volces.com.

Thanks for the compliments. The blocking depends on what block list you have configured. The listed ones does have trackers being blocked.

ShreyasZare avatar Jun 01 '25 11:06 ShreyasZare

I am trying to add an allow list saved in the config folder of my docker container. But Technitium cannot find the file.

[2025-06-01 11:41:16 Local] DNS Server failed to read allow list from: file://ajallow2.txt/
System.IO.FileNotFoundException: Could not find file '/opt/technitium/dns/\\ajallow2.txt'.
File name: '/opt/technitium/dns/\\ajallow2.txt'

this is my Docker volume mapping

 volumes:
      - /Dockerapps/Technitium/config:/etc/dns

and the file ajallow2.txt is inside config

MarcS1975 avatar Jun 01 '25 11:06 MarcS1975

Thanks for the details. You need to use file:///ajallow2.txt (note 3 forward slashes) path assuming that the file is in / (root) folder. If its not in root folder then you need to use full path.

ShreyasZare avatar Jun 02 '25 07:06 ShreyasZare

Thanks for the details. You need to use file:///ajallow2.txt (note 3 forward slashes) path assuming that the file is in / (root) folder. If its not in root folder then you need to use full path.

Edit: Just read that the file is inside the config folder. In that case, use file:///opt/technitium/dns/ajallow2.txt path.

ShreyasZare avatar Jun 02 '25 07:06 ShreyasZare

still cannot find the file

[2025-06-02 09:10:49 Local] DNS Server is reading block list from: file:///opt/technitium/dns/ajallow2.txt
[2025-06-02 09:10:49 Local] DNS Server failed to read block list from: file:///opt/technitium/dns/ajallow2.txt
System.IO.FileNotFoundException: Could not find file '/opt/technitium/dns/ajallow2.txt'.
File name: '/opt/technitium/dns/ajallow2.txt'

MarcS1975 avatar Jun 02 '25 09:06 MarcS1975

tried a few more options. The correct is:

!file:///etc/dns/ajallow2.txt

MarcS1975 avatar Jun 02 '25 09:06 MarcS1975

tried a few more options. The correct is:

!file:///etc/dns/ajallow2.txt

Ya that's it! I misread the earlier message in a hurry.

ShreyasZare avatar Jun 02 '25 09:06 ShreyasZare

yes works well. But i have another question: Is it possible to block only one specific client on the LAN from accessing a specific DNS entry? For example, every time 192.168.77.5 is requesting DNS for abx.maximus.com, that client should be blocked but other clients should be able to access abx.maximus.com.

MarcS1975 avatar Jun 02 '25 11:06 MarcS1975

Yes, you can do that using the Advanced Blocking DNS app. The DNS apps do not have GUI support yet so you will need to configure it by editing the JSON config. The app supports creating groups where each group can have a specific set of blocking config. You then map the group to the user's IP or network so that the blocking setting apply to specific users on the network.

ShreyasZare avatar Jun 02 '25 12:06 ShreyasZare

OK - thanks. Is there documentation on the JSON ? I basically want to single out one IP on my LAN and define 10 domain names that are only blocked for that IP.

MarcS1975 avatar Jun 03 '25 08:06 MarcS1975

ok so I amended the JSON and it works - thanks.

Can I please suggest one small improvement:

When on the Tech Settings -Blocking page, can we please reload all external Allow / Block lists listed in the window when clicking Save.

Currently the lists only get re-loaded if their name in the box changed but often we will only change the content of a local file (add/remove a domain) and then clicking Save does NOT releoad the list.

The current workaround is that we have to rename the block/allow list to a random name in the window, then hit save, then rename back to the real name, then hit save again.

MarcS1975 avatar Jun 03 '25 09:06 MarcS1975

There is no documentation available for the config unfortunately. Good to know that you got it figured out and its working well.

The block list reloading is deliberately done this way to avoid fetching and reloading block list files whenever there is a change made to the config. You can change the blockListUrlUpdateIntervalHours to 1 so that it reload it every hour. The idea behind this is to avoid hitting the web servers hosting block lists frequently since a lot of them are free and maintained by people with limited resources.

ShreyasZare avatar Jun 03 '25 10:06 ShreyasZare

Understand - but its not practicable to wait 1h for testing when the local list has been updated with a new entry. Maybe it would be possible just to read the URLs strating with file:/// immediatelly when clicking "save"

MarcS1975 avatar Jun 03 '25 10:06 MarcS1975

Understand - but its not practicable to wait 1h for testing when the local list has been updated with a new entry. Maybe it would be possible just to read the URLs strating with file:/// immediatelly when clicking "save"

Ya, the local file block lists can make to work differently as you suggest. But, you will still need to open the config and click Save to make it reload since it wont keep a watch on file changes. Does that work for you?

ShreyasZare avatar Jun 03 '25 11:06 ShreyasZare

you mean open the Technitium GUI and click save on the Settings-Blocking screen? Yes - that would be perfect, if you can then refresh the local files.

MarcS1975 avatar Jun 03 '25 11:06 MarcS1975

you mean open the Technitium GUI and click save on the Settings-Blocking screen? Yes - that would be perfect, if you can then refresh the local files.

I really meant that you open Advanced Blocking app's config and save it since you are using that now.

ShreyasZare avatar Jun 03 '25 12:06 ShreyasZare

I think that would be confusing because if people dont use Advanced they dont have the benefit of the local refresh and as you stated in the document, Advanced works independently of Standard Blocking. So for consistency it should be triggered when saving Standard Blocking Screen.

MarcS1975 avatar Jun 03 '25 12:06 MarcS1975

I think that would be confusing because if people dont use Advanced they dont have the benefit of the local refresh and as you stated in the document, Advanced works independently of Standard Blocking. So for consistency it should be triggered when saving Standard Blocking Screen.

I though you wanted to make this work for the Advanced Blocking app since you had it configured.

Adding similar thing for the built-in blocking option would be an issue since there are too many settings in there and thus reloading all block lists each time would be undesirable since the reloading take up large amount of memory depending on the size and number of lists configured. And there is already Allowed/Blocked tabs on the panel which work immediately so any blocking that you wish to do directly should be done using those options.

ShreyasZare avatar Jun 03 '25 13:06 ShreyasZare

OK - understand. So how does the "Blocked" tab work? Can I add domain names here and will they stay permanently after reboot?

MarcS1975 avatar Jun 04 '25 16:06 MarcS1975

OK - understand. So how does the "Blocked" tab work? Can I add domain names here and will they stay permanently after reboot?

Ya, you just add the domain names to block in the Blocked tab and it will work immediately and is persistent (stored on disk). Same with the Allowed tab, where you can add domain names to be allowed if any block list is blocking it.

ShreyasZare avatar Jun 05 '25 08:06 ShreyasZare

Technitium DNS Server v14.0.1 is now available which resolves this issue. Do upgrade and let me know your feedback.

ShreyasZare avatar Nov 11 '25 10:11 ShreyasZare