snoopbanner.py 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385
  1. #! /usr/bin/env python3
  2. # Copyright (c) 2020 Snoop Project <snoopproject@protonmail.com>
  3. "Text_banner_logo_help"
  4. import base64
  5. import json
  6. import locale
  7. import sys
  8. import time
  9. import webbrowser
  10. from colorama import Fore, Style, init
  11. from rich.panel import Panel
  12. from rich.console import Console
  13. locale.setlocale(locale.LC_ALL, '')
  14. init(autoreset=True)
  15. console = Console()
  16. ## Логирование ошибок.
  17. def err_all(err_="low"):
  18. if err_ == "high":
  19. return "⚠️ [bold red][RU] Внимание! Критическая ошибка, просьба сообщить об этом разработчику.\n" + \
  20. "[EN] Attention! Critical error, please report it to the developer.\nhttps://github.com/snooppr/snoop/issues[/bold red]"
  21. elif err_ == "low":
  22. return "⚠️ [bold yellow][RU] Ошибка | [EN] Error[/bold yellow]"
  23. ## БД.
  24. def DB(db_base):
  25. try:
  26. with open(db_base, "r", encoding="utf8") as f_r:
  27. db = f_r.read()
  28. db = db.encode("UTF-8")
  29. db = base64.b64decode(db)
  30. db = db[::-1]
  31. db = base64.b64decode(db)
  32. trinity = json.loads(db.decode("UTF-8"))
  33. return trinity
  34. except Exception:
  35. print(Style.BRIGHT + Fore.RED + "Упс, что-то пошло не так..." + Style.RESET_ALL)
  36. sys.exit()
  37. ## Пожертвование.
  38. def donate():
  39. print("")
  40. console.print(Panel(f"""[cyan]
  41. ╭Donate/Buy:
  42. ├──ЮMoney:: [white]4100111364257544[/white]
  43. ├──Сбер_карта:: [white]2202208013277075[/white]
  44. ├──Райффайзен_карта:: [white]2200300512321074[/white]
  45. └──По номеру телефона (СБП/Банк Юмани):: [white]+79004753581[white]
  46. [bold green]Оплатить софт можно по любым реквизитам, но самым предпочтительным способом является — СБП (перевод по номеру телефона без комиссий с карты любого банка).
  47. Если пользователя заинтересовало ПО [red]Snoop demo version[/red], то он может приобрести [cyan]Snoop full version[/cyan], поддержав развитие IT-проекта[/bold green] [bold cyan]20$[/bold cyan] [bold green]или[/bold green] [bold cyan]1400р.[/bold cyan]
  48. [bold green]При пожертвовании/покупке в сообщении/письме укажите:[/bold green]
  49. \"\"\"
  50. [cyan]На развитие Snoop Project: ваш[/cyan] [bold cyan]e-mail[/bold cyan]
  51. [cyan]full[/cyan] [bold cyan]version[/bold cyan] [cyan]for Windows или full version for Linux,[/cyan]
  52. [bold cyan]статус[/bold cyan] [cyan]пользователя: Физ.лицо; ИП; Юр.лицо (если покупка ПО).[/cyan]
  53. \"\"\"
  54. [bold green]В ближайшее время на email пользователя придёт чек о покупке и ссылка для скачивания Snoop full version готовой сборки, то есть исполняемого файла, для Windows — это 'snoop_cli.exe', для GNU/Linux — 'snoop_cli.bin'.
  55. Snoop в исполняемом виде (build-версия) предоставляется по лицензии, с которой пользователь должен ознакомиться перед покупкой ПО.
  56. Лицензия для Snoop Project в исполняемом виде находится в rar-архивах демо версий Snoop по ссылке: [/bold green]
  57. [cyan]https://github.com/snooppr/snoop/releases[/cyan][bold green], также лицензия доступна по команде::
  58. '[/bold green][cyan]snoop_cli.bin --version[/cyan][bold green]' или '[/bold green][cyan]snoop_cli.exe --version[/cyan][bold green]' у исполняемого файла.
  59. Если ПО Snoop требуется пользователю для служебных или образовательных задач, напишите письмо на e-mail разработчика в свободной форме.
  60. Всем студентам (независимо от учебного заведения или направления) ПО Snoop full version предоставляется с 50% скидкой.
  61. Snoop full version:
  62. * 4600+ Websites;
  63. * поддержка локальной и онлайн database Snoop;
  64. * подключение к БД Snoop (online), которая расширяется/обновляется;
  65. * доступен автооптимизированный, быстрый и агрессивный режим поиска;
  66. * доступна пользовательская настройка разгона скорости работы ПО;
  67. * плагины без ограничений;
  68. * ru техподдержка от разработчика ПО;
  69. * предоставление обновлённых билдов;
  70. * отключены всплывающие окна в HTML-отчёте про упоминание Snoop demo version.[/bold green]
  71. [bold red]Ограничения Snoop demo version:
  72. * database Snoop сокращена в > 15 раз;
  73. * необновляемая database Snoop;
  74. * отключены некоторые опции/плагины.[/bold red]
  75. [bold green]Email:[/bold green] [cyan]snoopproject@protonmail.com[/cyan]
  76. [bold green]Исходный код:[/bold green] [cyan]https://github.com/snooppr/snoop[/cyan]
  77. ❗️[bold yellow] Обратите внимание, что из-за цензуры письма с 'mailru' и 'yandex' не доходят до международного почтового сервиса 'protonmail'. Пользователи mailru/yandex пишите запросы на запасную почту.[/bold yellow]
  78. [bold green]Email: [/bold green][cyan]snoopproject@ya.ru[/cyan]
  79. """,
  80. title="[bold red]demo: (Публичная оферта)",
  81. border_style="bold blue"))
  82. try:
  83. webbrowser.open("https://yoomoney.ru/to/4100111364257544")
  84. except Exception:
  85. print("\033[31;1mНе удалось открыть браузер\033[0m")
  86. print(Style.BRIGHT + Fore.RED + "Выход")
  87. sys.exit()
  88. ## Buy.
  89. def buy():
  90. donate_buy = """
  91. <script>
  92. function bay() {document.write('\
  93. <html>\
  94. <head>\
  95. <title>💳 Donate/Buy Snoop Project</title>\
  96. </head>\
  97. <body style=\"background-color: #c0c0c0\">\
  98. <p><span style="color:#009a7c">╭<span style="font-size:36px">Donate/Buy</span>:</span><br />\
  99. <span style="color:#009a7c">├──ЮMoney::</span> <a href="https://yoomoney.ru/to/4100111364257544" target="_blank">4100111364257544</a><br />\
  100. <span style="color:#009a7c">├──Сбер_карта:: </span><strong>2202208013277075</strong><br />\
  101. <span style="color:#009a7c">├──Райффайзен_карта:: </span><strong>2200300512321074</strong><br />\
  102. <span style="color:#009a7c">├──По номеру телефона <em>(СБП: банк Юмани)</em>:: </span><strong>+79004753581</strong><br />\
  103. <span style="color:#009a7c">└──СберБанк Онлайн <em>(мобильное приложение)</em>:: </span><strong>QR код</strong><br />\
  104. <img alt="QR код только для пользователей Сбербанк Онлайн." src="https://raw.githubusercontent.com/snooppr/snoop/refs/heads/master/web/QR_donate_SberBank.png" style="height:200px; width:200px" /></p>\
  105. \
  106. <p><span style="font-size:18px"><span style="color:#007500">Оплатить софт можно по <u>любым реквизитам</u>, но самым предпочтительным способом является &mdash; СБП <em>(перевод по номеру телефона без комиссий с карты любого банка)</em>.</span></span></p>\
  107. \
  108. <p><span style="font-size:18px"><span style="color:#007500">Если пользователя заинтересовало ПО Snoop demo version, то он может приобрести <strong>Snoop full version</strong>, поддержав развитие IT-проекта <strong>20$</strong> или <strong>1400р</strong>.<br />\
  109. При пожертвовании/покупке в сообщении/письме укажите:</span></span></p>\
  110. \
  111. <p><span style="font-size:18px">&nbsp;&nbsp;&nbsp; \&quot;\&quot;\&quot;<br />\
  112. <span style="color:#009a7c">&nbsp;&nbsp;&nbsp; На развитие Snoop Project: ваш <strong>e-mail</strong><br />\
  113. &nbsp;&nbsp;&nbsp; full <strong>version</strong> for Windows или full version for Linux,<br />\
  114. &nbsp;&nbsp;&nbsp; <strong>статус</strong> пользователя: Физ.лицо; ИП; Юр.лицо <em>(если покупка ПО)</em>.</span><br />\
  115. &nbsp;&nbsp;&nbsp; \&quot;\&quot;\&quot;</span></p>\
  116. \
  117. <p><span style="font-size:18px"><span style="color:#007500">В ближайшее время на email пользователя придёт чек о покупке и ссылка для скачивания Snoop full version готовой сборки, <br>\
  118. то есть исполняемого файла, для Windows &mdash; это &#39;snoop_cli.exe&#39;, для GNU/Linux &mdash; &#39;snoop_cli.bin&#39;.</span></span></p>\
  119. \
  120. <p><span style="font-size:18px"><span style="color:#007500">Snoop в исполняемом виде <em>(build-версия)</em> предоставляется по лицензии, с которой пользователь должен ознакомиться перед покупкой ПО.<br />\
  121. Лицензия для Snoop Project в исполняемом виде находится в rar-архивах демо версий Snoop по ссылке:</span><br />\
  122. <a href="https://github.com/snooppr/snoop/releases" target="_blank">https://github.com/snooppr/snoop/releases</a> <span style="color:#007500">, также лицензия доступна по команде::<br />\
  123. &#39;</span><strong><span style="color:#16a085">snoop_cli.bin --version</span></strong><span style="color:#007500">&#39; или &#39;</span><strong><span style="color:#16a085">snoop_cli.exe --version</span></strong><span style="color:#007500">&#39; у исполняемого файла.</span></span></p>\
  124. \
  125. <p><span style="font-size:18px"><span style="color:#007500">Если ПО Snoop требуется пользователю для служебных или образовательных задач, напишите письмо на e-mail разработчика в свободной форме.<br />\
  126. Всем студентам <em>(независимо от учебного заведения или направления)</em> ПО Snoop full version предоставляется с <strong>50%</strong> скидкой.</span></span></p>\
  127. \
  128. <p><span style="font-size:18px"><span style="color:#007500">Snoop full version:</span></span></p>\
  129. \
  130. <ul>\
  131. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;4600+ Websites;</span></span></li>\
  132. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;поддержка локальной и онлайн database Snoop;</span></span></li>\
  133. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;подключение к БД Snoop (online), которая расширяется/обновляется;</span></span></li>\
  134. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;доступен автооптимизированный, быстрый и агрессивный режим поиска;</span></span></li>\
  135. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;доступна пользовательская настройка разгона скорости работы ПО;</span></span></li>\
  136. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;плагины без ограничений;</span></span></li>\
  137. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;ru техподдержка от разработчика ПО;</span></span></li>\
  138. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;предоставление обновлённых билдов;</span></span></li>\
  139. <li><span style="font-size:18px"><span style="color:#007500">&nbsp;отключены всплывающие окна в HTML-отчёте про упоминание Snoop demo version.</span></span></li>\
  140. </ul>\
  141. \
  142. <p><span style="font-size:18px"><span style="color:#e74c3c">Ограничения Snoop demo version:</span></span></p>\
  143. \
  144. <ul>\
  145. <li><span style="font-size:18px"><span style="color:#e74c3c">database Snoop сокращена в &gt; 15 раз;</span></span></li>\
  146. <li><span style="font-size:18px"><span style="color:#e74c3c">необновляемая database Snoop;</span></span></li>\
  147. <li><span style="font-size:18px"><span style="color:#e74c3c">отключены некоторые опции/плагины.</span></span></li>\
  148. </ul>\
  149. \
  150. <p><span style="font-size:18px"><span style="color:#007500">Email:</span> <span style="color:#009a7c"><strong>snoopproject@protonmail.com</strong></span><br />\
  151. <span style="color:#007500">Исходный код: </span><a href="https://github.com/snooppr/snoop" target="_blank">https://github.com/snooppr/snoop</a></span></p>\
  152. \
  153. <p><span style="font-size:18px">❗️<span style="color:#e15700">Обратите внимание, что из-за цензуры письма с &#39;mailru&#39; и &#39;yandex&#39; не доходят до международного почтового сервиса &#39;protonmail&#39;. <br>\
  154. Пользователи mailru/yandex пишите запросы на запасную почту.</span><br />\
  155. <span style="color:#007500">Email:</span><span style="color:#009900"> </span><span style="color:#009a7c"><strong>snoopproject@ya.ru</strong></span></span></p>\
  156. <hr />\
  157. <p>Возврат: &#39;F5&#39;</p>\
  158. </body>\
  159. </html>')}
  160. </script>"""
  161. return donate_buy
  162. ## Лого.
  163. def logo(text, color="\033[31;1m", exit=True):
  164. if sys.platform != 'win32':
  165. with console.screen():
  166. console.print("""[cyan]
  167. ____
  168. /\ _`\
  169. \ \,\L\_\ ___ ___ ___ _____
  170. \/_\__ \ /' _ `\ / __`\ / __`\/\ '__`\\
  171. /\ \L\ \/\ \/\ \/\ \_\ \/\ \_\ \ \ \L\ \\
  172. \ `\____\ \_\ \_\ \____/\ \____/\ \ ,__/
  173. \/_____/\/_/\/_/\/___/ \/___/ \ \ \/
  174. \ \_\\
  175. __ \/_/
  176. /\ \
  177. \_\ \ __ ___ ___ ___
  178. /'_` \ /'__`\/' __` __`\ / __`\\
  179. /\ \_\ \/\ __//\ \/\ \/\ \/\ \_\ \\
  180. \ \___,_\ \____\ \_\ \_\ \_\ \____/
  181. \/__,_ /\/____/\/_/\/_/\/_/\/___/
  182. """)
  183. time.sleep(1.4)
  184. for i in text:
  185. time.sleep(0.04)
  186. print(f"{color}{i}", end='', flush=True)
  187. if exit:
  188. print("\033[31;1m\n\nВыход")
  189. sys.exit()
  190. # snoop.py Справка Модули 'if mod == 'help'.
  191. def help_module_1():
  192. print("""\033[32;1m└──[Справка]\033[0m
  193. \033[32;1m========================
  194. | Плагин GEO_IP/domain |
  195. ========================\033[0m \033[32m\n
  196. 1) Реализует онлайн одиночный поиск цели по IP/url/domain и предоставляет статистическую информацию: IPv4/v6; GEO-координаты/ссылку; локацию.
  197. (Лёгкий ограниченный поиск).
  198. 2) Реализует онлайн поиск цели по списку данных: и предоставляет статистическую и визуализированную информацию: IPv4/v6; GEO-координаты/ссылки; страны/города; отчеты в CLI/txt/csv форматах; предоставляет визуализированный отчет на картах OSM.
  199. (Умеренный небыстрый поиск: ограничения запросов:: 15к/час; не предоставляет информацию о провайдерах).
  200. 3) Реализует офлайн поиск цели по списку данных, используя БД: и предоставляет статистическую и визуализированную информацию: IPv4/v6; GEO-координаты/ссылки; локации; провайдеры; отчеты в CLI/txt/csv форматах; предоставляет визуализированный отчет на картах OSM.
  201. (Сильный и быстрый поиск).
  202. Результаты по 1 и 2 методу могут отличаться и быть неполными - зависит от персональных настроек DNS/IPv6 пользователя.
  203. Список данных — текстовый файл (в кодировке utf-8), который пользователь указывает в качестве цели, и который содержит ip, domain или url (или их комбинации).
  204. Предназначение плагина — Образование/ИБ.
  205. \033[32;1m============================
  206. | Плагин Reverse Vgeocoder |
  207. ============================\033[0m\n
  208. \033[32mОбратный impresionante-геокодер от Snoop Project для визуализации координат на карте OSM и статистическим анализом в html/csv/txt форматах.
  209. Плагин умеет извлекать и обрабатывать координаты из любых зашумлённых текстовых файлов. Плагин реализует оффлайн поиск цели по заданным геокоординатам и предоставляет подробную статистическую и визуализированную информацию (full version).
  210. Особая повышенная точность у объектов в зоне RU; EU; CIS локаций относительно остального мира.
  211. С помощью данного плагина (full version) пользователь способен извлечь, визуализировать и проанализировать информацию о тысячах геокоординатах за секунды.
  212. Предназначение плагина — CTF/Образование.\033[0m
  213. \033[32;1m========================
  214. | Плагин Yandex_parser |
  215. ========================\033[0m\n
  216. \033[32mПлагин позволяет получить информацию о пользователях Яндекс-сервисов:
  217. Я_Отзывы; Я_Кью; Я_Маркет; Я_Музыка; Я_Дзен; Я_Диск; E-mail, Name.
  218. И связать полученные данные между собой с высокой скоростью и масштабно.
  219. Плагин разработан на идее и материалах уязвимости, отчёты были отправлены Яндексу в рамках программы «Охота за ошибками» в 2020-2021 гг.
  220. Попал в зал славы, получил дважды финансовое вознаграждение, а Яндекс исправил 'ошибки' по своему усмотрению.
  221. Предназначение плагина — OSINT.
  222. Подробнее о плагинах см. 'Общее руководство Snoop Project.pdf'.\033[0m""")
  223. console.rule("[bold red]Конец справки")
  224. # snoopplugins.py Справка Модуль Reverse Vgeocoder 'elif Vgeo == "help"'.
  225. def help_vgeocoder_vgeo():
  226. print("""\033[32;1m└──[Справка]\033[0m
  227. \033[32m
  228. В Snoop Project поддерживается два режима геокодирования:
  229. [*] Метод '\033[32;1mПростой\033[0m\033[32m':: На карте OSM (урезанный HTML-отчет) расставляются маркеры по координатам.
  230. Все маркеры подписаны геометками.
  231. Для данного метода доступны сокращенные отчёты с геометками в html/txt форматах.
  232. [*] Метод '\033[32;1mПодробный\033[0m\033[32m':: На карте OSM (HTML-отчет) расставляются маркеры по координатам.
  233. Все маркеры подписаны геометками; странами; округами и городами. Доступны графики по странам/регионам, статистика и её фильтрация.
  234. Дополнительные отчёты (таблицы) сохраняются с подробностями в [.txt.csv] форматах.
  235. Данный метод точно расставляет маркеры с геометками, подписывает их адресами к ближайшим населенным пунктам или названиями природных объектов.
  236. Особая повышенная точность у объектов в зоне RU; EU; CIS локаций относительно остального мира.
  237. Например, если пользователь загрузит для обработки координаты, указывающие в километре от г. Выкса на местность возле озера Разодейское, то маркер на карте OSM встанет точно у озера, а подписан он будет примерно так:
  238. \"\"\"\033[36m
  239. 🌎 Координаты: 55.342595 42.230801
  240. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  241. Страна: RU
  242. Регион: Nizhny Novgorod Oblast
  243. Округ: Ozero Razodeyskoye\033[0m\033[32m
  244. \"\"\"
  245. Метод работает на основе — 'Евклидово дерево'.
  246. \033[32;1mПлагин Reverse Vgeocoder\033[0m \033[32m- работает в оффлайн режиме и укомплектован специально разработанной гео-БД (некоторые БД предоставляются под свободной лицензией от download.geonames.org/export/dump/).
  247. Для обработки данных укажите при запросе текстовый файл с координатами в градусах в кодировке utf-8 (с расширением .txt или без расширения). Каждая строчка с геокоординатами (широта, долгота) должна быть записана в файле с новой строки (желательно).
  248. Snoop довольно умён: распознаёт и выбирает геокоординаты через запятую, пробел'ы или делает интеллектуальную выборку, вычищая случайные строки.
  249. Пример файла с геокоординатами (как может выглядеть файл с координатами, который необходимо указывать):
  250. \"\"\"\033[36m
  251. 51.352, -108.625
  252. 55.466,64.776
  253. 52.40662,66.77631
  254. 53.028 -104.680
  255. 54.505/73.773
  256. Москва55.75, 37.62 Калининград54.71, 20.51 Ростов-на-Дону47.23, 39.72
  257. случайная_строка1, которая_будет обработана Казань 55.7734/49.1436
  258. случайная строка2, которая не будет обработана\033[0m\033[32m
  259. \"\"\"
  260. По окончанию рендеринга откроется web-browser с визуальным результатом.
  261. Все результаты сохраняются в '~/snoop/results/plugins/ReverseVgeocoder/*[.txt.html.csv]'.
  262. Для статистической обработки информации (сортировка по странам/координатам/raw_данным и т.д.) пользователь может изучить отчёт в csv-формате.
  263. Если графики не отображаются в вашем html-отчёте, попробуйте открыть репорт в другом браузере.
  264. Это удобный плагин, если пользователю необходимо, например, не только обработать геокоординаты, но и найти хаотичные данные, или наоборот.""")
  265. # snoopplugins.py Справка Модуль Reverse Vgeocoder 'elif Ya == "help"'.
  266. def help_yandex_parser():
  267. print("""\033[32;1m└──[Справка]
  268. Однопользовательский режим\033[0m
  269. \033[32m[*] Логин — левая часть до символа '@', например, bobbimonov@ya.ru, логин
  270. '\033[36mbobbimonov\033[0m\033[32m'.
  271. [*] Публичная ссылка на Яндекс.Диск — это ссылка для скачивания/просмотра материалов, которую пользователь выложил в публичный доступ, например,
  272. '\033[36mhttps://yadi.sk/d/7C6Z9q_Ds1wXkw\033[0m\033[32m' или '\033[36mhttps://disk.yandex.ru/d/7C6Z9q_Ds1wXkw\033[0m\033[32m'.
  273. [*] Идентификатор — хэш, который указан в url на странице пользователя, например, в сервисе Я.Район: 'https://local.yandex.ru/users/tr6r2c8ea4tvdt3xmpy5atuwg0/' идентификатор — '\033[36mtr6r2c8ea4tvdt3xmpy5atuwg0\033[0m\033[32m'.
  274. По окончанию успешного поиска выводится отчёт в CLI и открываются Яндекс-страницы пользователя в браузере.
  275. Плагин Yandex_parser выдает меньше информации по идентификатор-у пользователя (в сравнении с другими методами), причина — fix уязвимости от Яндекса.
  276. \033[32;1mМногопользовательский режим\033[0m
  277. \033[32m[*] Файл с именами пользователей — файл (в кодировке UTF-8 с расширением .txt или без него), в котором записаны логины.
  278. Каждый логин в файле должен быть записан с новой строки, например:
  279. \"\"\"
  280. \033[36mbobbimonov
  281. username
  282. username2
  283. username3
  284. случайная строка
  285. bobbimonov@ya.ru
  286. bobbimonov@ya.ru
  287. bobbimonov@ya.ru\033[0m
  288. \033[32m\"\"\"
  289. При использовании многопользовательского режима по окончанию поиска (быстро) выводится расширенный отчёт в CLI, сохраняется txt-отчёт о Яндекс-пользователях (с расширенными, структурированными данными) и открывается браузер с мини-отчётом (сгруппированные данные).
  290. Плагин генерирует, но не проверяет 'доступность' персональных страниц пользователей по причине: частая защита страниц Я.капчей.
  291. Все результаты сохраняются в '\033[36m~/snoop/results/plugins/Yandex_parser/*\033[0m\033[32m'\033[0m
  292. \033[31;1mВ конце ноября 2022 года Яндекс закрыл публичный api, и возможно, данный плагин больше не заработает...\033[0m""")
  293. # snoopplugins.py Справка Модуль GEO_IP/domain 'elif dipbaza'.
  294. def geo_ip_domain():
  295. print("\033[32;1m└──Справка\033[0m\n")
  296. print("""\033[32m[*] Режим '\033[32;1mOnline поиск\033[0m\033[32m'. Модуль GEO_IP/domain от Snoop Project использует публичный api и создает статистическую и визуализированную информацию по ip/url/domain цели (массиву данных).
  297. Ограничения: запросы ~15к/час, невысокая скорость обработки данных, отсутствие информации о провайдерах.
  298. Преимущества использования 'Online поиска': в качестве входных данных можно использовать не только ip-адреса, но и domain/url.
  299. Пример файла с данными (список.txt):
  300. \"\"\"
  301. \033[36m1.1.1.1
  302. 2606:2800:220:1:248:1893:25c8:1946
  303. google.com
  304. https://example.org/fo/bar/7564
  305. случайная строка\033[0m
  306. \033[32m\"\"\"\033[0m
  307. \033[32m[*] Режим '\033[32;1mOffline поиск\033[0m\033[32m'. Модуль GEO_IP/domain от Snoop Project использует специальные базы данных и создает статистическую и визуализированную информацию по ip цели (массиву данных т.е. по ip-адресам).
  308. Преимущества использования 'Offline поиска': скорость (обработка тысяч ip без задержек), стабильность (отсутствие зависимости от интернет соединения и персональных настроек DNS/IPv6 пользователя), масштабный охват/покрытие (предоставляется информация об интернет-провайдерах).
  309. [*] Режим '\033[32;1mOffline_тихий поиск\033[0m\033[32m'. Тот же режим, что и режим 'Offline', но не выводит на печать в CLI промежуточные таблицы с данными. Режим даёт прирост производительности в несколько раз.
  310. Пример файла с данными (список.txt):
  311. \"\"\"
  312. \033[36m8.8.8.8
  313. 93.184.216.34
  314. 2606:2800:220:1:248:1893:25c8:1946
  315. случайная строка\033[0m
  316. \033[32m\"\"\"
  317. Snoop довольно умён и способен определять и различать во входных данных: IPv4/v6/domain/url, вычищая ошибки и случайные строки.
  318. По окончанию обработки данных пользователю предоставляются:
  319. статистические отчеты в [txt/csv/html и визуализированные данные на карте OSM]. Если графики не отображаются в вашем html-отчёте, попробуйте открыть репорт в другом браузере.
  320. Примеры для чего можно использовать модуль GEO_IP/domain от Snoop Project.
  321. Например, если у пользователя имеется список ip адресов от DDoS атаки,
  322. он может проанализировать откуда исходила max/min атака и от кого (провайдеры).
  323. Решая квесты-CTF, где используются GPS/IPv4/v6.
  324. В конечном итоге использовать плагин в образовательных целях или из естественного любопытства (проверить любые ip-адреса и их принадлежность к провайдеру и местности).\033[0m""")