All Projects β†’ nning β†’ Transmission Rss

nning / Transmission Rss

Licence: gpl-3.0
Adds torrents from RSS feeds to Transmission web frontend

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Transmission Rss

Torque
πŸš‚ A TUI client for transmission written in pure bash.
Stars: ✭ 169 (-51.44%)
Mutual labels:  torrent, transmission
transmitter
A WebExtension for the Transmission BitTorrent client
Stars: ✭ 72 (-79.31%)
Mutual labels:  torrent, transmission
Tremc
Curses interface for transmission
Stars: ✭ 174 (-50%)
Mutual labels:  torrent, transmission
Transmission Blocklist
torrent blocklist base on : https://gist.github.com/shmup/29566c5268569069c256
Stars: ✭ 109 (-68.68%)
Mutual labels:  torrent, transmission
tdpt
Torrent downloading progress on Telegram
Stars: ✭ 32 (-90.8%)
Mutual labels:  torrent, transmission
React Transmission
React Transmission is an ongoing reimplementation of Transmission web interface.
Stars: ✭ 126 (-63.79%)
Mutual labels:  torrent, transmission
Docker Transmission Openvpn
Docker container running Transmission torrent client with WebUI over an OpenVPN tunnel
Stars: ✭ 2,748 (+689.66%)
Mutual labels:  torrent, transmission
Teletor
Telegram Torrents Bot
Stars: ✭ 54 (-84.48%)
Mutual labels:  torrent, transmission
SeedTruck
Torrent management app for iOS, macOS, tvOS and watchOS made in SwiftUI 2. Same codebase for all platforms!
Stars: ✭ 25 (-92.82%)
Mutual labels:  torrent, transmission
exatorrent
Easy to Use Torrent Client. Can be hosted in Cloud. Files can be streamed in Browser/Media Player.
Stars: ✭ 1,557 (+347.41%)
Mutual labels:  torrent, transmission
Betanin
beets based mitm of your torrent client and music player
Stars: ✭ 101 (-70.98%)
Mutual labels:  torrent, transmission
transmission-cli
Transmission PHP client for detect profit torrents and automate weburg.net downloads
Stars: ✭ 17 (-95.11%)
Mutual labels:  torrent, transmission
Fragments
Moved to GNOME GitLab -> https://gitlab.gnome.org/haecker-felix/Fragments
Stars: ✭ 80 (-77.01%)
Mutual labels:  torrent, transmission
Pia Tools
Shell script to automate privateinternetaccess port forwarding and starting/stopping transmission when connected/disconnected and other stuff
Stars: ✭ 130 (-62.64%)
Mutual labels:  torrent, transmission
Torrt
Automates torrent updates for you
Stars: ✭ 73 (-79.02%)
Mutual labels:  torrent, transmission
Transgui
🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
Stars: ✭ 2,488 (+614.94%)
Mutual labels:  torrent, transmission
Monitorrent
Automatic torrents downloader
Stars: ✭ 383 (+10.06%)
Mutual labels:  torrent, transmission
Electorrent
A remote control client for Β΅Torrent, qBittorrent, rTorrent, Transmission, Synology & Deluge
Stars: ✭ 582 (+67.24%)
Mutual labels:  torrent, transmission
docker-transmission-skip-hash-check
Transmission client with skip hash check and other features
Stars: ✭ 25 (-92.82%)
Mutual labels:  torrent, transmission
Flood Mobile
GSoC 21' @CCExtractor. A modern mobile UI for various torrent clients with a Node.js backend and Flutter frontend.
Stars: ✭ 48 (-86.21%)
Mutual labels:  torrent, transmission

transmission-rss

Gem Version Build Status Coverage Status Code Climate Docker Hub Build Status

transmission-rss is basically a workaround for transmission's lack of the ability to monitor RSS feeds and automatically add enclosed torrent links.

It works with transmission-daemon and transmission-gtk (if the web frontend is enabled in the settings dialog). Sites like showrss.karmorra.info and ezrss.it or self-hosted seriesly instances are suited well as feed sources.

A tool called transmission-add-file is also included for mass adding of torrent files.

As it's done with poems, I devote this very artful and romantic piece of code to the single most delightful human being: Ann.

The minimum supported Ruby version is 2.1. (You will need rbenv if your os does not support Ruby >= 2.1, e.g. on Debian wheezy.)

Note, that this README is for the current development branch! You can find a link to a suitable README for your version on the releases page.

Installation

Latest stable version from rubygems.org

gem install transmission-rss

From source

git clone https://github.com/nning/transmission-rss
cd transmission-rss
bundle
gem build transmission-rss.gemspec
gem install transmission-rss-*.gem

Via Docker

docker run -t \
  -v $(pwd)/transmission-rss.conf:/etc/transmission-rss.conf \
  nning2/transmission-rss:v1.0.0

Configuration

A yaml formatted config file is expected at /etc/transmission-rss.conf. Users can override some options for their transmission-rss instances by providing a config at ~/.config/transmission-rss/config.yml (or in $XDG_CONFIG_HOME instead of ~/.config).

WARNING: If you want to override a nested option like log.target you also have to explicitly specify the others like log.level. (True for categories server, login, log, privileges, and client.)

Minimal example

It should at least contain a list of feeds:

feeds:
  - url: http://example.com/feed1
  - url: http://example.com/feed2

Feed item titles can be filtered by a regular expression:

feeds:
  - url: http://example.com/feed1
    regexp: foo
  - url: http://example.com/feed2
    regexp: (foo|bar)

Feeds can also be configured to download files to specific directory:

feeds:
  - url: http://example.com/feed1
    download_path: /home/user/Downloads

Setting the seed ratio limit is supported per feed:

feeds:
  - url: http://example.com/feed1
    seed_ratio_limit: 0

Configurable certificate validation, good for self-signed certificates. Default is true:

feeds:
  - url: http://example.com/feed1
    validate_cert: false

All available options

The following configuration file example contains every existing option (although update_interval, add_paused, server, log, fork, single, and pid_file are default values and could be omitted). The default log.target is STDERR. privileges is not defined by default, so the script runs as current user/group. login is also not defined by default. It has to be defined, if transmission is configured for HTTP basic authentication.

See ./transmission-rss.conf.example for more documentation.

feeds:
  - url: http://example.com/feed1
  - url: http://example.com/feed2
  - url: http://example.com/feed3
    regexp: match1
  - url: http://example.com/feed4
    regexp: (match1|match2)
  - url: http://example.com/feed5
    download_path: /home/user/Downloads
  - url: http://example.com/feed6
    seed_ratio_limit: 1
  - url: http://example.com/feed7
    regexp:
      - match1
      - match2
  - url: http://example.com/feed8
    regexp:
      - matcher: match1
        download_path: /home/user/match1
      - matcher: match2
        download_path: /home/user/match2
  - url: http://example.com/feed9
    validate_cert: false

update_interval: 600

add_paused: false

server:
  host: localhost
  port: 9091
  tls: false
  rpc_path: /transmission/rpc

login:
  username: transmission
  password: transmission

log:
  target: /var/log/transmissiond-rss.log
  level: debug

privileges:
  user: nobody
  group: nobody

client:
  timeout: 5

fork: false

single: false

pid_file: false

seen_file: ~/.config/transmission/seen

Daemonized Startup

As a systemd service

The following content can be saved into /etc/systemd/system/transmission-rss.service to create a systemd unit. Remember checking the path in ExecStart.

[Unit]
Description=Transmission RSS daemon.
After=network.target transmission-daemon.service

[Service]
Type=forking
ExecStart=/usr/local/bin/transmission-rss -f
ExecReload=/bin/kill -s HUP $MAINPID

[Install]
WantedBy=multi-user.target

The unit files are reloaded by systemctl daemon-reload. You can then start transmission-rss by running systemctl start transmission-rss. Starting on boot, can be enabled systemctl enable transmission-rss.

As a cronjob

transmission-rss can also be started in a single run mode, in which it runs a single loop and then exits. To do so, transmission-rss needs to be started with the -s flag. An example crontab line for running every 10 minutes can be:

*/10 * * * * /usr/local/bin/transmission-rss -s

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].