go-any-proxy
go-any-proxy copied to clipboard
Rules engine based on DNS
Provide a way to make routing decisions based on hostname.
One way I think might work:
any_proxy answers DNS queries. Client directs all DNS traffic to any_proxy. When DNS query comes in, any_proxy looks at ruleset and determines whether the connection should be:
- denied (ACL deny)
- allowed; if allowed, should the connection be sent to an upstream proxy or sent directly to the destination host The (client, destination, port, disposition) tuple is placed in an internal routing table Client attempts to connect to host Linux iptables redirects attempt to any_proxy any_proxy consults it's internal routing table to determine how to route the request