From f9cc3c2fc468b76bd70d9534ccd735c93bfae83f Mon Sep 17 00:00:00 2001 From: Raphael Date: Thu, 25 Oct 2018 11:19:06 +0200 Subject: [PATCH] Init script --- phoneinfoga.py | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 2 ++ 2 files changed, 74 insertions(+) create mode 100644 phoneinfoga.py create mode 100644 requirements.txt diff --git a/phoneinfoga.py b/phoneinfoga.py new file mode 100644 index 0000000..a349337 --- /dev/null +++ b/phoneinfoga.py @@ -0,0 +1,72 @@ +#!/usr/bin/env python + +import sys +import hashlib +import json +from bs4 import BeautifulSoup + +try: + import requests +except: + print "Request library not found, please install it before proceeding\n" + sys.exit() + +print "\n \033[92m" +print " ___ _ _____ __ " +print " / _ \ |__ ___ _ __ ___ \_ \_ __ / _| ___ __ _ __ _ " +print " / /_)/ '_ \ / _ \| '_ \ / _ \ / /\/ '_ \| |_ / _ \ / _` |/ _` |" +print " / ___/| | | | (_) | | | | __/\/ /_ | | | | _| (_) | (_| | (_| |" +print " \/ |_| |_|\___/|_| |_|\___\____/ |_| |_|_| \___/ \__, |\__,_|" +print " |___/ " +print " PhoneInfoga Ver. 0.2.1 " +print " Coded by Raphael Cerveaux " +print "\033[94m\n\n" + +def help(): + print "Usage: PhoneInfoga options \n" + print " -n|--number: Phone number to search" + print " -h|--help: Help command" + +def getInformations(PhoneNumber): + # verify input type + if str.isdigit(PhoneNumber) != True: + print("\033[31mError: please enter a valid integer as value") + sys.exit() + + print("Fetching information for number +" + PhoneNumber + "...") + + # get scl_request_secret + resp = requests.get('https://numverify.com/') + soup = BeautifulSoup(resp.text, "html5lib") + for tag in soup.find_all("input", type="hidden"): + if tag['name'] == "scl_request_secret": + requestSecret = tag['value'] + break; + + apiKey = hashlib.md5(PhoneNumber + requestSecret).hexdigest() + + response = requests.get("https://numverify.com/php_helper_scripts/phone_api.php?secret_key=" + apiKey + "&number=" + PhoneNumber) + if response.content == "Unauthorized" or response.status_code != 200: + print("An error occured while calling the API (bad request or wrong api key).") + sys.exit() + + data = json.loads(response.content) + + if data["valid"] == False: + print("\033[31mError: the number +" + PhoneNumber + " is not valid.") + print("Be sure to use the correct format : (+)1 415-858-6273 (without spaces)\033[94m") + sys.exit() + + print "\n" + print "\033[1;32m1 result found for (" + data["country_prefix"] + ") " + data["local_format"] + print "\n" + print("[Country] " + data["country_name"] + "(" + data["country_code"] + ")") + print("[Carrier] " + data["carrier"]) + print("[Line type] " + data["line_type"]) + +if sys.argv[1:][0] == "-n" or sys.argv[1:][0] == "--number": + PhoneNumber = sys.argv[1:][1] + getInformations(PhoneNumber) +else: + help() + sys.exit() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b3d030c --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +requests +BeautifulSoup