234 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			234 lines
		
	
	
		
			9.3 KiB
		
	
	
	
		
			Markdown
		
	
	
---
 | 
						||
title: Повышение безопасности проксирования с помощью Cloudflare Warp
 | 
						||
---
 | 
						||
 | 
						||
# Повышение безопасности проксирования с помощью Cloudflare Warp
 | 
						||
 | 
						||
В Xray (1.6.5+) добавлен исходящий WireGuard.  Хотя это увеличивает размер ядра из-за дополнительных кода и зависимостей, мы считаем, что это важная новая функция по трем причинам:
 | 
						||
 | 
						||
1. Из недавних обсуждений и [экспериментов](https://github.com/net4people/bbs/issues/129#issuecomment-1308102504) мы знаем, что проксирование трафика в Китай небезопасно.  
 | 
						||
    Одним из способов решения этой проблемы является перенаправление трафика в Китай в черный дыры.  
 | 
						||
    Недостаток этого метода заключается в том, что geosite и geoip обновляются нерегулярно, и новички могут не знать, как правильно настроить разделение трафика на клиенте, в результате чего трафик попадает в черный дыры, что снижает удобство использования.  
 | 
						||
    В этом случае мы можем просто перенаправить трафик в Китай через Cloudflare Warp, что обеспечит такую же безопасность без ущерба для удобства использования.
 | 
						||
2. Как известно, большинство VPN-провайдеров ведут журналы посещенных пользователями доменов, а некоторые даже проверяют и блокируют определенный трафик.  
 | 
						||
    Один из способов защиты конфиденциальности пользователей - использовать цепочку прокси-серверов на клиенте.  
 | 
						||
    Warp использует легкий VPN-протокол WireGuard, который добавляет дополнительный уровень шифрования.  
 | 
						||
    Для VPN-провайдера весь трафик пользователя будет направляться на Warp, что обеспечивает максимальную защиту конфиденциальности.
 | 
						||
3. Простота использования.  
 | 
						||
    Для настройки разделения трафика, WireGuard-туннеля и цепочки прокси-серверов достаточно одного ядра.
 | 
						||
 | 
						||
## Создание аккаунта Warp
 | 
						||
 | 
						||
### Спасибо Cloudflare за содействие свободному интернету!  Теперь вы можете бесплатно пользоваться услугами Warp.  При подключении автоматически выбирается ближайший сервер.
 | 
						||
#### Метод 1:
 | 
						||
1. Используйте VPS и загрузите [wgcf](https://github.com/ViRb3/wgcf/releases).
 | 
						||
2. Запустите `wgcf register`, чтобы создать файл `wgcf-account.toml`.
 | 
						||
3. Запустите `wgcf generate`, чтобы создать файл `wgcf-profile.conf`. Скопируйте его содержимое:
 | 
						||
 | 
						||
```ini
 | 
						||
[Interface]
 | 
						||
PrivateKey = Мой закрытый ключ
 | 
						||
Address = 172.16.0.2/32
 | 
						||
Address = 2606:4700:110:8949:fed8:2642:a640:c8e1/128
 | 
						||
DNS = 1.1.1.1
 | 
						||
MTU = 1280
 | 
						||
[Peer]
 | 
						||
PublicKey = Открытый ключ Warp
 | 
						||
AllowedIPs = 0.0.0.0/0
 | 
						||
AllowedIPs = ::/0
 | 
						||
Endpoint = engage.cloudflareclient.com:2408
 | 
						||
```
 | 
						||
#### Метод 2:
 | 
						||
1. Используйте [warp-reg.sh](https://github.com/chise0713/warp-reg.sh). Запустите:
 | 
						||
```
 | 
						||
bash -c "$(curl -L warp-reg.vercel.app)"
 | 
						||
```
 | 
						||
- Вывод:
 | 
						||
```json
 | 
						||
{
 | 
						||
    "endpoint":{
 | 
						||
       "v4": "162.159.192.7",
 | 
						||
       "v6": "[2606:4700:d0::a29f:c007]",
 | 
						||
    },
 | 
						||
    "reserved_dec": [35, 74, 190],
 | 
						||
    "reserved_hex": "0x234abe",
 | 
						||
    "reserved_str": "I0q+",
 | 
						||
    "private_key": "yL0kApRiZW4VFfNkKAQ/nYxnMFT3AH0dfVkj1GAlr1k=",
 | 
						||
    "public_key": "bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=",
 | 
						||
    "v4": "172.16.0.2",
 | 
						||
    "v6": "2606:4700:110:81f3:2a5b:3cad:9d4:9ea6"
 | 
						||
}
 | 
						||
```
 | 
						||
2. Скопируйте вывод.
 | 
						||
#### Метод 3:
 | 
						||
1. Используйте [wgcf-cli](https://github.com/ArchiveNetwork/wgcf-cli).  Запустите следующие команды для установки:
 | 
						||
```
 | 
						||
bash -c "$(curl -L wgcf-cli.vercel.app)"
 | 
						||
```
 | 
						||
2. Запустите `wgcf-cli -r` для регистрации. Вывод:
 | 
						||
```json
 | 
						||
❯ wgcf-cli -r
 | 
						||
{
 | 
						||
    "endpoint": {
 | 
						||
        "v4": "162.159.192.7:0",
 | 
						||
        "v6": "[2606:4700:d0::a29f:c007]:0"
 | 
						||
    },
 | 
						||
    "reserved_str": "6nT5",
 | 
						||
    "reserved_hex": "0xea74f9",
 | 
						||
    "reserved_dec": [
 | 
						||
        234,
 | 
						||
        116,
 | 
						||
        249
 | 
						||
    ],
 | 
						||
    "private_key": "WIAKvgUlq5fBazhttCvjhEGpu8MmGHcb1H0iHSGlU0Q=",
 | 
						||
    "public_key": "bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=",
 | 
						||
    "addresses": {
 | 
						||
        "v4": "172.16.0.2",
 | 
						||
        "v6": "2606:4700:110:8d9c:3c4e:2190:59d1:2d3c"
 | 
						||
    }
 | 
						||
}
 | 
						||
```
 | 
						||
- Полный файл будет сохранен в файле `wgcf.json` в рабочем каталоге.
 | 
						||
3. Если у вас есть ключ Warp+, вы можете привязать его, запустив `wgcf-cli -l [ключ]`.
 | 
						||
- (Ключ можно получить, отправив `/keyget@getwarpplusbot` в [нашем чате](https://t.me/projectXray/)).  
 | 
						||
    Вывод:
 | 
						||
```json
 | 
						||
❯ wgcf-cli -l 9zs5I61a-l9j8m7T5-4pC6k20X
 | 
						||
{
 | 
						||
    "id": "cd7f4695-e9ef-4bb0-b412-5f4d84919db7",
 | 
						||
    "created": "0001-01-01T00:00:00Z",
 | 
						||
    "updated": "2023-12-14T12:32:18.689777921Z",
 | 
						||
    "premium_data": 0,
 | 
						||
    "quota": 0,
 | 
						||
    "warp_plus": true,
 | 
						||
    "referral_count": 0,
 | 
						||
    "referral_renewal_countdown": 0,
 | 
						||
    "role": "child"
 | 
						||
}
 | 
						||
```
 | 
						||
4. Запустите `wgcf-cli -g xray`, чтобы создать исходящий WireGuard.  
 | 
						||
    Содержимое будет сохранено в файле `wgcf.json.xray.json`.
 | 
						||
- Пример файла:
 | 
						||
```json
 | 
						||
{
 | 
						||
    "protocol": "wireguard",
 | 
						||
    "settings": {
 | 
						||
        "secretKey": "6CRVRLgFwGajnikoVOPTDNZnDhx3EydhPsMgpxHfBCY=",
 | 
						||
        "address": [
 | 
						||
            "172.16.0.2/32",
 | 
						||
            "2606:4700:110:857a:6a95:fe27:1870:2a9d/128"
 | 
						||
        ],
 | 
						||
        "peers": [
 | 
						||
            {
 | 
						||
                "publicKey": "bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=",
 | 
						||
                "allowedIPs": [
 | 
						||
                    "0.0.0.0/0",
 | 
						||
                    "::/0"
 | 
						||
                ],
 | 
						||
                "endpoint": "162.159.192.1:2408"
 | 
						||
            }
 | 
						||
        ],
 | 
						||
        "reserved": [
 | 
						||
            240,
 | 
						||
            25,
 | 
						||
            146
 | 
						||
        ],
 | 
						||
        "mtu": 1280
 | 
						||
    },
 | 
						||
    "tag": "wireguard"
 | 
						||
}
 | 
						||
```
 | 
						||
## Перенаправление трафика в Китай через Warp на сервере
 | 
						||
 | 
						||
Добавьте исходящий WireGuard к существующим исходящим подключениям:
 | 
						||
 | 
						||
```json
 | 
						||
{
 | 
						||
  "protocol": "wireguard",
 | 
						||
  "settings": {
 | 
						||
    "secretKey": "Мой закрытый ключ",
 | 
						||
    "address": ["172.16.0.2/32", "2606:4700:110:8949:fed8:2642:a640:c8e1/128"],
 | 
						||
    "peers": [
 | 
						||
      {
 | 
						||
        "publicKey": "Открытый ключ Warp",
 | 
						||
        "endpoint": "engage.cloudflareclient.com:2408"
 | 
						||
      }
 | 
						||
    ],
 | 
						||
    "reserved":[0, 0, 0] // Вставьте reserved, если у вас есть.
 | 
						||
  },
 | 
						||
  "tag": "wireguard-1"
 | 
						||
}
 | 
						||
```
 | 
						||
 | 
						||
Рекомендуется использовать стратегию маршрутизации `IPIfNonMatch`.
 | 
						||
 | 
						||
Добавьте следующие правила к существующим правилам маршрутизации:
 | 
						||
 | 
						||
```json
 | 
						||
            {
 | 
						||
                "type": "field",
 | 
						||
                "domain": [
 | 
						||
                    "geosite:cn"
 | 
						||
                ],
 | 
						||
                "outboundTag": "wireguard-1"
 | 
						||
            },
 | 
						||
            {
 | 
						||
                "type": "field",
 | 
						||
                "ip": [
 | 
						||
                    "geoip:cn"
 | 
						||
                ],
 | 
						||
                "outboundTag": "wireguard-1"
 | 
						||
            },
 | 
						||
```
 | 
						||
 | 
						||
## Использование Warp в качестве прокси-сервера в цепочке на клиенте
 | 
						||
 | 
						||
```json
 | 
						||
{
 | 
						||
   "outbounds":[
 | 
						||
      {
 | 
						||
         "protocol":"wireguard",
 | 
						||
         "settings":{
 | 
						||
            "secretKey":"Мой закрытый ключ",
 | 
						||
            "peers":[
 | 
						||
               {
 | 
						||
                  "publicKey":"Открытый ключ Warp",
 | 
						||
                  "endpoint":"engage.cloudflareclient.com:2408"
 | 
						||
               }
 | 
						||
            ],
 | 
						||
            "reserved":[0, 0, 0] // Вставьте reserved, если у вас есть.
 | 
						||
         },
 | 
						||
         "streamSettings":{
 | 
						||
            "sockopt":{
 | 
						||
               "dialerProxy":"proxy"
 | 
						||
            }
 | 
						||
         },
 | 
						||
         "tag":"wireguard-1"
 | 
						||
      },
 | 
						||
      {
 | 
						||
         "tag":"proxy",
 | 
						||
         "protocol":"vmess",
 | 
						||
         "settings":{
 | 
						||
            "vnext":[
 | 
						||
               {
 | 
						||
                  "address":"Мой IP-адрес",
 | 
						||
                  "port":Мой порт,
 | 
						||
                  "users":[
 | 
						||
                     {
 | 
						||
                        "id":"Мой UUID",
 | 
						||
                        "security":"auto"
 | 
						||
                     }
 | 
						||
                  ]
 | 
						||
               }
 | 
						||
            ]
 | 
						||
         },
 | 
						||
         "streamSettings":{
 | 
						||
            "network":"tcp"
 | 
						||
         }
 | 
						||
      }
 | 
						||
   ]
 | 
						||
}
 | 
						||
```
 | 
						||
 | 
						||
 |