mirror of
https://github.com/bolucat/Archive.git
synced 2026-04-22 16:07:49 +08:00
Update On Thu Jan 23 19:35:09 CET 2025
This commit is contained in:
+8
-4
@@ -43,7 +43,7 @@ brook dnsserver, dohserver, dnsserveroverbrook, server, wsserver, wssserver, qui
|
||||
|
||||
## Brook DNS Server
|
||||
|
||||

|
||||

|
||||
|
||||
Script can do more:
|
||||
|
||||
@@ -52,7 +52,7 @@ Script can do more:
|
||||
|
||||
## Brook Server
|
||||
|
||||

|
||||

|
||||
|
||||
Script can do more:
|
||||
|
||||
@@ -177,7 +177,7 @@ The GUI client does not use socks5 and http proxy mode, so there is no issue wit
|
||||
|
||||
> Note: When we talk about addresses, we mean addresses that include the port number, such as a domain address: `google.com:443`, or an IP address: `8.8.8.8:53`
|
||||
|
||||

|
||||

|
||||
|
||||
1. When an app requests a domain address, such as `google.com:443`
|
||||
2. It will first perform a DNS resolution, which means that the app will send a network request to the system-configured DNS, such as `8.8.8.8:53`, to inquire about the IP of `google.com`
|
||||
@@ -192,7 +192,7 @@ In the above process, the app actually makes two network requests: one to the IP
|
||||
|
||||
Brook has a Fake DNS feature default, which can parse the domain name out of the query requests that an app sends to the system DNS UDP 53 and decide how to respond to the app.
|
||||
|
||||

|
||||

|
||||
|
||||
1. When an app requests a domain name address, such as `google.com:443`
|
||||
2. A DNS resolution will be performed first. That is, the app will send a network request to the system-configured DNS, such as `8.8.8.8:53`, to inquire about the IP of `google.com`
|
||||
@@ -425,6 +425,10 @@ Brook's stance on IPv6 is positive, if your server or local environment doesn't
|
||||
- `Bypass Apple`: To prevent issues receiving Apple message notifications.
|
||||
- `Bypass China domain` or `Bypass China domain A`: The former uses `Bypass DNS` to obtain the IP, then `Bypass Geo` or other modules decide whether to bypass; the latter bypasses directly after obtaining the IP with `Bypass DNS` using A records. The latter is needed if your local does not support IPv6.
|
||||
- If you are a [Shiliew](https://www.txthinking.com/shiliew.html) user, some modules are enabled by default, which is usually sufficient.
|
||||
14. If Fake DNS works properly, this should return an IP from server DNS Server IP pool. Otherwise, your application(such as browser) may has its own DNS setting instead of use system DNS.
|
||||
```
|
||||
curl https://`date +%s`.http3.ooo --http2
|
||||
```
|
||||
14. Search [GitHub issues](https://github.com/txthinking/brook/issues?q=is%3Aissue)
|
||||
15. Read the [blog](https://www.txthinking.com/talks/)
|
||||
16. Read the [documentation](https://brook.app)
|
||||
|
||||
@@ -17,7 +17,7 @@ The GUI client does not use socks5 and http proxy mode, so there is no issue wit
|
||||
|
||||
> Note: When we talk about addresses, we mean addresses that include the port number, such as a domain address: `google.com:443`, or an IP address: `8.8.8.8:53`
|
||||
|
||||

|
||||

|
||||
|
||||
1. When an app requests a domain address, such as `google.com:443`
|
||||
2. It will first perform a DNS resolution, which means that the app will send a network request to the system-configured DNS, such as `8.8.8.8:53`, to inquire about the IP of `google.com`
|
||||
@@ -32,7 +32,7 @@ In the above process, the app actually makes two network requests: one to the IP
|
||||
|
||||
Brook has a Fake DNS feature default, which can parse the domain name out of the query requests that an app sends to the system DNS UDP 53 and decide how to respond to the app.
|
||||
|
||||

|
||||

|
||||
|
||||
1. When an app requests a domain name address, such as `google.com:443`
|
||||
2. A DNS resolution will be performed first. That is, the app will send a network request to the system-configured DNS, such as `8.8.8.8:53`, to inquire about the IP of `google.com`
|
||||
@@ -265,6 +265,10 @@ Brook's stance on IPv6 is positive, if your server or local environment doesn't
|
||||
- `Bypass Apple`: To prevent issues receiving Apple message notifications.
|
||||
- `Bypass China domain` or `Bypass China domain A`: The former uses `Bypass DNS` to obtain the IP, then `Bypass Geo` or other modules decide whether to bypass; the latter bypasses directly after obtaining the IP with `Bypass DNS` using A records. The latter is needed if your local does not support IPv6.
|
||||
- If you are a [Shiliew](https://www.txthinking.com/shiliew.html) user, some modules are enabled by default, which is usually sufficient.
|
||||
14. If Fake DNS works properly, this should return an IP from server DNS Server IP pool. Otherwise, your application(such as browser) may has its own DNS setting instead of use system DNS.
|
||||
```
|
||||
curl https://`date +%s`.http3.ooo --http2
|
||||
```
|
||||
14. Search [GitHub issues](https://github.com/txthinking/brook/issues?q=is%3Aissue)
|
||||
15. Read the [blog](https://www.txthinking.com/talks/)
|
||||
16. Read the [documentation](https://brook.app)
|
||||
|
||||
@@ -1358,14 +1358,14 @@
|
||||
<h1 id="server-1">Server</h1>
|
||||
<p>brook dnsserver, dohserver, dnsserveroverbrook, server, wsserver, wssserver, quicserver can use script to do more complex thing. brook will pass different <em>global variables</em> to the script at different times, and the script only needs to assign the processing result to the global variable <code>out</code></p>
|
||||
<h2 id="brook-dns-server">Brook DNS Server</h2>
|
||||
<p><img src="./images/brook-dns-server.svg" alt="x"></p>
|
||||
<p><img src="https://brook.app/images/brook-dns-server.svg" alt="x"></p>
|
||||
<p>Script can do more:</p>
|
||||
<ul>
|
||||
<li>There are <a href="https://github.com/txthinking/brook/blob/master/programmable/dnsserver/">examples</a> for dns server</li>
|
||||
<li>In the <code>script: in_dnsquery</code> step, script can do more, read more below</li>
|
||||
</ul>
|
||||
<h2 id="brook-server">Brook Server</h2>
|
||||
<p><img src="./images/brook-server.svg" alt="x"></p>
|
||||
<p><img src="https://brook.app/images/brook-server.svg" alt="x"></p>
|
||||
<p>Script can do more:</p>
|
||||
<ul>
|
||||
<li>There are <a href="https://github.com/txthinking/brook/blob/master/programmable/server/">examples</a> for server</li>
|
||||
@@ -1776,7 +1776,7 @@
|
||||
<blockquote>
|
||||
<p>Note: When we talk about addresses, we mean addresses that include the port number, such as a domain address: <code>google.com:443</code>, or an IP address: <code>8.8.8.8:53</code></p>
|
||||
</blockquote>
|
||||
<p><img src="./images/network.svg" alt="x"></p>
|
||||
<p><img src="https://brook.app/images/network.svg" alt="x"></p>
|
||||
<ol>
|
||||
<li>When an app requests a domain address, such as <code>google.com:443</code></li>
|
||||
<li>It will first perform a DNS resolution, which means that the app will send a network request to the system-configured DNS, such as <code>8.8.8.8:53</code>, to inquire about the IP of <code>google.com</code></li>
|
||||
@@ -1788,7 +1788,7 @@
|
||||
<p>In the above process, the app actually makes two network requests: one to the IP address <code>8.8.8.8:53</code> and another to the IP address <code>1.2.3.4:443</code>. In other words, the domain name is essentially an alias for the IP, and must obtain the domain's IP to establish a connection.</p>
|
||||
<h2 id="with-brook">With Brook</h2>
|
||||
<p>Brook has a Fake DNS feature default, which can parse the domain name out of the query requests that an app sends to the system DNS UDP 53 and decide how to respond to the app.</p>
|
||||
<p><img src="./images/brook-client.svg" alt="x"></p>
|
||||
<p><img src="https://brook.app/images/brook-client.svg" alt="x"></p>
|
||||
<ol>
|
||||
<li>When an app requests a domain name address, such as <code>google.com:443</code></li>
|
||||
<li>A DNS resolution will be performed first. That is, the app will send a network request to the system-configured DNS, such as <code>8.8.8.8:53</code>, to inquire about the IP of <code>google.com</code></li>
|
||||
@@ -2296,6 +2296,9 @@ cat _footer.tengo >> my.tengo
|
||||
<li>If you are a <a href="https://www.txthinking.com/shiliew.html">Shiliew</a> user, some modules are enabled by default, which is usually sufficient.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>If Fake DNS works properly, this should return an IP from server DNS Server IP pool. Otherwise, your application(such as browser) may has its own DNS setting instead of use system DNS.<pre><code>curl https://`date +%s`.http3.ooo --http2
|
||||
</code></pre>
|
||||
</li>
|
||||
<li>Search <a href="https://github.com/txthinking/brook/issues?q=is%3Aissue">GitHub issues</a></li>
|
||||
<li>Read the <a href="https://www.txthinking.com/talks/">blog</a></li>
|
||||
<li>Read the <a href="https://brook.app">documentation</a></li>
|
||||
|
||||
@@ -4,7 +4,7 @@ brook dnsserver, dohserver, dnsserveroverbrook, server, wsserver, wssserver, qui
|
||||
|
||||
## Brook DNS Server
|
||||
|
||||

|
||||

|
||||
|
||||
Script can do more:
|
||||
|
||||
@@ -13,7 +13,7 @@ Script can do more:
|
||||
|
||||
## Brook Server
|
||||
|
||||

|
||||

|
||||
|
||||
Script can do more:
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"version": "20240606",
|
||||
"text": "Zhi - A Truely End-to-End Encrypted Instant Messaging App",
|
||||
"version": "20250202",
|
||||
"text": "Zhi - A Zero-Trust End-to-End Encrypted Instant Messaging App",
|
||||
"link": "https://www.txthinking.com/zhi.html",
|
||||
"text_zh": "纸,一个真正的端到端加密的聊天应用",
|
||||
"text_zh": "纸,一个零信任端到端加密的聊天应用",
|
||||
"link_zh": "https://www.txthinking.com/zhi.html"
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ modules = append(modules, {
|
||||
|
||||
## ipio or openwrt
|
||||
|
||||
If you are using opio or openwrt, you can combine multiple modules into a complete script in the following way. For example:
|
||||
If you are using ipio or openwrt, you can combine multiple modules into a complete script in the following way. For example:
|
||||
|
||||
```
|
||||
cat _header.tengo > my.tengo
|
||||
|
||||
Reference in New Issue
Block a user