Запрос с крана Stratos

Cash

Administrator
Команда форума
Для запуска скрипта нужен php , в терминале:
Код:
apt-get install php
apt-get install php-curl

Создаем скрипт запроса:

Код:
vi get_faucet.php

Для редактирования нажимаем i
Код:
<?php

 $was = file_get_contents('last_run.txt',true);     // В этом файле будем хранить время последнего запроса
 $now = time(); // Узнаем текущее время

 if (!empty($was)) // Eсли запрос уже был
 {     

  $diff = $now - $was; // Считаем разницу во времени
 
   if ($diff > 3600) // Если прошло больше часа
    {
    exec("curl -X POST https://faucet-tropos.thestratos.org/faucet/<номер кошелька>", $out); // Делаем запрос
    file_put_contents('last_run.txt',$now);  // Записываем время запроса
    file_put_contents('stratos_request.txt',$out); // Сохраняем результат запроса ( просто так, если захочется посмотреть)

        file_get_contents("https://api.telegram.org/bot<token>/sendMessage?chat_id=<your_id>&text=STRATOS Request Sent"); //Сообщаем себе в телеграм что запрос был отпарвлен
   }
 } else {
         file_put_contents('last_run.txt',$now); // Если запуска еще не было, записываем время для начала отсчета
        }
?>

Что бы закрыть редактор и сохранить изменения: Esc + :wq + Enter

Если вам не нужен репортинг в телеграм просто удалите строку file_get_contents.... Если нужен здесь есть информация как создать телеграм бота для репортинга.

Далее, делаем скрипт запуска PHP скрипта на Shell, потому что желательно не слать запрос в тупую каждый час, а с небольшой разницей. Делать задержку в PHP не очень правильно, потому что скрипт будет есть память.
В терминале пишем

Код:
vi executor.sh

Вставляем содержимое
Код:
#!/usr/bin/sh
MAXWAIT=2400  // время рандомной задержки в секундах, ставьте свое значение что бы все не долбили кран с одинаковы интервалом
sleep $((RANDOM % MAXWAIT))
/usr/bin/php /home/user/get_faucet.php

Закрываем файл с применением изменений (:wq)

Делаем скрипт исполняемым

Код:
chmod +x executor.sh

Далее нужно поставить задание в cron

CSS:
crontab -e

Добавляем строку

Код:
*/25 * * * * /usr/bin/sh /home/user/executor.sh

PS
- Очевидно оба файла get_faucet.php и executor.sh должны быть в папке /home/user
- При первом запуске скрипт не выполнит запрос на кран, а просто зафиксирует время запуска и сохранит в файле last_run.txt
 
Вверх