From 6b309b743fe111f759d3e4d5f516e22181c61d8b Mon Sep 17 00:00:00 2001 From: Alexnadr Kazakov Date: Thu, 25 Jul 2024 22:57:05 +0500 Subject: [PATCH 1/2] add to log proxy GeoIP info --- bot/core/geoip.py | 10 ++++++++++ bot/core/tapper.py | 13 +++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) create mode 100644 bot/core/geoip.py 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..318dc53 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)}") @@ -393,3 +394,11 @@ async def run_tapper(tg_client: Client, proxy: str | None, lock: asyncio.Lock): await Tapper(tg_client=tg_client, lock=lock).run(proxy=proxy) except InvalidSession: logger.error(f"{tg_client.name} | Invalid Session") + +def run_tapper_(tg_client: list, proxy: str | None, lock: asyncio.Lock, settings): + _tg_client = Client( + name=tg_client[0], + api_id=tg_client[1], + api_hash=tg_client[2], + session_string=tg_client[3]) + return asyncio.run(run_tapper(tg_client=_tg_client, proxy=proxy, lock=lock, settings=settings)) \ No newline at end of file From 6922fbfe2bd4dee5cb49efcc083a283631cf37a2 Mon Sep 17 00:00:00 2001 From: Alexander Kazakov <48761297+AlexArGC@users.noreply.github.com> Date: Thu, 25 Jul 2024 23:02:54 +0500 Subject: [PATCH 2/2] del not use function --- bot/core/tapper.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/bot/core/tapper.py b/bot/core/tapper.py index 318dc53..d9f3844 100644 --- a/bot/core/tapper.py +++ b/bot/core/tapper.py @@ -394,11 +394,3 @@ async def run_tapper(tg_client: Client, proxy: str | None, lock: asyncio.Lock): await Tapper(tg_client=tg_client, lock=lock).run(proxy=proxy) except InvalidSession: logger.error(f"{tg_client.name} | Invalid Session") - -def run_tapper_(tg_client: list, proxy: str | None, lock: asyncio.Lock, settings): - _tg_client = Client( - name=tg_client[0], - api_id=tg_client[1], - api_hash=tg_client[2], - session_string=tg_client[3]) - return asyncio.run(run_tapper(tg_client=_tg_client, proxy=proxy, lock=lock, settings=settings)) \ No newline at end of file