<commit_before># custom-dns-server
Updates dnsmasq config to forward specific domain queries to dynamic DNS servers.

## Requirements
 * Python >= 2.6 with subprocess, urllib2, os, re, json libraries
 * Webservice to retrieve new DNS servers
 * Either direct access to dnsmasq.conf or [UCI][uci] support
 
 
[uci]:http://nbd.name/gitweb.cgi?p=uci.git;a=summary<commit_msg>Details added<commit_after># custom-dns-server
Updates dnsmasq config to forward specific domain queries to custom DNS servers.

## Requirements
 * Python >= 2.6 with subprocess, urllib2, os, re, json libraries
 * Webservice to retrieve new DNS servers
 * Either direct access to dnsmasq.conf or [UCI][uci] support
 
 
## How it works
Updates dnsmasq configuration either with [UCI][uci] or directly, to forward specific DNS queries to DNS server specified by a [webservice](#Webservice).
Profiles can be specified in [config.json](../blob/master/config.json) for server-specific configurations and commands.


## Webservice
A webservice is required that might take existing DNS server IPs as GET parameters and should return IP addresses separated by comma, or nothing if no change is required. The webservice and its exact URI can be specified in the [config.json](../blob/master/config.json) file.


[uci]:http://nbd.name/gitweb.cgi?p=uci.git;a=summary
{'fraction_non_alphanumeric': 0.08892238131122833, 'fraction_numerical': 0.00452147701582517, 'mean_word_length': 4.824561403508772, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5574162', 'n_tokens_mistral': 406, 'n_tokens_neox': 377, 'n_words': 155}