I'm using mktorrent, but I'm having problems with it since it doesn't hash the files in the directory for some weird reason...
I'm looking for a replacement specifically for command line
I'm using mktorrent, but I'm having problems with it since it doesn't hash the files in the directory for some weird reason...
I'm looking for a replacement specifically for command line
How about ctorrent
?
sudo apt-get install ctorrent
ctorrent -t -u "http://tracker.example.com:6969/announce" -s example.torrent file_or_dir_to_upload
Transmission can do it:
$ ./transmission-create --help
Usage: transmission-create [options] <file|directory>
Options:
-h --help Display this help page and exit
-p --private Allow this torrent to only be used with the specified tracker(s)
-o --outfile <file> Save the generated .torrent to this filename
-c --comment <comment> Add a comment
-t --tracker <url> Add a tracker's announce URL
-V --version Show version number and exit
an example could be:
transmission-create -o /var/lib/transmission-daemon/downloads/files.torrent -c "My comments" -t udp://tracker.openbittorrent.com:80 ~/torrent/complete/my_file_or_directory_to_share.extension
you can find more documentation here
Buildtorrent
sudo apt-get install buildtorrent
From synaptic:
Description: command line torrent creation program
buildtorrent is a torrent file creation program. Given an announce url and an input file or directory, buildtorrent generates an output .torrent file that can be used by torrent clients.
Description:
Create torrents via command line!
py3createtorrent is a comprehensive shell/commandline utility for creating torrents (Linux & Windows). It's a GPL-licensed Python v3.1 script.
You can use torrenttools
.
sudo add-apt-repository ppa:fbdtemme/torrenttools
sudo apt-get update
sudo apt install torrenttools
Create BitTorrent metafiles.
Usage: torrenttools create [OPTIONS] target
Positionals:
target <path> Target filename or directory
Options:
-h,--help Print this help message and exit
-v,--protocol <protocol> Set the bittorrent protocol to use.
Options are 1, 2 or hybrid. [default: 1]
-o,--output <path> Set the filename and/or output directory of the created file.
[default: <name>.torrent]
Use a path with trailing slash to only set the output directory.
-a,--announce <url>... Add one or multiple announces urls.
Multiple trackers will be added in seperate tiers by default.
Use square brackets to groups urls in a single tier:
eg. "--announce url1 [url1 url2]"
-g,--announce-group <name>... Add the announce-urls defined from an announce group specified in the configuration file.
Multiple groups can be passed. eg. "--announce-group group1 group2"
-w,--web-seed <url>... Add one or multiple HTTP/FTP urls as seeds.
-d,--dht-node <host:port>... Add one or multiple DHT nodes.
-c,--comment <string> Add a comment.
-p,--private <[on|off]> Set the private flag to disable DHT and PEX.
-l,--piece-size <size[K|M]> Set the piece size.
When no unit is specified block size will be either 2^<n> bytes,
or <n> bytes if n is larger or equal to 16384.
Piece size must be a power of two in range [16K, 64M].
Leave empty or set to auto to determine by total file size. [default: auto]
-s,--source <source> Add a source tag to facilitate cross-seeding.
-n,--name <name> Set the name of the torrent. This changes the filename for single file torrents
or the root directory name for multi-file torrents.
[default: <basename of target>]
-t,--threads <n> Set the number of threads to use for hashing pieces. [default: 2]
--checksum <algorithm>... Include a per file checksum of given algorithm.
--no-creation-date Do not include the creation date.
--creation-date <ISO-8601|POSIX time>
Override the value of the creation date field as ISO-8601 time or POSIX time.
eg.: "2021-01-22T18:21:46+0100"
--no-created-by Do not include the name and version of this program.
--created-by <string> Override the value of the created by field.
--include <regex>... Only add files matching given regex to the metafile.
--exclude <regex>... Do not add files matching given regex to the metafile.
--include-hidden Do not skip hidden files.
--io-block-size <size[K|M]> The size of blocks read from storage.
Must be larger or equal to the piece size.
Disclaimer: I am the author of this tool.
See the documentation for more information and examples.