Commit Graph

14 Commits

Author SHA1 Message Date
Casey Rodarmor
1227628306
Use list of SHA1 digests for piece list
type: reform
2020-04-07 19:01:06 -07:00
Casey Rodarmor
9787344d9e
Fix torrent verify about message
type: fixed
2020-04-07 19:01:05 -07:00
Casey Rodarmor
165a7ea444
Support adding DHT bootstrap nodes to created torrents
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
2020-04-07 19:01:05 -07:00
Casey Rodarmor
6549850dac
Add initial implementation of imdl torrent verify
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
2020-04-07 19:01:05 -07:00
Casey Rodarmor
b0f449b6ae
Drop serde_bencode in favor of bendy
For now depend on my branch on Github, until serde support and the value
type land in the main repo.

type: reform
2020-04-07 19:01:05 -07:00
Casey Rodarmor
9b696f78a7
Don't display tier labels if tiers only contain a single entry
type: changed
2020-04-07 19:01:05 -07:00
Casey Rodarmor
f7e9e80f97
Show files in single-file mode
Since it may be useful for scripting purposes, show file list, even for
single-file torrents.

type: changed
2020-04-07 19:01:04 -07:00
Casey Rodarmor
43d87c06b6
Display torrent file tree
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
2020-04-07 19:01:04 -07:00
Casey Rodarmor
a574368ffc
Allow including and excluding files from torrent with globs
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
2020-04-07 19:01:04 -07:00
Casey Rodarmor
9158c230df
Skip hidden files, symlinks, and junk in created torrents
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
2020-04-07 19:01:04 -07:00
Casey Rodarmor
3739a92857
Support creating multi-file torrents
type: added
2020-04-07 19:01:04 -07:00
Casey Rodarmor
551617de4f
Don't overwrite destination torrent without --force
type: changed
2020-04-07 19:01:04 -07:00
Casey Rodarmor
df3326510c
Write torrent to stdout if - is passed to --output
type: added
2020-04-07 19:01:03 -07:00
Casey Rodarmor
5a1de1acd2
Select piece length when none is provided
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
2020-04-07 19:01:03 -07:00