Исходник Ping My Server! [v.1.0 / Update: 13.02.2024]

0x22

Участник
Автор темы
18
5

Ping My Server!

Ping My Server! - это очень простой скрипт, который пингует ваш сервер, затем отправляет данные в Telegram-бота. Доступен для Windows и Linux.


Принцип работы:
1. Пинг вашего сервера системной командой
2. Возврат статуса из функции
3. Получение статуса главной функцией сессии
4. Формирование сообщения с указанием таргет-хоста и статуса
5. Отправка сообщения в Telegram-бота

Необходимые библиотеки:
  • telebot (pyTelegramBotAPI)​

Инструкция по установке:
1. Скачиваете и распаковываете архив
2. Заходите в settings.json и вписываете соответствующие данные:
TOKEN - токен созданного вами тг бота, в которого будут скидываться уведомления (чтобы создать: @BotFather > /newbot)
INTERVAL - временной промежуток между уведомлениями (указывать в секундах)
TARGET - домен или IP-адрес (например, example.com или 127.0.0.1) статус которого нужно отслеживать
3. Запускаете скрипт и вводите /start в боте для начала сессии (вводить нужно при каждом новом запуске скрипта)
4. Готово! Если хотите отключить скрипт - нажмите Ctrl+C в терминале, в котором запущен скрипт


source:
# BlastHack: 0x22

import os
from telebot import *
import time
import json


# ping function

def ping(host):
    if os.name == 'posix':
        response = os.system('ping -c 1 ' + host)
    elif os.name == 'nt':
        response = os.system('ping ' + host)

    if response == 0:
        return 200
    else:
        return 500


# config

with open('settings.json', 'r') as settings:
    settings = json.load(settings)
    token = settings['TOKEN']
    target = settings['TARGET']
    interval = int(settings['INTERVAL'])
    bot = TeleBot(token)

# start session

    @bot.message_handler(commands=['start'])
    def start(message):
        bot.send_message(message.from_user.id, f'Сессия запущена!\nТаргет: {target}\nИнтервал: {interval}')
        while True:
            r = ping(target)
            rn = None
            if r == 200:
                rn = 'Successfully'
            else:
                rn = 'Error'
            bot.send_message(message.from_user.id, f'Таргет: {target}\nОтвет от сервера: {r} [{rn}]')
            time.sleep(interval)
bot.polling()


Да-да, если что-то не так - напишите. Да и целом фидбекните.

Qlcode Dev. a.k.a. 0x22 (BlastHack)
qlcode.dev@gmail.com
TG: @ind1ana_j0n3s
VK: @githuberrr
DS: __neadekvat__

 

Вложения

  • Ping My Server!.zip
    1.2 KB · Просмотры: 26
Последнее редактирование:
  • Нравится
  • Эм
Реакции: TastyBread123 и Freym