https://www.txthinking.com/talks/
Updated at: 2023-05-27
We know that the connection is IP to IP, not a connection domain name. Therefore, the domain name will be resolved into IP before deciding how to connect. If go proxy, can send the domain address to the server without getting the real IP locally, and let the server handle the resolution and connection. If bypass, you must first obtain an IP locally.
By default on the GUI, the bypass domain will be resolved locally by Bypass DNS. After the IP is resolved, if the IP is in the Bypass IP or Bypass Geo IP, it will be bypassed.
The purpose of this article is to bypass the domain regardless of its IP.
You want to bypass this domain
http3.ooo
Script:
text := import("text")
f := func() {
if in_dnsquery {
// if GUI bypass domain has no this domain, then this code is not required
if in_dnsquery.domain == "http3.ooo" {
return {forcefakedns: true}
}
}
if in_address {
if in_address.domainaddress {
if text.has_prefix(in_address.domainaddress, "http3.ooo:") {
return { ipaddressfrombypassdns: "A", bypass: true }
}
}
}
}
out := f()
forcefakedns
is to ensure that the domain is resolved by Fake DNS. If the GUI Bypass Domain does not have this domain name, this piece of code is not required
ipaddressfrombypassdns
and bypass
is resolved by Fake DNS and then connect it directly
Programming is very flexible, more can be found in documentation and other articles of this blog