Que penses-tu de la palette de couleurs utilisée dans mon script nmap pour le jeu Grey Hack?

// Function to generate a random IP
get_random_ip = function()
    while true
        ip = floor((rnd * 255) + 1) + "." + floor((rnd * 255) + 1) + "." + floor((rnd * 255) + 1) + "." + floor((rnd * 255) + 1)
        if not is_valid_ip(ip) then continue
        if is_lan_ip(ip) then continue
        return ip
    end while
end function

if params.len != 1 or params[0] == "-h" or params[0] == "--help" then
    exit(command_info("<color=#FF4500>Usage : nmap [ip address] or nmap random to scan a random IP"))
end if

// Check for "random" parameter
if params[0] == "random" then
    ipAddress = get_random_ip()
else
    if not is_valid_ip(params[0]) then
        exit("<color=#FF4500>nmap: invalid IP address")
    end if
    ipAddress = params[0]
end if

if not get_shell.host_computer.is_network_active then
    exit("<color=#FF4500>nmap: No internet access.")
end if

isLanIp = is_lan_ip(ipAddress)

if isLanIp then
    router = get_router()
else
    router = get_router(ipAddress)
end if

if router == null then
    exit("<color=#FF4500>nmap: IP address not found")
end if

print("\n" + "<color=#FFD700>Starting nmap v2.0 at " + current_date)
print("<color=#FFD700>Scanning " + ipAddress + "\n")

// WHOIS Information
print("<color=#1E90FF>WHOIS Information:")
whois_info = whois(ipAddress)
if whois_info then
    whois_lines = whois_info.split("\n")
    for line in whois_lines
        if line.indexOf(":") != null then
            parts = line.split(":")
            key = parts[0].trim
            value = parts[1:].join(":").trim
            print("<color=#FFA500>" + key + ": <color=#32CD32>" + value + "")
        else
            print("<color=#FFFFFF>" + line + "")
        end if
    end for
else
    print("<color=#FF4500>No WHOIS information available for this IP.")
end if
print("")

// Router information
print("<color=#1E90FF>Router Information:")
print("<color=#FFA500>BSSID: " + "<color=#32CD32>" + router.bssid_name + "")
print("<color=#FFA500>ESSID: " + "<color=#32CD32>" + router.essid_name + "")
print("<color=#FFA500>Local IP: " + "<color=#32CD32>" + router.local_ip + "")
print("<color=#FFA500>Public IP: " + "<color=#32CD32>" + router.public_ip + "")
print("<color=#FFA500>Kernel Version: " + "<color=#32CD32>" + router.kernel_version + "")
print("")

// Firewall scanning
print("<color=#1E90FF>Firewall Rules:")
firewall_rules = router.firewall_rules
if firewall_rules.len == 0 then
    print("<color=#32CD32>No firewall rules found.")
else
    print("<color=#FF6347>Firewall Rules:") // Red for firewall rules present
    for rule in firewall_rules
        print("- <color=#FF6347>" + rule + "")
    end for
end if
print("")

// Port scanning
if isLanIp then
    ports = router.device_ports(ipAddress)
else
    ports = router.used_ports
end if

if ports == null then
    exit("nmap: IP address not found")
end if
if typeof(ports) == "string" then
    exit(ports)
end if

if ports.len == 0 then 
    print("<color=#FF6347>No ports found.</color>")
else
    print("<color=#1E90FF>Port Scan Results:</color>")
    info = "<color=#FFFF00>PORT STATE SERVICE VERSION LAN</color>"
    open_ports = 0
    closed_ports = 0
    for port in ports
        service_info = router.port_info(port)
        lan_ips = port.get_lan_ip
        if port.is_closed then
            port_status = "<color=#FF6347>closed</color>"
            port_color = "#FF6347"
            closed_ports = closed_ports + 1
        else
            port_status = "<color=#32CD32>open</color>"
            port_color = "#32CD32"
            open_ports = open_ports + 1
        end if
        info = info + "\n<color=" + port_color + ">" + port.port_number + "</color> " + port_status + " <color=#00CED1>" + service_info + "</color> <color=#1E90FF>" + lan_ips + "</color>"
    end for
    print(format_columns(info) + "\n")
    print("<color=#32CD32>Open ports: " + open_ports + "</color>")
    print("<color=#FF6347>Closed ports: " + closed_ports + "</color>")
    print("<color=#FFFF00>Total ports: " + ports.len + "</color>" + "\n")
end if

// Deepscan or LAN device scanning based on context
if isLanIp then
    // LAN device scanning (only for local network)
    print("<color=#1E90FF>LAN Devices:")
    devices = router.devices_lan_ip
    for device_ip in devices
        print("<color=#FFA500>Device IP: " + device_ip)
        device_ports = router.device_ports(device_ip)
        if device_ports == null or device_ports.len == 0 then
            print("<color=#FF6347> *No open ports")
        else
            for port in device_ports
                if not port.is_closed then
                    service_info = router.port_info(port)
                    print("<color=#32CD32> *Port " + port.port_number + ": " + service_info)
                end if
            end for
        end if
    end for
else
    // Deepscan functionality for remote scanning
    if is_valid_ip(ipAddress) then
        router = get_router(ipAddress)
        if router then
            print("<color=#1E90FF>Starting deepscan on " + ipAddress)
            print("<color=#1E90FF>Scanning all IPs behind the router...\n")
            local_ips = router.devices_lan_ip
            for local_ip in local_ips
                print("<color=#FFA500>Scanning " + local_ip + "...")
                device_ports = router.device_ports(local_ip)
                if device_ports == null or device_ports.len == 0 then
                    print("<color=#FF6347> *No open ports found on " + local_ip)
                else
                    for port in device_ports
                        if not port.is_closed then
                            service_info = router.port_info(port)
                            print("<color=#32CD32> *Port " + port.port_number + ": " + service_info)
                        end if
                    end for
                end if
            end for
        else
            print("<color=#FF4500>IP is not a router or public IP!")
        end if
    end if
end if
print("\n" + "<color=#FFD700>Nmap scan completed at " + current_date)