Skip to main content

Terminal based command line tool for creating Bittorrent files.

Project description

TorrentFile

torrentfile


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

🌐 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.6+
  • Tested on Linux, Windows and Mac

💻 Install

via PyPi:

pip install torrentfile

via Git:

git clone https://github.com/alexpdev/torrentfile.git
cd torrentfile
pip 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 the codebase between releases.

🚀 Usage

Basic Usage

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

📝 License

Apache Software License v2.0 - See LICENSE

💡 Issues & Requests & PRs

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

PRs and other contributions are welcome

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


Usage Examples

Creating Bittorrent Files

Basic torrent file creation is as easy and using the create sub-commnand and providing
the path to the contents.

torrentfile create /path/to/content

You can add one or more trackers by using any one of -t, --tracker, -a, --announce flags and listing their URL as a space separated list.

torrentfile create /path/to/content -a http://tracker1.com http://tracker2.net

If you intend to distribute the file on a private tracker then you should use one
of -p, --private flags, which tells your Bittorrent clients to disable DHT and
multitracker protocols.

torrentfile create /path/to/content --private

By default torrentfile displays a progress bar indicating how much of the content
has already been processed. To turn off this display you can either use --quiet mode in
as a global flag or you can set the --prog flag to 0.

torrentfile --quiet create /path/to/content
torrentfile create /path/to/content --prog 0

torrentfile automatically extracts the name of the file or directory
if the content and saves the file to the current working directory with the extracted title.

For example running the follwing command would create ./content.torrent.

torrentfile create /path/to/content

To specify an alternative path or filename you may use the -o, --out flags
followed by the relative or absolute path to your preferred output location.

torrentfile create /path/to/content -o /some/other/path/torrent.torrent

If the path you specified with the -o flag already exists and is a directory,
then torrentfile will save the output to that directory with the default extracted title.

For example the following command would create a Bittorrent file at /some/other/path/content.torrent.

torrentfile create /path/to/content -o /some/other/path/

Bittorrent V1 is still the most common version of torrent files and the most widely accepted,
therefore by default torrentfile uses the version 1 format. However if you are using a modern Bittorrent client and tracker then you may wish to use the newest version Bittorrent V2 or a combination of the two. To do this simply use the --meta-version flag with the appropriate
version. Options include 1(v1 default), 2(v2), or 3(v1 & v2).

torrentfile create /path/to/content --meta-version 2
torrentfile create /path/to/content --meta-version 3 

Check/Recheck Torrent

The recheck subcommand allows you to scan a Bittorrent file and compare it's contents, against a file or directory containing the contents the torrent file was created from. The output provided by this process gives a detailed perspective if any files are missing or have been corrupted in any way. Supports any version of Bittorrent file.

torrentfile recheck /path/to/some.torrent /path/to/content

Edit Torrent

To edit specific fields of the torrent file, there is the edit subcommand. Using this subcommand you can specify the field with one of the available field flags, for example --tracker and specify the value you wish to change it to.

torrentfile edit /path/to/content --tracker https://new.tracker.url1.com  https://newtracker.url/2

You can use the -h flag for a full list of available fields that can be edited.

torrentfile edit -h

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

Interactive Mode (expiremental)

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. Use the -i or --interactive flags to activate interactive mode.

torrentfile -i

GUI

If you prefer a windowed GUI please check out the official GUI frontend here

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.8.3.tar.gz (284.9 kB view hashes)

Uploaded Source

Built Distributions

torrentfile-0.8.3-py3.10.egg (61.9 kB view hashes)

Uploaded Source

torrentfile-0.8.3-py3-none-any.whl (66.8 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