30 lines
766 B
Markdown
30 lines
766 B
Markdown
# 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.
|