Admin Future
239 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
Linux & curl: Ты используешь его неправильно. 3 продвинутых трюка

Все знают curl https://google.com. Но curl — это не просто браузер в терминале, это швейцарский нож для работы с любым HTTP-ресурсом. Пора использовать его как профессионал.

Трюк 1: Анализ времени ответа (профилирование)
Когда сайт тормозит, где именно проблема: DNS, TCP-соединение, SSL-рукопожатие или ожидание ответа от сервера? curl может разложить всё по полочкам.

Bash

# Создаём файл curl-format.txt с нужными переменными
cat > curl-format.txt <<EOF
{
"time_namelookup": "%{time_namelookup}",
"time_connect": "%{time_connect}",
"time_appconnect": "%{time_appconnect}",
"time_pretransfer": "%{time_pretransfer}",
"time_starttransfer": "%{time_starttransfer}",
"time_total": "%{time_total}"
}
EOF

# Запускаем curl с нашим форматом вывода
curl -w "@curl-format.txt" -o /dev/null -s https://habr.com/

Вы получите JSON с точным временем каждого этапа соединения.

Трюк 2: Отправка JSON и заголовков (тестирование API)
Не нужно ставить Postman, чтобы протестировать API.

Bash

# Отправляем POST-запрос с JSON-телом и кастомным заголовком
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer mysecrettoken" \
-d '{"username":"admin","status":"active"}' \
http://api.example.com/users

Трюк 3: Повтор запроса при ошибке (для скриптов)
Ваш скрипт упал, потому что сеть моргнула? curl может сам повторить запрос.

Bash

# Попробовать 5 раз с задержкой в 10 секунд между попытками
curl --retry 5 --retry-delay 10 https://updates.example.com/latest.zip -O

Взгляд архитектора:
curl — это не просто утилита, это универсальный кирпичик для построения систем автоматизации и мониторинга. Глубокое понимание его возможностей позволяет писать надёжные скрипты, создавать health checks для сервисов и проводить отладку сетевых взаимодействий без привлечения тяжеловесных инструментов.

#linux #curl #devops #api #networking #команды
⚡️ Full-Stack (DevOps): curl — это прошлое. Встречаем httpie (http)

Боль: Вам нужно отладить API. Вы пишете в curl (и мучаетесь): curl -X POST -H "Content-Type: application/json" -H "Auth: Bearer 123" -d '{"user":"admin"}' https://api.local

Реакция админа: Открыть Postman (тяжелый GUI) или "простыню" в curl.
Реакция архитектора: Использовать httpie (http).

httpie — это curl, созданный для человека. Он "умный", цветной и интуитивный.

Сравнение "До" и "После":
* curl (Боль): curl -X POST -H "Content-Type: application/json" https://api.local/users -d '{"id": 1, "name": "admin"}'

* httpie (Решение): http POST https://api.local/users id:=1 name=admin

Почему это круто:

* Авто-JSON: Он сам понимает, что вы шлете JSON.

* Подсветка: Ответ (JSON, HTML) подсвечен, как в IDE.

* Простота: Auth:Token становится http ... "Auth:Token".

Установка:

sudo apt install httpie / brew install httpie

Взгляд архитектора: DX/DevEx (Developer Experience) — это не роскошь. Это эффективность. httpie — это инструмент, который снижает "трение" (friction) и экономит часы на отладке API и микросервисов.

#devops #cli #httpie #api #tools #гайд #curl
👍2
Curl: Почему сайт тормозит? (Разбираем на атомы)

Когда пользователь говорит «сайт долго грузится», это эмоции. Админу нужны цифры. Проблема в DNS? Или SSL-хендшейк долгий? Или бэкенд тупит?

curl умеет раскладывать тайминги запроса по полочкам.

Команда:

curl -w "DNS: %{time_namelookup}s \nConnect: %{time_connect}s \nSSL Handshake: %{time_appconnect}s \nTTFB: %{time_starttransfer}s \nTotal: %{time_total}s \n" -o /dev/null -s https://google.com

Что значат цифры:

DNS: Сколько искали IP. Если долго — меняйте DNS-сервер.

Connect: TCP-подключение. Если долго — проблемы с сетью/маршрутами.

SSL: Криптография.

TTFB (Time To First Byte): Время, пока сервер думал над ответом. Если здесь 2 секунды — идите бить разработчиков, база тормозит.

Совет: Засуньте эту "колбасу" в алиас curl-time.

#network #curl #troubleshooting #performance #web #cli
🔥2
🧠 Network: Тест сайта без правки hosts (curl --resolve)

Ситуация: Вы переносите корпоративный портал на новый сервер (IP 10.0.0.5 ). Вам нужно проверить, как он отвечает, до того, как вы переключите DNS для всех пользователей.

Боль: Править файл hosts , сбрасывать кэш браузера, потом не забыть удалить запись... Долго и грязно. 😖

Решение Архитектора: Используйте curl с подменой IP на лету.

Команда:


# Запросить domain.com, но стучаться принудительно на 10.0.0.5
curl -v --resolve domain.com:443:10.0.0.5 https://domain.com

В чем магия: Вы увидите, валиден ли SSL-сертификат именно на новом сервере и какие заголовки он отдает. Файл hosts трогать не нужно! Чисто, быстро, профессионально.

#network #curl #dns #migration #testing #web #hacks
🔥2👍1
🏎️ Curl: Почему сайт тормозит? (Разбор на атомы)

Пользователь жалуется: "Сайт открывается полчаса".
Вы пингуете — пинг ок. Где затык? DNS тупит? Канал забит? Или Бэкенд (PHP/Python) долго думает?

Чтобы не гадать, используйте curl с форматированием. Он покажет тайминги каждого этапа.

Команда (сохрани в алиасы!):


curl -w "\nDNS: %{time_namelookup}s\nTCP: %{time_connect}s\nSSL: %{time_appconnect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" -o /dev/null -s https://google.com

Как читать диагностику:

* DNS: Высокое? 👉 Виноват провайдер или ваш DNS-сервер.

* TCP: Высокое? 👉 Проблемы с маршрутизацией или каналом.

* TTFB (Time To First Byte): Высокое? 👉 Сервер получил запрос, но долго генерировал ответ (БД, код). Сеть не виновата!

Total: Общее время.

Это лучший способ доказать разработчикам, что проблема на их стороне (или убедиться, что на вашей).

#network #curl #troubleshooting #performance #web #latency #tips
🌐 Skill: curl с секундомером — дебажим тормоза сайта ⏱️

Пользователи жалуются: "Сайт открывается медленно".
Ты пингуешь — пинг отличный.
В чем дело? В DNS? В установке SSL? В генерации страницы бэкендом?

Обычный curl просто качает HTML.
Но если добавить форматирование, он превращается в мощнейший профайлер.

Команда-диагност:

curl -w "\nDNS: %{time_namelookup}s\nConnect: %{time_connect}s\nSSL Handshake: %{time_appconnect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" -o /dev/null -s https://google.com

Что ты увидишь:
* DNS: Сколько искали IP.
* Connect: Сколько устанавливали TCP.
* SSL Handshake: Сколько времени заняло шифрование (частая причина тормозов!).
* TTFB: Как долго думал сервер, прежде чем отдать первый байт.

Сразу видно: если DNS быстрый, а TTFB долгий — иди пинать разработчиков БД, сеть тут ни при чем. 🏎️

#networking #curl #performance #troubleshooting #web #devops #latency
👍3🔥2👏1