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 command line interface for creating, reviewing, editing, or verifying bittorrent meta files (.torrent files). torrentfile is open source, and supports all versions of Bittorrent files, including hybrid meta files. The code base is also importable and can easily be used as a library for creating or manipulating torrent files in external projects. Documentation is available at https://alexpdev.github.io/torrentfile.

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

PyPi:

pip install torrentfile

Git:

git clone https://github.com/alexpdev/torrentfile.git
cd torrentfile
pip install .

Download pre-compiled binaries from the release page.

📚 Documentation

torrentfile documentation available at https://alexpdev.github.io/torrentfile

🚀 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 that are meaningful and add value to the project are welcome.


Usage Examples

Creating Bittorrent Files

Creating a basic torrent file is as easy as using the create subcommand with the path to the torrent file.

torrentfile create /path/to/content

You can add one or more trackers by using any one of -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 create /path/to/content --prog 0

torrentfile extracts the name of the contents top level file or directory
and saves the torrent 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 path to the preferred destination.

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

If the path specified is an existing directory, then the torrent file will be saved to that directory, with same filename as the default top level path name.

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

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

torrentfile creates Bittorrent v1 files by default. To create a V2 or hybrid (v1 and v2) torrent file, use the --meta-version option followed by the preferred version number option. The 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 

torrentfile includes the option to command line flags for the create sub-command from an ini style configuration file, by using the --config and optional --config-path options to specify the path to the configuration file. If --config-path is ommited, then torrentfile will look by default in the current working directory for a file named torrentfile.ini. If the file is not discovered in the current working directory, it will move on to look ~/.torrentfile/torrentfile.ini followed by ~/.config/torrentfile.ini. Please see the documentation for more details on how the configuration file should be formatted.

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 --announce and specify the value you wish to change it to.

torrentfile edit /path/to/content --announce 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 with the path to the torrent file.

torrentfile magnet /path/to/some.torrent

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.9.2.tar.gz (395.7 kB view details)

Uploaded Source

Built Distribution

torrentfile-0.9.2-py3-none-any.whl (51.7 kB view details)

Uploaded Python 3

File details

Details for the file torrentfile-0.9.2.tar.gz.

File metadata

  • Download URL: torrentfile-0.9.2.tar.gz
  • Upload date:
  • Size: 395.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for torrentfile-0.9.2.tar.gz
Algorithm Hash digest
SHA256 f74aea1b1b4b3fdfb3af8806eb17c858b5c527127354f829db9cbe2023a00b38
MD5 d62ebad07fb62223f1375c9b62579240
BLAKE2b-256 ec236e3399dc8965cca7da2073bce66ba58a5ff656c7cb90a2201da0138642a0

See more details on using hashes here.

File details

Details for the file torrentfile-0.9.2-py3-none-any.whl.

File metadata

  • Download URL: torrentfile-0.9.2-py3-none-any.whl
  • Upload date:
  • Size: 51.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.11

File hashes

Hashes for torrentfile-0.9.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0ac9cc3eafa870e6b1e8f2b4ee7fabcadba5d89952308ec698eea579b9f1e88a
MD5 990a2faba303bee5e17723b84a85076e
BLAKE2b-256 106ebcdfc144a112e67c784ff1fa683b9500bf5ed61ee89072b0f53d3e2362e0

See more details on using hashes here.

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