# Ztorrent Minimal BitTorrent client skeleton in Go. ## Run ```bash go run ./cmd/torrent-client ``` App starts a native desktop GUI window. ## Current features - Parse `.torrent` metadata and piece hashes - Compute `info_hash` from raw `info` bytes (spec-compatible) - Single-file and multi-file torrents - Send tracker announce requests via HTTP(S) and UDP trackers - Parse compact peer list - Multi-tracker fallback (including public trackers) - Native GUI for loading torrents by path and browsing files - Show tracker states, discovered peers, and torrent file list in the GUI ## Build (macOS/Linux/Windows) ```bash ./scripts/build-all.sh ``` Note: for non-host targets with native GUI, cross C toolchains are required; unsupported targets are skipped.