{"id":13610424,"url":"https://github.com/nning/transmission-rss","last_synced_at":"2025-05-15T20:05:11.383Z","repository":{"id":38422442,"uuid":"13700379","full_name":"nning/transmission-rss","owner":"nning","description":"Adds torrents from RSS feeds to Transmission web frontend","archived":false,"fork":false,"pushed_at":"2024-04-13T16:23:18.000Z","size":282,"stargazers_count":429,"open_issues_count":32,"forks_count":49,"subscribers_count":20,"default_branch":"main","last_synced_at":"2024-04-14T05:37:34.472Z","etag":null,"topics":["feed","ruby","torrent","torrent-management","torrentbox","transmission"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-19T11:51:36.000Z","updated_at":"2024-04-26T17:58:08.686Z","dependencies_parsed_at":"2024-04-04T17:50:11.379Z","dependency_job_id":"e2958906-28e4-430e-98d0-cace87493d11","html_url":"https://github.com/nning/transmission-rss","commit_stats":{"total_commits":244,"total_committers":16,"mean_commits":15.25,"dds":0.4877049180327869,"last_synced_commit":"d0e572776af396ec613e4cdebce4239e28ca72d8"},"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nning%2Ftransmission-rss","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nning%2Ftransmission-rss/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nning%2Ftransmission-rss/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nning%2Ftransmission-rss/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nning","download_url":"https://codeload.github.com/nning/transmission-rss/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254414499,"owners_count":22067272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["feed","ruby","torrent","torrent-management","torrentbox","transmission"],"created_at":"2024-08-01T19:01:44.580Z","updated_at":"2025-05-15T20:05:03.978Z","avatar_url":"https://github.com/nning.png","language":"Ruby","funding_links":[],"categories":["Ruby","Go"],"sub_categories":[],"readme":"transmission-rss\n================\n\n[![Gem Version](https://img.shields.io/gem/v/transmission-rss.svg)](http://badge.fury.io/rb/transmission-rss)\n[![Build Status](https://img.shields.io/travis/nning/transmission-rss/master.svg)](https://travis-ci.org/nning/transmission-rss)\n[![Coverage Status](https://img.shields.io/coveralls/nning/transmission-rss/master.svg)](https://coveralls.io/r/nning/transmission-rss)\n[![Code Climate](https://img.shields.io/codeclimate/maintainability/nning/transmission-rss.svg)](https://codeclimate.com/github/nning/transmission-rss)\n[![Docker Hub Build Status](https://img.shields.io/docker/build/nning2/transmission-rss.svg)](https://hub.docker.com/r/nning2/transmission-rss/)\n\ntransmission-rss is basically a workaround for transmission's lack of the\nability to monitor RSS feeds and automatically add enclosed torrent links.\n\nIt works with transmission-daemon and transmission-gtk (if the web frontend\nis enabled in the settings dialog). Sites like showrss.karmorra.info and\nezrss.it or self-hosted seriesly instances are suited well as feed sources.\n\nA tool called transmission-add-file is also included for mass adding of\ntorrent files.\n\nAs it's done with poems, I devote this very artful and romantic piece of\ncode to the single most delightful human being: Ann.\n\nThe minimum supported Ruby version is 2.1. (You will need `rbenv` if your\nos does not support Ruby \u003e= 2.1, e.g. on Debian wheezy.)\n\n**Note, that this README is for the current development branch!** You can find\na link to a suitable README for your version\n[on the releases page](https://github.com/nning/transmission-rss/releases).\n\nInstallation\n------------\n\n### Latest stable version from rubygems.org\n\n```sh\ngem install transmission-rss\n```\n\n### From source\n\n```sh\ngit clone https://github.com/nning/transmission-rss\ncd transmission-rss\nbundle\ngem build transmission-rss.gemspec\ngem install transmission-rss-*.gem\n```\n\n### Via Docker\n\n```sh\ndocker run -t \\\n  -v $(pwd)/transmission-rss.conf:/etc/transmission-rss.conf \\\n  nning2/transmission-rss:v1.2.1\n```\n\nConfiguration\n-------------\n\nA yaml formatted config file is expected at `/etc/transmission-rss.conf`. Users\ncan override some options for their transmission-rss instances by providing a\nconfig at `~/.config/transmission-rss/config.yml` (or in `$XDG_CONFIG_HOME`\ninstead of `~/.config`).\n\n**WARNING:** If you want to override a nested option like `log.target` you also\nhave to explicitly specify the others like `log.level`. (True for categories\n`server`, `login`, `log`, `privileges`, and `client`.)\n\n### Minimal example\n\nIt should at least contain a list of feeds:\n\n```yaml\nfeeds:\n  - url: http://example.com/feed1\n  - url: http://example.com/feed2\n```\n\nFeed item titles can be filtered by a regular expression:\n\n```yaml\nfeeds:\n  - url: http://example.com/feed1\n    regexp: foo\n  - url: http://example.com/feed2\n    regexp: (foo|bar)\n```\n\nFeeds can also be configured to download files to specific directory:\n\n\n```yaml\nfeeds:\n  - url: http://example.com/feed1\n    download_path: /home/user/Downloads\n```\n\nSetting the seed ratio limit is supported per feed:\n\n\n```yaml\nfeeds:\n  - url: http://example.com/feed1\n    seed_ratio_limit: 0\n```\n\nConfigurable certificate validation, good for self-signed certificates. Default\nis true:\n\n\n```yaml\nfeeds:\n  - url: http://example.com/feed1\n    validate_cert: false\n```\n\nUsing the GUID instead of the link for tracking seen torrents is also available,\nuseful for changing URLs such as Prowlarr's proxy links. Default is false:\n\n```yaml\nfeeds:\n  - url: http://example.com/feed1\n    seen_by_guid: true\n```\n\n### All available options\n\nThe following configuration file example contains every existing option\n(although `update_interval`, `add_paused`, `server`, `log`, `fork`, `single`, and\n`pid_file` are default values and could be omitted). The default `log.target` is\nSTDERR. `privileges` is not defined by default, so the script runs as current\nuser/group. `login` is also not defined by default. It has to be defined, if\ntransmission is configured for HTTP basic authentication.\n\nSee `./transmission-rss.conf.example` for more documentation.\n\n\n```yaml\nfeeds:\n  - url: http://example.com/feed1\n  - url: http://example.com/feed2\n  - url: http://example.com/feed3\n    regexp: match1\n  - url: http://example.com/feed4\n    regexp: (match1|match2)\n  - url: http://example.com/feed5\n    download_path: /home/user/Downloads\n    delay_time: 2\n  - url: http://example.com/feed6\n    seed_ratio_limit: 1\n  - url: http://example.com/feed7\n    regexp:\n      - match1\n      - match2\n  - url: http://example.com/feed8\n    regexp:\n      - matcher: match1\n        download_path: /home/user/match1\n      - matcher: match2\n        download_path: /home/user/match2\n  - url: http://example.com/feed9\n    validate_cert: false\n    seen_by_guid: true\n\nupdate_interval: 600\n\nadd_paused: false\n\nserver:\n  host: localhost\n  port: 9091\n  tls: false\n  rpc_path: /transmission/rpc\n\nlogin:\n  username: transmission\n  password: transmission\n\nlog:\n  target: /var/log/transmissiond-rss.log\n  level: debug\n\nprivileges:\n  user: nobody\n  group: nobody\n\nclient:\n  timeout: 5\n\nfork: false\n\nsingle: false\n\npid_file: false\n\nseen_file: ~/.config/transmission/seen\n```\n\nDaemonized Startup\n------------------\n\n### As a systemd service\n\nThe following content can be saved into\n`/etc/systemd/system/transmission-rss.service` to create a systemd unit.\nRemember checking the path in `ExecStart`.\n\n```ini\n[Unit]\nDescription=Transmission RSS daemon.\nAfter=network.target transmission-daemon.service\n\n[Service]\nType=forking\nExecStart=/usr/local/bin/transmission-rss -f\nExecReload=/bin/kill -s HUP $MAINPID\n\n[Install]\nWantedBy=multi-user.target\n```\n\nThe unit files are reloaded by `systemctl daemon-reload`. You can then start\ntransmission-rss by running `systemctl start transmission-rss`. Starting on\nboot, can be enabled `systemctl enable transmission-rss`.\n\n### As a cronjob\n\n`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:\n\n`*/10 * * * * /usr/local/bin/transmission-rss -s`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnning%2Ftransmission-rss","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnning%2Ftransmission-rss","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnning%2Ftransmission-rss/lists"}