Перейти до вмісту
На сайт

CLI

CLI railhook відкриває тунель від публічної адреси до порту на вашому комп’ютері, тож код, що обробляє вебхук, може працювати локально. Крім того, з термінала можна переглядати події й запускати відтворення.

  1. Встановіть

    Terminal window
    curl -fsSL https://railhook.io/install-cli.sh | bash

    CLI потрібна Java 17 або новіша. Додайте -s -- --with-java, і скрипт сам установить її через менеджер пакетів (для цього потрібен sudo). Команда railhook встановлюється в ~/.local/bin.

  2. Увійдіть

    Terminal window
    railhook login --server https://railhook.io # or your own instance, e.g. http://localhost or https://hooks.example.com

    Команда виведе URL і код. Підтвердьте вхід у браузері, пароль у терміналі не потрібен. Для скриптів є railhook login --email you@example.com --password, пароль CLI запитає окремо.

  3. Відкрийте тунель

    Terminal window
    railhook listen 3000

    CLI виведе публічну адресу, пересилатиме кожен запит на http://localhost:3000 і повертатиме вашу відповідь. Шлях після адреси зберігається: https://<host>/tunnel/<slug>/webhooks/stripe потрапляє на http://localhost:3000/webhooks/stripe.

    Тіло доходить байт у байт, тож ваша власна перевірка підпису проходить і для форм, і для бінарних тіл. Якщо з’єднання обірветься, CLI перепідключиться до тієї самої адреси, а на запит, що був у дорозі в цей момент, одразу прийде 502, а не після 30-секундного тайм-ауту. Ctrl+C закриває тунель.

Команда Що робить
railhook login [--server <url>] Вхід за кодом пристрою (device code flow)
railhook status Показує сервер, стан автентифікації, справність і активні тунелі
railhook listen <port> [--project <id>] Відкриває тунель до локального порту
railhook tunnels list Показує активні сесії тунелів
railhook tunnels status Показує статистику реєстру тунелів
railhook tunnels close <sessionId> Закриває один тунель
railhook events <projectId> Показує останні події. --count задає кількість (типово 20), --type фільтрує
railhook events <projectId> --follow Стежить за новими подіями, постійно опитуючи сервер
railhook replay <projectId> Відтворює події, типово за останні 24 години
railhook replay <projectId> --dry-run Оцінює відтворення, не запускаючи його (пробний запуск)
railhook config show Показує конфігурацію
railhook config set <key> <value> Задає backend-url або project-id
railhook config clear Очищує конфігурацію й виходить з облікового запису
railhook config profile create <name> --url <url> Додає профіль для іншого сервера
railhook config profile use <name> Перемикає профіль
railhook config profile list / delete <name> Показує або видаляє профілі

replay також приймає --event-type, --endpoint і --from / --to (час у форматі ISO-8601). Усі параметри показує railhook -h або railhook <command> -h.

Якщо Railhook встановлено на власному сервері й задано PLATFORM_ADMIN_TOKEN, команда railhook admin показує організації, призупиняє їх і поновлює. Токен CLI бере з RAILHOOK_ADMIN_TOKEN або --token і ніколи не зберігає у файлі конфігурації.

Terminal window
export RAILHOOK_ADMIN_TOKEN=...
railhook admin orgs --search acme
railhook admin suspend <organizationId> --reason "Confirmed spam reports"
railhook admin reinstate <organizationId>

CLI зберігає URL сервера, токени й активний проєкт у ~/.config/railhook/config.json із правами доступу 600.

Змінна Дія
RAILHOOK_CONFIG Використовувати інший шлях до файлу конфігурації
XDG_CONFIG_HOME Базовий каталог конфігурації (типово ~/.config)
RAILHOOK_DEBUG Виводити стек викликів у разі помилки
Симптом Що робити
Java не знайдено Встановіть Java 17+ або перезапустіть інсталятор із --with-java
Connection refused під час роботи тунелю На локальному порту, який ви передали listen, нічого не слухає
Перевірка підпису не проходить лише для gzip чи інших бінарних тіл, що йдуть через тунель Ваша версія CLI ще не передає тіла байт у байт. Щоб оновити її, знову виконайте команду встановлення
401 раз у раз Токени оновлюються автоматично. Якщо помилка не зникає, знову виконайте railhook login