Terminal based command line tool for creating Bittorrent files.
Project description
TorrentFile
🌐 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
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
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 --quiet create /path/to/content
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/
Bittorrent protocol V1 is still the most commonly used version, therefore torrentfile
creates
Bittorrent version 1 torrent files by default. To specify creating a V2 file or hybrid (v1 and v2)
use the --meta-version
followed by the specific version number format to use. 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
now includes the option to command line flags for thecreate
sub-command from anini
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, thentorrentfile
will look by default in the current working directory for a file namedtorrentfile.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
or m
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for torrentfile-0.9.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 03d9e4c76041c213e976d9f523c3950503346ff02875a19162ac607d2530ef83 |
|
MD5 | a7b5499acfa0ae3b6867ab5ef223f458 |
|
BLAKE2b-256 | f0db7e3ee42a42319406ed53dc6e8b2c5b2100059c2d6beb6259bd387db336a7 |