Browse Source

(docs) Clarity

main
Michal Charemza 5 years ago
parent
commit
74931cbad0
No known key found for this signature in database GPG Key ID: 4BBAF0F6B73C4363
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      README.md

+ 2
- 2
README.md View File

@@ -20,10 +20,10 @@ stop = await start()
await stop()
```

The `rules` parameter must be an iterable [e.g. a list or a tuple] of tuples, where each tuple is regex pattern/replacement pair, passed to [re.subn](https://docs.python.org/3/library/re.html#re.subn) under the hood. On each incoming DNS request for a domain
The `rules` parameter must be an iterable [e.g. a list or a tuple] of tuples, where each tuple is regex pattern/replacement pair, passed to [re.subn](https://docs.python.org/3/library/re.html#re.subn) under the hood. On each incoming DNS request from downstream for a domain

- this list is iterated over;
- the first rule that matches the incoming domain name is used to rewrite the domain, the upstream DNS server is queries for A records, and these records, or error code, is returned downstream;
- and if no rule matches, the request fails, with a REFUSED response returned.
- and if no rule matches a REFUSED response is returned downstream.

The response of REFUSED is deliberate for clients to be able to help differentiate between a configuration issue on the proxy, the proxy not working or not being contactable, and a domain actually not existing.

Loading…
Cancel
Save