master32

Рейтинг
116
Регистрация
09.02.2022
накатал баш скриптик для отключения всего, КРОМЕ http3-QUIC, как тут мездные специалисты советуют))
в зависимости от ваших ttl-ок, конфиг обновится от 30 сек до 8 часов
у пары человек заработали сайты, у одного нет
проверяйте
P.S. не у всех установлен модуль работы с JSON, надо доставить

sudo apt install jq # или yum install jq

#!/bin/bash

# === КОНФИГУРАЦИЯ ===
ZONE_ID=""          # Замените на ваш ID зоны
EMAIL=""            # Замените на ваш Email
API_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, гопота написала скриптик)
<?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;
?>



...
Sly32 #:
Я вот подумал - зачем делиться знаниями с теми, кто не хочет? Желающие поделиться своим опытом сюда не заходят, а спорить с неразумными транзисторами из небауманки нет больше никакого желания. Флудеры - оставляю эту тему вам на растерзание! БОльше никаких новостей из мира ИИ, примеров из опыта и советов. Зачем мне плодить себе конкуренцию? Пусть лучше вы будете жить в своем мире,  а время рассудит, кто был прав.  Налетай, торопись, покупай живопись!

картофельный интеллект получается тебя победил)

Delysid #:
В РФ нету http/3 и QUICK но это же не понять. 😂

ну да ну да))

Delysid #:

И что ходят? Понаставили браузеры, которые поддерживают https/3 и QUIC 😄, но

изучи технологии, именно ты указываешь со своего сайта на каком он протоколе работает и говорит браузерам какой твоему сайту нужен протокол.

Вот с такой картинкой как у тебя и приходят в эту тему и кричат мол блокируют cloudflare. 😁


на моем сайте работают все современные протоколы, актуальные в первую очередь
блокируют не по протоколу, а если заблокировали, то никакими протоколами блок не обойти
то, что ты понизил безопасность своего сайта, это поисковикам решать, как тебя наказать)

Delysid #:

В Рф https/2 только. Наивно думать что включать https/3 и QUIC на сайтах и под этими протоколами ходить - новые железки это не детектят.

Вот они и сбрасывают сертификат или блочат - посмотреть куда ты шифрованным идёшь, на какой сайт или VPN. 😀

А додуматься DNS распространённые с шифрованием использовать вообще плохая идея.

полно народа в RU ходят h3

ничего не поделаешь, удалять и не пользоваться метрикой
багу или точнее дыре в безопасности много лет, когда можно накручивать метрику без физического доступа к сайту
Mik Foxi #:

это плохо работающее решение будет. к вашему днс будет обращаться не юзер со своего российского ip, а скорее всего промежуточный 8.8.8.8 1.1.1.1 и т.п и реальное гео не определишь.

конечно определишь, на уровне маршрутизации видно подсеть с которой идет запрос, и та же правильно настроенная маршрутизация отправит запрос на нужный сервер
очень хорошо работают эникаст адреса, к сожалению мало кто дают управлять маршрутизацией на уровне /32 подсети

Germanarich #:
Так, ну наш колхоз ВиЧат косплеить хочет, Дед душить призвал.
ВА и ТГ похоже прикроют для стимулирования масс...готовимся

пока ничего не прикроют, макс сырая копия телеги, надо бы уточнить, кто его разработчик)
напрашивается свой народный мессенджер с блекджеком и криптошифрованием)

апи сыроват, лонгпул опросы работают плохо, они предлагают на ноде какой-то готовый инструмент для ботов, но доки скудные
Всего: 1792