sudo apt install jq # или yum install jq
#!/bin/bash# === КОНФИГУРАЦИЯ ===ZONE_ID="" # Замените на ваш ID зоныEMAIL="" # Замените на ваш EmailAPI_KEY="" # Замените на ваш глобальный API ключAPI_URL="https://api.cloudflare.com/client/v4/zones/${ZONE_ID}/settings"# Список параметров для отключенияSETTINGS=( "0rtt" "always_online" "development_mode" "early_hints" "ech" "email_obfuscation" "hotlink_protection" "ipv6" "mirage" "opportunistic_onion" "polish" "pseudo_ipv4" "rocket_loader" "tls_1_2_only" "tls_client_auth" "websockets")# === ФУНКЦИЯ ОТПРАВКИ ЗАПРОСА С ПОВТОРАМИ ===send_patch_request() { local setting="$1" local max_attempts=5 local attempt=1 local delay=1 while (( attempt <= max_attempts )); do echo "⏳ Пытаюсь отключить '$setting' (попытка $attempt из $max_attempts)..." response=$(curl -s -X PATCH "$API_URL/$setting" \ -H "X-Auth-Email: $EMAIL" \ -H "X-Auth-Key: $API_KEY" \ -H "Content-Type: application/json" \ --data "{\"id\":\"$setting\",\"value\":\"off\"}") success=$(echo "$response" | jq -r '.success') if [[ "$success" == "true" ]]; then echo "✅ '$setting' успешно отключен." break else echo "❌ Ошибка при отключении '$setting'. Ответ сервера:" echo "$response" (( attempt++ )) sleep $delay fi done if (( attempt > max_attempts )); then echo "❗ Не удалось отключить '$setting' после $max_attempts попыток." fi}# === ОСНОВНОЙ ЦИКЛ ===for setting in "${SETTINGS[@]}"; do send_patch_request "$setting"done
<?php// === КОНФИГУРАЦИЯ ===$zoneId = ""; // Замените на ваш ID зоны$email = ""; // Замените на ваш Email$apiKey = ""; // Замените на ваш глобальный API ключ$apiBase = "https://api.cloudflare.com/client/v4/zones/{$zoneId}/settings";// Список параметров для отключения$settings = [ '0rtt', 'always_online', 'development_mode', 'early_hints', 'ech', 'email_obfuscation', 'hotlink_protection', 'ipv6', 'mirage', 'opportunistic_onion', 'polish', 'pseudo_ipv4', 'rocket_loader', 'tls_1_2_only', 'tls_client_auth', 'websockets'];// === ФУНКЦИЯ ОТПРАВКИ PATCH-ЗАПРОСА С ПОВТОРАМИ ===function send_patch_request($setting, $email, $apiKey, $apiBase){ $maxAttempts = 5; $delaySeconds = 1; $attempt = 1; while ($attempt <= $maxAttempts) { echo "⏳ Пытаюсь отключить '$setting' (попытка $attempt из $maxAttempts)...\n"; $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => "{$apiBase}/{$setting}", CURLOPT_RETURNTRANSFER => true, CURLOPT_CUSTOMREQUEST => "PATCH", CURLOPT_HTTPHEADER => [ "X-Auth-Email: {$email}", "X-Auth-Key: {$apiKey}", "Content-Type: application/json" ], CURLOPT_POSTFIELDS => json_encode([ "id" => $setting, "value" => "off" ]) ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $error = curl_error($ch); curl_close($ch); if ($error) { echo "⚠️ CURL ошибка: $error\n"; } $decoded = json_decode($response, true); if ($decoded && isset($decoded['success']) && $decoded['success'] === true) { echo "✅ '$setting' успешно отключен.\n"; return; } else { echo "❌ Ошибка при отключении '$setting'. Ответ сервера:\n"; echo $response . "\n"; } $attempt++; sleep($delaySeconds); } echo "❗ Не удалось отключить '$setting' после $maxAttempts попыток.\n";}// === ОСНОВНОЙ ЦИКЛ ===foreach ($settings as $setting) { send_patch_request($setting, $email, $apiKey, $apiBase);}exit;?>
картофельный интеллект получается тебя победил)
ну да ну да))
И что ходят? Понаставили браузеры, которые поддерживают https/3 и QUIC 😄, но
изучи технологии, именно ты указываешь со своего сайта на каком он протоколе работает и говорит браузерам какой твоему сайту нужен протокол.
Вот с такой картинкой как у тебя и приходят в эту тему и кричат мол блокируют cloudflare. 😁
на моем сайте работают все современные протоколы, актуальные в первую очередьблокируют не по протоколу, а если заблокировали, то никакими протоколами блок не обойтито, что ты понизил безопасность своего сайта, это поисковикам решать, как тебя наказать)
В Рф https/2 только. Наивно думать что включать https/3 и QUIC на сайтах и под этими протоколами ходить - новые железки это не детектят.
Вот они и сбрасывают сертификат или блочат - посмотреть куда ты шифрованным идёшь, на какой сайт или VPN. 😀
А додуматься DNS распространённые с шифрованием использовать вообще плохая идея.
полно народа в RU ходят h3
это плохо работающее решение будет. к вашему днс будет обращаться не юзер со своего российского ip, а скорее всего промежуточный 8.8.8.8 1.1.1.1 и т.п и реальное гео не определишь.
конечно определишь, на уровне маршрутизации видно подсеть с которой идет запрос, и та же правильно настроенная маршрутизация отправит запрос на нужный серверочень хорошо работают эникаст адреса, к сожалению мало кто дают управлять маршрутизацией на уровне /32 подсети
пока ничего не прикроют, макс сырая копия телеги, надо бы уточнить, кто его разработчик)напрашивается свой народный мессенджер с блекджеком и криптошифрованием)