• Stars
    star
    136
  • Rank 266,188 (Top 6 %)
  • Language
    Python
  • License
    MIT License
  • Created over 2 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Cross-seed matching and torrent lifecycle tool

Autotorrent2

Test result

Match torrents and data, remove torrents based on data, cleanup your disk for unseeded files. Autotorrent2 does everything you currently miss in your flow.

Supported

  • Torrent clients: rtorrent, Deluge, Transmission and qBittorrent
  • OS: Any, but only tested on linux
  • Python: 3.7+ are the only tested versions, might work with lower 3.x.

Quickstart guide

Install Autotorrent2

python3 -m venv ~/.autotorrent # Create virtual environment where we install autotorrent2
~/.autotorrent/bin/pip install autotorrent2 # Actually install autotorrent2

# Optional, add at2 to your commandline
echo "alias at2=~/.autotorrent/bin/at2" >> ~/.bashrc
source ~/.bashrc

The first time Autotorrent2 is run without a known config file, it will create a base config file.

at2 check-config

The default location is ~/.config/autotorrent/config.toml - edit it to match your setup. See the example configuration file for setting description found here.

Test the connections and see if it can connect to all your configured clients.

at2 test-connection

Now you are ready to actually use it, check out the Usage page for fun things to do and CLI page for featurelist

Note about running autotorrent2 in a script

It can be fun to run scripts automatically and see cross-seeding just happen. Autotorrent2 is not really designed for multiple instances at once so it is recommenced to use a lock to prevent this.

Instead of just at2 then use e.g. flock ~/.autotorrent.lock -c 'at2' which prevents multiple instances of Autototrrent2 at once.

Note about Docker

If you use Autotorrent2 in a docker container or with a torrent client running in docker then the recommendation is to align the paths. If your torrent data is located in /mnt/data outside docker then you should map it similarly inside the docker container and you will save yourself from a lot of headaches.

Personally I recommend mounting your data source as read-only because bittorrent clients are write-happy that might corrupt your data.

Todo

Assortment of stuff that is planned.

  • When Autotorrent2 is working on a task, e.g. copying a file to cache, then it might look like as it is stalled. An indicator should be added.
  • Client normalization indexing, e.g. index based on how transmission and qbittorrent handles problematic filenames
  • Torrent discovery for a torrent site.

Known bugs

Assortment of stuff I am not sure I can do much about.

  • Transmission (3.x) does not parse all emojis correctly and will return the wrong filename

License

MIT

More Repositories

1

autotorrent

Matches torrents with files and gets them seeded
Python
270
star
2

deluge-streaming

Streaming plugin for deluge, making it possible to read torrents and download required parts on-demand.
Python
138
star
3

deluge-client

A very lightweight pure-python Deluge RPC Client
Python
87
star
4

magnet2torrent

Turn a bittorrent magnet link into a .torrent file
Python
62
star
5

spreadsheetui

A spreadsheet-like UI for your torrent clients.
Python
50
star
6

flexget-cross-seed

Get torrents for data you already have locally
Python
15
star
7

imdbparser

Basic IMDB Parser with a nice MIT license
Python
14
star
8

txasgiresource

Implementation of the ASGI application standard as a Twisted Resource
Python
11
star
9

pyrfc6266

Implementation of content-disposition header parsing without LEPL (rfc6266)
Python
11
star
10

rippy

Scrape websites using Chrome
Python
10
star
11

libtc

Bittorrent client abstraction to easily integrate a variety of clients.
Python
9
star
12

the-cute-collection

A list of audio/video based subtitle tools for syncing and alike.
Python
8
star
13

kodi-deluge-streaming

Stream torrents from Deluge directly in Kodi
Python
8
star
14

rtorrent-automover

Moves complete torrents automagically for rtorrent.
Python
7
star
15

malparser

MyAnimeList Parser
Python
5
star
16

rip-avgle

DEPRECATED - See https://github.com/JohnDoee/rippy
Python
5
star
17

StreamProtocol

Making stream links clickable and streamable
C#
4
star
18

pylev2

Levenshtein distance library for Python
C
3
star
19

wampyre

WAMP Router in Python made for embedded situations
Python
2
star
20

TimeoutThreadPoolExecutor

Backported ThreadPoolExecutor that also cleans up unused threads
Python
2
star
21

unplugged

A pluginsystem for Django and Twisted
Python
2
star
22

tidalstream-recoder

Reencodes files real-time and outputs a stream compatible with.... whatever
Python
1
star
23

rippy-webinterface

TypeScript
1
star
24

web-parsers

Parsing various websites for their delicious data and lack of API
HTML
1
star
25

rippy-docker

Python
1
star
26

grepmx

Grep emails in a file based on their MX
Python
1
star
27

spreadsheetui-webinterface

Webinterface for Spreadsheet UI
TypeScript
1
star
28

tidalstream.org

TidalStream website
CSS
1
star
29

thomas

Thomas allows parallel http downloads and is an alternative to Axel (and other stuff!)
Python
1
star
30

tidalstream-webinterface

Webinterface for TidalStream API Server
CoffeeScript
1
star