typebit 0.1.0

TypeBit: a no_std universal download engine for torrent (v1/v2, DHT, PEX, web seeds), eD2k/eMule, Xunlei, FlashGet, QQDL, IPFS, Kad and direct HTTP(S)/FTP, with provable-download receipts and a semantic utility scheduler.
Documentation
# TypeBit Wiki


Welcome. This wiki is the operator's manual for the TypeBit download-engine
core. The README tells you *what* it is; this tells you *how to drive it*.

## Pages


- **[Getting Started]Getting-Started** — add the crate, parse links, run an engine
- **[Implementing a Host]Implementing-a-Host** — the one interface you must write
- **[Supported Formats]Supported-Formats** — every link format and its caveats
- **[Architecture]Architecture** — module map and data flow
- **[中文首页]Home-zh-CN** — 中文入口

## The 30-second mental model


```
your app (UI, Kotlin/Swift/...)
        │  calls
        ▼
┌─────────────────────────────────────────────┐
│  typebit::Engine  (session + DHT + cache)   │
│  └─ typebit::session::TorrentSession        │
│  └─ typebit::dht::Dht                       │
│  └─ typebit::disk_cache::DiskCache          │
└─────────────────────────────────────────────┘
        │  calls (every tick, on your thread)
        ▼
typebit::Host  ◄── YOU IMPLEMENT THIS
   (sockets, files, clock, RNG)
```

The engine never touches the OS. It asks `Host` for everything: connect a
socket, read a file, give me the time, fill this buffer with entropy. Your
job is a boring, well-tested implementation of `Host`. Everything clever
(piece picking, DHT, receipts, disk cache) lives in the engine.

Run `cargo run --example minimal_host` for a complete working `Host`
implementation (in-memory) driving a real engine.

## License reminder


TypeBit is AGPL-3.0. If you run a modified version as a network service, the
AGPL requires you to offer its source to that network's users. See LICENSE.