diff --git a/bot/core/geoip.py b/bot/core/geoip.py new file mode 100644 index 0000000..36226ae --- /dev/null +++ b/bot/core/geoip.py @@ -0,0 +1,10 @@ +import requests + +def get_geo_info(ip_address): + url = f"http://ipinfo.io/{ip_address}/json" + response = requests.get(url) + + if response.status_code == 200: + return response.json() + else: + return None \ No newline at end of file diff --git a/bot/core/tapper.py b/bot/core/tapper.py index 1b1eb64..d9f3844 100644 --- a/bot/core/tapper.py +++ b/bot/core/tapper.py @@ -16,7 +16,7 @@ from bot.utils.scripts import escape_html, login_in_browser from bot.exceptions import InvalidSession from .headers import headers - +from .geoip import * class Tapper: def __init__(self, tg_client: Client, lock: asyncio.Lock): @@ -183,7 +183,8 @@ async def check_proxy(self, http_client: aiohttp.ClientSession, proxy: Proxy) -> try: response = await http_client.get(url='https://httpbin.org/ip', timeout=aiohttp.ClientTimeout(5)) ip = (await response.json()).get('origin') - logger.info(f"{self.session_name} | Proxy IP: {ip}") + geo_info = get_geo_info(ip) + logger.info(f"{self.session_name} | Proxy IP: {ip} - {geo_info.get('city')}, {geo_info.get('country')}") except Exception as error: logger.error(f"{self.session_name} | Proxy: {proxy} | Error: {escape_html(error)}")