cli.contributing.network.diagnose package¶
Submodules¶
cli.contributing.network.diagnose.cli module¶
Diagnose CLI orchestration.
- cli.contributing.network.diagnose.cli.main() int¶
- cli.contributing.network.diagnose.cli.resolve_hosts() list[str]¶
cli.contributing.network.diagnose.config module¶
Single point of truth for diagnose constants.
cli.contributing.network.diagnose.format module¶
Output and subprocess helpers.
- cli.contributing.network.diagnose.format.cmd_capture(argv: Sequence[str], timeout: float = 5.0) tuple[int, str]¶
Run argv and return (returncode, combined stdout+stderr).
Returns (-1, “command not found: …”) when the binary is missing. Returns (-2, “timeout after …”) when the call exceeds
timeout.
- cli.contributing.network.diagnose.format.line(label: str, value: str, *, file=None) None¶
- cli.contributing.network.diagnose.format.section(title: str, *, file=None) None¶
cli.contributing.network.diagnose.probes module¶
Per-host probes: DNS, TCP, TLS handshake, path MTU.
- cli.contributing.network.diagnose.probes.dns_resolve(host: str, family: int) tuple[bool, str, str | None]¶
Return (ok, info_string, first_address_or_None).
- cli.contributing.network.diagnose.probes.path_mtu_probe(host: str, family: int) tuple[int | str | None, int | str | None]¶
Probe the largest ICMP-DF payload that survives without fragmentation.
- Returns:
(payload_bytes, total_bytes)on success("SKIPPED", reason)when ping is unavailable or lacks CAP_NET_RAW(None, None)when every probe size is dropped
- cli.contributing.network.diagnose.probes.per_host_check(hosts: Sequence[str], family: int, family_label: str) None¶
- cli.contributing.network.diagnose.probes.tcp_connect(addr: str, family: int, port: int = 443, timeout: float = 5.0) tuple[bool, str]¶
- cli.contributing.network.diagnose.probes.tls_handshake(host: str, addr: str, family: int, port: int = 443, timeout: float = 8.0) tuple[bool, str]¶
cli.contributing.network.diagnose.report module¶
Per-system info dumps: identity, interfaces+MTU, /etc/resolv.conf, /etc/hosts, proxies, CA bundles.
- cli.contributing.network.diagnose.report.has_ipv6_default_route() bool¶
True when an IPv6 default route exists on a non-loopback interface.
- cli.contributing.network.diagnose.report.show_ca_bundle() None¶
- cli.contributing.network.diagnose.report.show_hosts() None¶
- cli.contributing.network.diagnose.report.show_identity() None¶
- cli.contributing.network.diagnose.report.show_iface_routes() None¶
- cli.contributing.network.diagnose.report.show_proxies() None¶
- cli.contributing.network.diagnose.report.show_resolv() None¶
cli.contributing.network.diagnose.tools module¶
Detect the host distro and self-install the binaries the diagnose probes need.
- cli.contributing.network.diagnose.tools.detect_distro_id(*, os_release_path: str = '/etc/os-release') str¶
Return the distro id from /etc/os-release, lowercased; empty string when unreadable.
- cli.contributing.network.diagnose.tools.ensure_tools() None¶
Install the missing TOOLS via the distro’s package manager, when possible.
- cli.contributing.network.diagnose.tools.missing_tools() list[str]¶