Skip to main content

Create Bittorent v1, v2 and hybrid meta files.

Project description

TorrentFile

torrentfile


Codacy Badge Codacy Badge GitHub repo size GitHub License PyPI - Downloads codecov CI DeepSource

🌐 Overview

A simple and convenient tool for creating, reviewing, editing, and/or validating bittorrent meta files (aka torrent files). torrentfile supports all versions of Bittorrent files, including hybrid meta files, and has full unicode support.

A GUI frontend for this project can be found at https://github.com/alexpdev/TorrentfileQt

🔌 Requirements

  • Python 3.7+
  • Tested on Linux and Windows and Mac

💻 Install

via PyPi:

pip install torrentfile

via Git:

git clone https://github.com/alexpdev/torrentfile.git
cd torrentfile
python setup.py install

Download pre-compiled binaries from the release page.

📚 Documentation

Documentation can be found here or in the docs directory.

torrentfile is under active development, and is subject to significant changes in
it's codebase between releases.

🚀 Usage

Usage
=====
   torrentfile [-h] [-i] [-V] [-v]
                   <create> <edit> <magnet> <recheck> ...

CLI Tool for creating, checking, editing... Bittorrent meta files. TorrentFile supports all versions of torrent files.

Options
-------
  -h, --help                          show this help message and exit
  -i, --interactive                   select program options interactively
  -V, --version                       show program version and exit
  -v, --verbose                       output debug information

Actions
-------
  <create> <edit> <magnet> <recheck>
    c (create, new)                   Create a torrent meta file.

    e (edit)                          Edit existing torrent meta file.

    m (magnet)                        Create magnet url from an existing Bittorrent meta file.

    r (recheck, check)                Calculate amount of torrent meta files content is found on disk.

    i (info)                          Show detailed information about a torrent file.

Usage examples can be found in the project documentation on the examples page.

📝 License

Distributed under the GNU LGPL v3. See LICENSE for more information.

💡 Issues

If you encounter any bugs or would like to request a new feature please open a new issue.

https://github.com/alexpdev/torrentfile/issues


⚙️ CLI Usage Examples

More examples can be found in the documentation.

Creating Torrents

Using the sub-command create or c TorrentFile can create a new torrent
from the contents of a file or directory path. The following examples illustrate
some of the options available for creating torrents (AKA meta files).

  • Create a torrent from any file or directory. example (/path/to/content)
  • by default the save path will be the content path with a ".torrent" extension. (/path/to/content.torrent)
  • by default torrents are created using bittorrent meta-version 1
torrentfile create /path/to/content
  • The -t or --tracker flag adds one or more urls to tracker list.
  • This flag will cause an error if the content path immediately follows it.

do this

torrentfile create /path/to/content --tracker http://tracker1.com

or this

torrentfile create -t http://tracker2 http://tracker3 --private /path/to/content

not this

torrentfile create --tracker http://tracker /path/to/content   #ERROR
torrentfile create -t http://tracker1 http://tracker2 /path/to/content #ERROR
  • the --private flag indicates use by a private tracker
  • the --source flag can be used to help with cross-seeding
torrentfile create --private --source /path/to/content --tracker https://tracker/url
  • to turn off the progress bar shown use --noprogress
  • this can improve the performance by a very small amount
torrentfile -t <url1> <url2> --noprogress ./content
  • to specify the save location use the -o or --out flags
torrentfile create -o /specific/path/name.torrent ./content
  • to create files using bittorrent v2 use --meta-version 2
  • likewise --meta-version 3 creates a hybrid torrent file.
torrentfile create --meta-version 2 /path/to/content
torrentfile create --meta-version 3 /path/to/content
  • to output a magnet URI for the created torrent file use --magnet
torrentfile create --t https://tracker1/annc https://tracker2/annc --magnet /path/to/content

Check/Recheck Torrent

Using the sub-command recheck or check or r you can check the percentage of a torrent
is saved to disk by comparing the the contents to a torrent metafile.

  • recheck torrent file /path/to/some.torrent with /path/to/content
  • enter the metafile path first then the content path (the order matters)
torrentfile recheck /path/to/some.torrent /path/to/content

Edit Torrent

Using the sub-command edit or e enables editting a pre-existing torrent file. The edit sub-command works the same as the create sub-command and accepts many of the same arguments.

Create Magnet

To create a magnet URI for a pre-existing torrent meta file, use the sub-command
magnet or m with the path to the torrent file.

torrentfile magnet /path/to/some.torrent

Torrent Details

If you are just trying to get the details of a particular torrent file, such as
the trackers it has been assigned, or the number of files it contains, use info or i.

torrentfile info /path/to/some.torrent

Interactive Mode

Alternatively to supplying a bunch of command line arguments, interactive mode allows users to specify program options one at a time from a series of prompts.

  • to activate interactive mode use -i or --interactive flag
torrentfile -i

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torrentfile-0.7.0.tar.gz (36.0 kB view hashes)

Uploaded Source

Built Distributions

torrentfile-0.7.0-py3.10.egg (32.7 kB view hashes)

Uploaded Source

torrentfile-0.7.0-py3-none-any.whl (36.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page