import subprocess
import json

def analyze_with_external_tools(host, port, skip_cert_verification=False):
    # Basis curl-Kommando
    terminal = ['curl', '--http3-only', '-v', f'https://{host}:{port}']
    
    # Zertifikatsüberprüfung skippen falls gewünscht
    if skip_cert_verification:
        terminal.append('-k')  # oder '--insecure'
    
    try:
        result = subprocess.run(terminal, capture_output=True, text=True)
        
        # Analyse der Ausgabe für TLS-Informationen
        return result.stderr
    except Exception as e:
        print(f"Externe Tool-Analyse fehlgeschlagen: {e}")
        return None

# Verwendung mit Zertifikatsüberprüfung (Standard)
result = analyze_with_external_tools("cloudflare.com", 443)
print(60*"=" + "cloudflare.com" + 60*"=")
print(result)
print(200*"=")
print()
print()
result = analyze_with_external_tools("nextcloud.mofixx.net", 443)
print(60*"=" + "nextcloud.mofixx.net" + 60*"=")
print(result)
print(200*"=")

# Verwendung ohne Zertifikatsüberprüfung
#result_insecure = analyze_with_external_tools("localhost", 4433, skip_cert_verification=True)
#print(result_insecure)