Перейти к основному содержимому

Trigger туннель

Обзор

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

  • HTTP запрос (Webhook)
  • Письмо (SMTP)
к сведению

Создание Trigger туннеля доступно только на платном тарифе.

Пример

Создайте скрипт /tmp/trigger.sh который будет создавать файл и записывать в него фразу Hello tuna:

/tmp/trigger.sh
#!/bin/sh
set -xe
touch /tmp/test_file.txt
echo "Hello tuna" > /tmp/test_file.txt

Затем сделайте его исполняемым с помощью команды chmod +x /tmp/trigger.sh.

HTTP запрос (Webhook)

tuna trigger webhook /tmp/trigger.sh

tuna сгенерирует ссылку:

INFO[13:00:00] Welcome to Tuna
INFO[13:00:00] Forwarding tcp://ru.tuna.am:16502 -> 127.0.0.1:35839
INFO[13:00:00] Send an HTTP request to http://ru.tuna.am:16502 to execute the command "/tmp/trigger.sh"

Теперь вы можете отправить запрос по указанному адресу, а tuna выполнит указанный скрипт, например:

curl -sSLf http://ru.tuna.am:16502

Письмо (SMTP)

tuna trigger smtp /tmp/trigger.sh

tuna сгенерирует ссылку:

INFO[13:00:00] Welcome to Tuna                                  
INFO[13:00:00] Forwarding tcp://ru.tuna.am:19284 -> 127.0.0.1:1025
INFO[13:00:00] Send a message to SMTP server ru.tuna.am:19284 to execute the command "/tmp/trigger.sh"

Теперь вы можете отправить письмо по указанному адресу, а tuna выполнит указанный скрипт, например:

curl -s \
--url "smtp://ru.tuna.am:19284" \
--mail-from "tuna@example.com" \
--mail-rcpt "tuna@example.com" \
--upload-file /tmp/trigger.sh