|
|
|
import re |
|
import requests |
|
import argparse |
|
import json |
|
|
|
def sys_url(url): |
|
if not re.match(r'^https?://', url): |
|
url = 'https://' + url |
|
return url |
|
|
|
def exturlz(text): |
|
urls = re.findall(r'https?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', text) |
|
if not urls: |
|
urls = re.findall(r'www\.(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', text) |
|
urls = [sys_url(url) for url in urls] |
|
return urls |
|
|
|
def check_website(url): |
|
try: |
|
response = requests.get(url, timeout=10) |
|
html_content = response.text.lower() |
|
httpstat = response.status_code |
|
|
|
cloudflare = 'server' in response.headers and 'cloudflare' in response.headers['server'].lower() |
|
captcha = 'recaptcha' in html_content or 'captcha' in html_content |
|
|
|
pymnt_gwayz = { |
|
'Stripe': ['stripe'], |
|
'PayPal': ['paypal'], |
|
'Shopify Payments': ['shopify'], |
|
'Braintree': ['braintree'], |
|
'Authorize.Net': ['authorize.net'], |
|
'Afterpay': ['afterpay'], |
|
'Worldpay': ['worldpay'], |
|
'Square': ['squareup', 'square.com'], |
|
'Adyen': ['adyen'], |
|
'ProcessOut': ['processout'], |
|
'Recurly': ['recurly'], |
|
'Airwallex': ['airwallex'], |
|
'Xendit': ['xendit'] |
|
} |
|
|
|
gateways = [] |
|
for gateway, keywords in pymnt_gwayz.items(): |
|
if any(keyword in html_content for keyword in keywords): |
|
gateways.append(gateway) |
|
|
|
platform = 'WooCommerce' if 'woocommerce' in html_content else 'Unknown' |
|
|
|
|
|
api_url = 'https://check-host.cc/rest/V2/info' |
|
headers = {'accept': 'application/json', 'Content-Type': 'application/json'} |
|
data = {'target': url, 'apikey': 'NOKEY', 'ClientIP': None} |
|
|
|
|
|
response_ip = requests.post(api_url, headers=headers, data=json.dumps(data)) |
|
ip_info = response_ip.json() |
|
|
|
|
|
ip_details = f"""IP: {ip_info.get('ip', 'N/A')} |
|
Hostname: {ip_info.get('hostname', 'N/A')} |
|
ISP: {ip_info.get('isp', 'N/A')} |
|
ASN: {ip_info.get('asn', 'N/A')} |
|
ORG: {ip_info.get('org', 'N/A')} |
|
Country: {ip_info.get('country', 'N/A')} |
|
Region: {ip_info.get('region', 'N/A')} |
|
City: {ip_info.get('city', 'N/A')} |
|
Timezone: {ip_info.get('timezone', 'N/A')} |
|
""" |
|
|
|
chk_msg = f"""```TELEGRAM @VANO_GANZZZ |
|
π Site Check Report π |
|
β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’ |
|
{ip_details} |
|
Site : {url} |
|
Gateways : {', '.join(gateways) if gateways else 'Unknown'} |
|
Cloudflare : {'β
' if cloudflare else 'β'} |
|
Captcha : {'β
' if captcha else 'β'} |
|
Platform : {platform} |
|
HTTPS Status : {httpstat}``` |
|
Check-Host: https://check-host.cc/?m=INFO&target={url}""" |
|
return chk_msg |
|
except Exception as e: |
|
error_msg = f""" |
|
π **Site Check Report** π |
|
β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’ |
|
κ **Site** : {url} |
|
κ **Error** : {str(e)} |
|
β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’β’ββ’""" |
|
return error_msg |
|
|
|
if __name__ == "__main__": |
|
parser = argparse.ArgumentParser(description="Website checker script") |
|
parser.add_argument("url", help="The URL of the website to check") |
|
args = parser.parse_args() |
|
|
|
result = check_website(args.url) |
|
print(result) |