- Switch to my branch of indicatif on github
- Use binary braille spinner
- Use fine-grained progress bar
- Improve template formatting
- Use SI units for bytes/s
type: changed
The torrent summary is large, and makes it easy to miss the create
progress bar and messages. Only show summary if the user passes
`--show` / `-S` to `imdl torrent create`.
type: changed
- Use lowercase table names when priting to terminal
- Use `Creation Date` instead of `Created`, to make it
distinct from the `Created` field
type: changed
The book should eventually contain all documentation that isn't suitable
for the readme or help text.
For now it's empty, but it seemed useful to add the scaffolding, so
adding to it is low friction.
type: documentation
- Format with nightly rustfmt
- Enable unstable options in rustfmt.toml
- Turn off git text file detection, so newlines are always unix newlines
type: reform
The --dht-node flag can be used to add DHT bootstrap nodes to new torrents.
This is the only piece of metainfo-related functionality in BEP 5, so we can mark BEP
5 as implemented.
type: added
Adds the command `imdl` torrent verify` to verify the contents of torrents.
This implementation is extremely naive. It does successfully verify torrents,
but it will produce unsatisfying results when a torrent fails verification. In
particular, it won't give any information about which pieces in a file were
corrupt.
type: added
Display the contents of torrents as tree of files when showing torrents
with `imdl torrent show` and after `imdl torrent create`.
The formatting and structure of the code was lifted entirely from torf.
type: added
To include only files that match a glob, pass `--glob GLOB`. To exclude
files that match a glob, pass `--glob GLOB`. Multiple globs may be
passed, with later globs taking precedence over earlier ones.
type: added
By default, skip the following when creating a torrent:
- Junk files, like `Thumbs.db`
- Files and directories that begin with a `.`
- Files and directories that have the OS or Windows hidden attribute set
- Symlinks
These can be overridden with, respectively:
- `--include-junk`
- `--include-hidden`
- `--include-hidden`
- `--follow-symlinks`
type: changed
When no piece length is provided to imdl torrent create, a piece
length is selected based on the size of the input. The hueristic is
lifted directly from libtorrent.
Also adds a imdl torrent piece-length command, which prints a table
of the piece lengths chosen at different content sizes, which is useful
for understanding and debugging the piece length selection algorithm.
type: added
Support adding a `source` key under the `info` dictionary. The `source`
key is commonly used to create distinct torrents for different trackers.
type: added
The `imdl torrent show` command displays information about on-disk
torrent files. The formatting of the command's output is copied from
torf, an excellent command-line torrent creator, editor, and viewer.
type: added
- Must be greater than zero
- Must be a power of two (but can override with `--allow uneven-piece-length`
- Must be greater than 16KiB (but can override with `--allow small-piece-length`
- Must be less than u32 max
type: changed
Nits with bors:
- Replaced my name with my username
- Doesn't show merge requests as merged
- Adds "merged by bors" to PRs
- Generates tons of spam
- Doesn't sign commits
- Creates tons of spam CI runs
type: development