from urllib.parse import urlparse, urlunparse


def mask_network_location(url):
    if not url:
        return url
    parsed_url = urlparse(url)
    masked_network_location = parsed_url.hostname or ""
    if parsed_url.port:
        masked_network_location += f":{parsed_url.port}"
    if parsed_url.username or parsed_url.password:
        masked_network_location = f"***:***@{masked_network_location}"
    return urlunparse(parsed_url._replace(netloc=masked_network_location))
