EN Document: Fixed broken links in the documents

This commit is contained in:
Meow
2026-01-25 02:56:54 +08:00
parent 9fd4e8cf62
commit 9eb9ae6331
10 changed files with 36 additions and 39 deletions
+7 -7
View File
@@ -62,13 +62,13 @@ If the domain currently being queried:
"clientIP": "1.2.3.4"
},
{
"address": "[https://8.8.8.8/dns-query](https://8.8.8.8/dns-query)",
"address": "https://8.8.8.8/dns-query",
"domains": ["geosite:netflix"],
"skipFallback": true,
"queryStrategy": "UseIPv4"
},
{
"address": "[https://1.1.1.1/dns-query](https://1.1.1.1/dns-query)",
"address": "https://1.1.1.1/dns-query",
"domains": ["geosite:openai"],
"skipFallback": true,
"queryStrategy": "UseIPv6"
@@ -152,9 +152,9 @@ The default value `UseIP` allows querying both A + AAAA records. When a query in
```json
"dns": {
"servers": [
"[https://1.1.1.1/dns-query](https://1.1.1.1/dns-query)",
"https://1.1.1.1/dns-query",
{
"address": "[https://8.8.8.8/dns-query](https://8.8.8.8/dns-query)",
"address": "https://8.8.8.8/dns-query",
"domains": [
"geosite:netflix"
],
@@ -162,7 +162,7 @@ The default value `UseIP` allows querying both A + AAAA records. When a query in
"queryStrategy": "UseIPv4" // netflix domain queries A record
},
{
"address": "[https://1.1.1.1/dns-query](https://1.1.1.1/dns-query)",
"address": "https://1.1.1.1/dns-query",
"domains": [
"geosite:openai"
],
@@ -191,9 +191,9 @@ Global `"queryStrategy": "UseIP"` does not conflict with sub-item `"queryStrateg
```json
"dns": {
"servers": [
"[https://1.1.1.1/dns-query](https://1.1.1.1/dns-query)",
"https://1.1.1.1/dns-query",
{
"address": "[https://8.8.8.8/dns-query](https://8.8.8.8/dns-query)",
"address": "https://8.8.8.8/dns-query",
"domains": [
"geosite:netflix"
],
+1 -4
View File
@@ -307,10 +307,7 @@ Adjusts the underlying socket options of the connection used when querying ECH r
"show": false,
"target": "example.com:443",
"xver": 0,
"serverNames": [
"example.com",
"[www.example.com](https://www.example.com)"
],
"serverNames": ["example.com", "www.example.com"],
"privateKey": "",
"minClientVer": "",
"maxClientVer": "",
+2 -2
View File
@@ -13,7 +13,7 @@ Install Golang: [golang.org/doc/install](https://golang.org/doc/install)
## Pull Xray Source Code
```bash
git clone [https://github.com/XTLS/Xray-core.git](https://github.com/XTLS/Xray-core.git)
git clone https://github.com/XTLS/Xray-core.git
cd Xray-core && go mod download
```
@@ -22,7 +22,7 @@ cd Xray-core && go mod download
Note: In network environments where Google cannot be accessed normally, dependencies cannot be pulled correctly. You need to set `GOPROXY` first:
```bash
go env -w GOPROXY=[https://goproxy.io](https://goproxy.io),direct
go env -w GOPROXY=https://goproxy.io,direct
```
## Build Binary
+1 -1
View File
@@ -14,7 +14,7 @@ You can submit your changes to the documentation by following these steps:
However, for complex edits, please use VSCode. Clone the documentation from your forked repository, for example:
```bash
git clone [https://github.com/your-github-username/Xray-docs-next.git](https://github.com/your-github-username/Xray-docs-next.git)
git clone https://github.com/your-github-username/Xray-docs-next.git
```
3. Create a new branch based on the `main` branch, for example:
@@ -24,7 +24,7 @@ Additionally, I trust that by now you are gradually becoming familiar with basic
2. Run the installation script
```shell
wget -O - [https://get.acme.sh](https://get.acme.sh) | sh
wget -O - https://get.acme.sh | sh
```
3. Make the `acme.sh` command effective
@@ -62,10 +62,10 @@ Before officially applying for a certificate, let's use a test command (`--issue
2. You should ultimately see a log similar to this:
```log
[Wed 30 Dec 2022 04:25:12 AM EST] Using ACME_DIRECTORY: [https://acme-staging-v02.api.letsencrypt.org/directory](https://acme-staging-v02.api.letsencrypt.org/directory)
[Wed 30 Dec 2022 04:25:13 AM EST] Using CA: [https://acme-staging-v02.api.letsencrypt.org/directory](https://acme-staging-v02.api.letsencrypt.org/directory)
[Wed 30 Dec 2022 04:25:12 AM EST] Using ACME_DIRECTORY: https://acme-staging-v02.api.letsencrypt.org/directory
[Wed 30 Dec 2022 04:25:13 AM EST] Using CA: https://acme-staging-v02.api.letsencrypt.org/directory
[Wed 30 Dec 2022 04:25:13 AM EST] Create account key ok.
[Wed 30 Dec 2022 04:25:13 AM EST] Registering account: [https://acme-staging-v02.api.letsencrypt.org/directory](https://acme-staging-v02.api.letsencrypt.org/directory)
[Wed 30 Dec 2022 04:25:13 AM EST] Registering account: https://acme-staging-v02.api.letsencrypt.org/directory
[Wed 30 Dec 2022 04:25:13 AM EST] Registered
[Wed 30 Dec 2022 04:25:13 AM EST] ACCOUNT_THUMBPRINT='CU6qmPKuRqhyTAIrF4swosR375194z_1ddUlWef8xDc'
[Wed 30 Dec 2022 04:25:13 AM EST] Creating domain key
@@ -78,9 +78,9 @@ Before officially applying for a certificate, let's use a test command (`--issue
[Wed 30 Dec 2022 04:25:25 AM EST] Success
[Wed 30 Dec 2022 04:25:25 AM EST] Verify finished, start to sign.
[Wed 30 Dec 2022 04:25:25 AM EST] Lets finalize the order.
[Wed 30 Dec 2022 04:25:25 AM EST] Le_OrderFinalize='[https://acme-staging-v02.api.letsencrypt.org/acme/finalize/490205995/7730242871](https://acme-staging-v02.api.letsencrypt.org/acme/finalize/490205995/7730242871)'
[Wed 30 Dec 2022 04:25:25 AM EST] Le_OrderFinalize='https://acme-staging-v02.api.letsencrypt.org/acme/finalize/490205995/7730242871'
[Wed 30 Dec 2022 04:25:25 AM EST] Downloading cert.
[Wed 30 Dec 2022 04:25:25 AM EST] Le_LinkCert='[https://acme-staging-v02.api.letsencrypt.org/acme/cert/xujss5xt8i38waubafz2xujss5xt8i38waubz2](https://acme-staging-v02.api.letsencrypt.org/acme/cert/xujss5xt8i38waubafz2xujss5xt8i38waubz2)'
[Wed 30 Dec 2022 04:25:25 AM EST] Le_LinkCert='https://acme-staging-v02.api.letsencrypt.org/acme/cert/xujss5xt8i38waubafz2xujss5xt8i38waubz2'
[Wed 30 Dec 2022 15:21:52 AM EST] Cert success.
--BEGIN CERTIFICAT--
sxlYqPvWreKgD5b8JyOQX0Yg2MLoRUoDyqVkd31PthIiwzdckoh5eD3JU7ysYBtN
@@ -127,7 +127,7 @@ Before officially applying for a certificate, let's use a test command (`--issue
```log
vpsadmin@vps-server:~$ acme.sh --issue -d subdomain.yourdomain.com -w /home/vpsadmin/www/webpage --keylength ec-256
[Wed 30 Dec 2022 15:22:51 AM EST] Using CA: [https://acme-v02.api.letsencrypt.org/directory](https://acme-v02.api.letsencrypt.org/directory)
[Wed 30 Dec 2022 15:22:51 AM EST] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Wed 30 Dec 2022 15:22:51 AM EST] Creating domain key
[Wed 30 Dec 2022 15:22:51 AM EST] The domain key is here: /home/vpsadmin/.acme.sh/subdomain.yourdomain.com_ecc/subdomain.yourdomain.com.key
[Wed 30 Dec 2022 15:22:51 AM EST] Single domain='subdomain.yourdomain.com'
@@ -138,9 +138,9 @@ Before officially applying for a certificate, let's use a test command (`--issue
[Wed 30 Dec 2022 15:22:51 AM EST] Success
[Wed 30 Dec 2022 15:22:51 AM EST] Verify finished, start to sign.
[Wed 30 Dec 2022 15:22:51 AM EST] Lets finalize the order.
[Wed 30 Dec 2022 15:22:51 AM EST] Le_OrderFinalize='[https://acme-v02.api.letsencrypt.org/acme/finalize/490205996/7730242872](https://acme-v02.api.letsencrypt.org/acme/finalize/490205996/7730242872)'
[Wed 30 Dec 2022 15:22:51 AM EST] Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/490205996/7730242872'
[Wed 30 Dec 2022 15:22:51 AM EST] Downloading cert.
[Wed 30 Dec 2022 15:22:51 AM EST] Le_LinkCert='[https://acme-v02.api.letsencrypt.org/acme/cert/vsxvk0oldnuobe51ayxz4dms62sk2dwmw9zhuw](https://acme-v02.api.letsencrypt.org/acme/cert/vsxvk0oldnuobe51ayxz4dms62sk2dwmw9zhuw)'
[Wed 30 Dec 2022 15:22:51 AM EST] Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/vsxvk0oldnuobe51ayxz4dms62sk2dwmw9zhuw'
[Wed 30 Dec 2022 15:22:51 AM EST] Cert success.
--BEGIN CERTIFICAT--
sxlYqPvWreKgD5b8JyOQX0Yg2MLoRUoDyqVkd31PthIiwzdckoh5eD3JU7ysYBtN
+3 -3
View File
@@ -34,7 +34,7 @@ At the time of writing, the installation script has a few small bugs when using
2. Download the installation script locally:
```shell
wget [https://github.com/XTLS/Xray-install/raw/main/install-release.sh](https://github.com/XTLS/Xray-install/raw/main/install-release.sh)
wget https://github.com/XTLS/Xray-install/raw/main/install-release.sh
```
3. Execute the installation command:
@@ -190,8 +190,8 @@ First, various configurations can refer to the [official VLESS configuration exa
```json
// REFERENCE:
// [https://github.com/XTLS/Xray-examples](https://github.com/XTLS/Xray-examples)
// [https://xtls.github.io/config/](https://xtls.github.io/config/)
// https://github.com/XTLS/Xray-examples
// https://xtls.github.io/config/
// Common config files, whether server or client, have 5 parts. Plus newbie interpretation:
// ┌─ 1*log Log Settings - What to write, where to write (evidence available when errors occur)
// ├─ 2_dns DNS Settings - How to query DNS (prevent DNS pollution, prevent snooping, avoid matching domestic sites to foreign servers, etc.)
@@ -61,7 +61,7 @@ The following operations need to be performed as the root user; using sudo may c
:::
```bash
curl [https://get.acme.sh](https://get.acme.sh) | sh # Install acme.sh
curl https://get.acme.sh | sh # Install acme.sh
export CF_Token="sdfsdfsdfljlbjkljlkjsdfoiwje" # Set API Token variable
acme.sh --issue -d example.com -d *.example.com --dns dns_cf # Apply for certificate using DNS-01 validation
mkdir /etc/ssl/xray # Create directory for certificates
@@ -216,7 +216,7 @@ Nginx will be installed via the official repository.
sudo apt install curl gnupg2 ca-certificates lsb-release
echo "deb [arch=amd64] [http://nginx.org/packages/ubuntu](http://nginx.org/packages/ubuntu) `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL [https://nginx.org/keys/nginx_signing.key](https://nginx.org/keys/nginx_signing.key) | sudo apt-key add -
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -
sudo apt update
sudo apt install nginx
```
@@ -260,7 +260,7 @@ To install Caddy, please refer to [Install — Caddy Documentation](https://cadd
To enable Caddy to obtain the visitor's real IP, you need to compile Caddy with the Proxy Protocol module. It is recommended to compile online directly on the Caddy website.
```bash
sudo curl -o /usr/bin/caddy "[https://caddyserver.com/api/download?os=linux&arch=amd64&p=github.com%2Fmastercactapus%2Fcaddy2-proxyprotocol&idempotency=79074247675458](https://caddyserver.com/api/download?os=linux&arch=amd64&p=github.com%2Fmastercactapus%2Fcaddy2-proxyprotocol&idempotency=79074247675458)"
sudo curl -o /usr/bin/caddy "https://caddyserver.com/api/download?os=linux&arch=amd64&p=github.com%2Fmastercactapus%2Fcaddy2-proxyprotocol&idempotency=79074247675458"
sudo chmod +x /usr/bin/caddy
```
@@ -366,7 +366,7 @@ defaults
timeout server 300s
frontend tls-in
bind :::443 ssl crt /path/to/pem alpn h2,http/1.1 # haproxy uses pem for ssl decryption. pem is obtained by: cat [www.example.com](https://www.example.com).crt [www.example.com](https://www.example.com).key > [www.example.com](https://www.example.com).pem
bind :::443 ssl crt /path/to/pem alpn h2,http/1.1 # haproxy uses pem for ssl decryption. pem is obtained by: cat www.example.com.crt www.example.com.key > www.example.com.pem
default_backend xray
tcp-request inspect-delay 5s
tcp-request content accept if HTTP
@@ -409,7 +409,7 @@ global
group root
daemon
# Adjust HTTP/2 performance. Set relevant items when encountering HTTP/2 performance issues. For more settings, see the tune.h2 section of the Haproxy documentation [https://docs.haproxy.org/2.7/configuration.html](https://docs.haproxy.org/2.7/configuration.html)
# Adjust HTTP/2 performance. Set relevant items when encountering HTTP/2 performance issues. For more settings, see the tune.h2 section of the Haproxy documentation https://docs.haproxy.org/2.7/configuration.html
tune.h2.initial-window-size 536870912 # Initial window size. Recommended to set. Default is 65536 bytes. Larger values may require some load time during traffic bursts. Adjust based on network speed.
tune.h2.max-concurrent-streams 512 # Number of multiplexed streams. Set as needed. Default is 100. Generally no need to set (official recommendation is not to change).
@@ -653,7 +653,7 @@ defaults
timeout server 300s
frontend tls-in
bind :::443 tfo allow-0rtt ssl crt /path/to/server.pem verify optional ca-file /path/to/fullchain.crt crt /path/to/[www.example.com](https://www.example.com).pem alpn h2,http/1.1
bind :::443 tfo allow-0rtt ssl crt /path/to/server.pem verify optional ca-file /path/to/fullchain.crt crt /path/to/www.example.com.pem alpn h2,http/1.1
use_backend xray if { ssl_fc_sni tunnel.example.com } { ssl_c_used } { ssl_fc_alpn -i h2 } { path_beg /tunnel }
use_backend server1 if { ssl_fc_sni atunnel.example.com } { ssl_c_used } { ssl_fc_alpn -i h2 } { path_beg /path2 }
use_backend server2 if { ssl_fc_sni btunnel.example.com } { ssl_c_used } { ssl_fc_alpn -i h2 } { path_beg /path3 }
@@ -76,7 +76,7 @@ If the Xray program is not installed on the side router, you can manually downlo
"port": 443,
"users": [
{
"id": "uuid", // Fill in UUID. Can be generated by typing 'xray uuid' in terminal; Arbitrary strings are also supported ([https://xtls.github.io/config/inbounds/vless.html#clientobject](https://xtls.github.io/config/inbounds/vless.html#clientobject))
"id": "uuid", // Fill in UUID. Can be generated by typing 'xray uuid' in terminal; Arbitrary strings are also supported (https://xtls.github.io/en/config/inbounds/vless.html#clientobject)
"encryption": "none",
"flow": "xtls-rprx-vision"
}
@@ -94,7 +94,7 @@ If the Xray program is not installed on the side router, you can manually downlo
// Note: must be tlsSettings when using xtls-rprx-vision flow
"allowInsecure": false,
"serverName": "yourdomain.domain", // Change to your own domain
"fingerprint": "chrome" // Recommended to check Release notes for this setting: [https://github.com/XTLS/Xray-core/releases/tag/v1.7.3](https://github.com/XTLS/Xray-core/releases/tag/v1.7.3)
"fingerprint": "chrome" // Recommended to check Release notes for this setting: https://github.com/XTLS/Xray-core/releases/tag/v1.7.3
}
}
},
@@ -136,13 +136,13 @@ If the Xray program is not installed on the side router, you can manually downlo
"Your_VPS_Domain": "Your_VPS_IP" // If 'address' in outbound proxy is a domain: fill VPS IPv4 if you want proxy via IPv4, fill VPS IPv6 if via IPv6; If 'address' is an IP, skip this line.
},
"servers": [
"[https://1.1.1.1/dns-query](https://1.1.1.1/dns-query)",
"https://1.1.1.1/dns-query",
{
"address": "119.29.29.29",
"domains": ["geosite:cn"],
"expectIPs": ["geoip:cn"]
},
"[https://dns.google/dns-query](https://dns.google/dns-query)",
"https://dns.google/dns-query",
"223.5.5.5",
"localhost"
]
@@ -211,7 +211,7 @@ If the Xray program is not installed on the side router, you can manually downlo
"domainStrategy": "IPIfNonMatch",
"rules": [
{
// Block CN IP to improve security, or you can route CN traffic into Warp, see [https://xtls.github.io/document/level-2/warp.html](https://xtls.github.io/document/level-2/warp.html)
// Block CN IP to improve security, or you can route CN traffic into Warp, see https://xtls.github.io/en/document/level-2/warp.html
"ip": ["geoip:cn"],
"outboundTag": "block"
}
@@ -242,7 +242,7 @@ If the Xray program is not installed on the side router, you can manually downlo
"certificates": [
{
"certificateFile": "/etc/ssl/private/fullchain.crt",
"keyFile": "/etc/ssl/private/crt.key" // Refer to the Beginner's Guide to fill in the path of the generated fullchain.crt and cert.key here ([https://xtls.github.io/document/level-0/ch06-certificates.html#_6-4-%E6%AD%A3%E5%BC%8F%E8%AF%81%E4%B9%A6%E7%94%B3%E8%AF%B7](https://xtls.github.io/document/level-0/ch06-certificates.html#_6-4-%E6%AD%A3%E5%BC%8F%E8%AF%81%E4%B9%A6%E7%94%B3%E8%AF%B7))
"keyFile": "/etc/ssl/private/crt.key" // Refer to the Beginner's Guide to fill in the path of the generated fullchain.crt and cert.key here (https://xtls.github.io/en/document/level-0/ch06-certificates.html#_6-4-official-certificate-issuance)
}
]
}
+1 -1
View File
@@ -14,7 +14,7 @@
Однако для сложных изменений обязательно используйте VSCode. Склонируйте документацию из вашего форка, например:
```bash
git clone [https://github.com/ваше-имя-пользователя/Xray-docs-next.git](https://github.com/ваше-имя-пользователя/Xray-docs-next.git)
git clone https://github.com/ваше-имя-пользователя/Xray-docs-next.git
```
3. Создайте новую ветку на основе ветки `main`, например: