[Plugin] YaRSS2 - RSS plugin with GTKUI support

Suggest, post, or discuss plugins for Deluge
shinger
Seeder
Seeder
Posts: 202
Joined: Sat Jun 05, 2010 1:02 pm

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by shinger »

ambipro wrote: Sat Aug 08, 2026 6:22 am You could just use a comprehension to do if the value is None then use a default value or a specified TTL in the options?
The weird thing is, it does contain a value (see the attachment) and that is the default value.

And yes i don't trust GUI's, so even here down below, cli, within the docker container.

Code: Select all

root@e73441ac7620:/config# grep -A17 rssfeeds yarss2.conf
"rssfeeds": {
"0": {
"active": true,
"etag": "",
"key": "0",
"last_modified": "",
"last_update": "2026-08-08T08:52:32+00:00",
"name": "Nyaa.si",
"obey_ttl": true,
"prefer_magnet": true,
"site": "nyaa.si",
"update_interval": 120,
"update_on_startup": false,
"url": "https://nyaa.si/?page=rss&q=subsplease\\\\",
"user_agent": "",
"verify_tls": true
}
},
Attachments
yarrs2-ttl.png
yarrs2-ttl.png (24.79 KiB) Viewed 841 times
===============================================================
Server: Rock 5B 8 Cores (ARM), 16 GB RAM, 2 TB 970 Evo +
OS: Linux Ubuntu 24.04 LTS
Deluge: v2.2.0
Plugins: Blocklist, LabelPlus, ItConfig, MyScheduler, Stats, Notifications, YaRSS2
shinger
Seeder
Seeder
Posts: 202
Joined: Sat Jun 05, 2010 1:02 pm

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by shinger »

OKe, interresting development.

This was the YaRSS2 doing its job automatically.

Code: Select all

18:53:20 [INFO] YaRSS2.rssfeed_handling:507: Subscription 'One Piece': 75 items in feed, 1 matches the filter.
18:53:20 [WARNING] YaRSS2.common:89: isodate_to_datetime error:
18:53:20 [INFO] YaRSS2.torrent_handling:94: Downloading torrent: 'https://nyaa.si/download/2144161.torrent' using cookies: '{}', headers: '{'User-Agent': 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/6.8.0-136-generic'}'
18:53:20 [ERROR] YaRSS2.torrent_handling:57: Failed to download torrent url: 'https://nyaa.si/download/2144161.torrent'. Exception: Could not find a suitable TLS CA certificate bundle, invalid path: /config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem
18:53:20 [WARNING] YaRSS2.torrent_handling:169: Failed to add 'https://nyaa.si/download/2144161.torrent'.
18:53:20 [WARNING] YaRSS2.torrent_handling:201: Failed to add torrent '[SubsPlease] One Piece - 1173 (1080p) [12A957B2].mkv' from url 'https://nyaa.si/download/2144161.torrent'
This was me doing the manual run. I also tried to thinker with the settings, but apparently the cacert is invalid?

Code: Select all

(2026-08-09T20:04:21): Fetching RSS Feed: 'Nyaa.si' with Cookie: '{}' and User-agent: 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/7.1.6-101.fc43.x86_64'.
(2026-08-09T20:04:31): Manually running Subscription 'One Piece'
(2026-08-09T20:04:31): Update handler executed on RSS Feed 'Nyaa.si (nyaa.si)' (Update interval 120 min)
(2026-08-09T20:04:31): Fetching subscription 'One Piece'.
(2026-08-09T20:04:31): Fetching RSS Feed: 'Nyaa.si' with Cookie: '{}' and User-agent: 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/6.8.0-136-generic'.
(2026-08-09T20:04:31): Failed to convert TTL value 'None' to int!
(2026-08-09T20:04:31): Subscription 'One Piece': 75 items in feed, 1 matches the filter.
(2026-08-09T20:04:31): isodate_to_datetime error:
(2026-08-09T20:04:31): Downloading torrent: 'https://nyaa.si/download/2144161.torrent' using cookies: '{}', headers: '{'User-Agent': 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/6.8.0-136-generic'}'
(2026-08-09T20:04:31): Failed to download torrent url: 'https://nyaa.si/download/2144161.torrent'. Exception: Could not find a suitable TLS CA certificate bundle, invalid path: /config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem
(2026-08-09T20:04:31): Failed to add 'https://nyaa.si/download/2144161.torrent'.
(2026-08-09T20:04:31): Failed to add torrent '[SubsPlease] One Piece - 1173 (1080p) [12A957B2].mkv' from url 'https://nyaa.si/download/2144161.torrent'
===============================================================
Server: Rock 5B 8 Cores (ARM), 16 GB RAM, 2 TB 970 Evo +
OS: Linux Ubuntu 24.04 LTS
Deluge: v2.2.0
Plugins: Blocklist, LabelPlus, ItConfig, MyScheduler, Stats, Notifications, YaRSS2
User avatar
ambipro
Moderator
Moderator
Posts: 796
Joined: Thu May 19, 2022 3:33 am
Contact:

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by ambipro »

shinger wrote: Sun Aug 09, 2026 6:09 pm OKe, interresting development.

This was the YaRSS2 doing its job automatically.

This was me doing the manual run. I also tried to thinker with the settings, but apparently the cacert is invalid?

Code: Select all

(2026-08-09T20:04:31): Downloading torrent: 'https://nyaa.si/download/2144161.torrent' using cookies: '{}', headers: '{'User-Agent': 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/6.8.0-136-generic'}'
(2026-08-09T20:04:31): Failed to download torrent url: 'https://nyaa.si/download/2144161.torrent'. Exception: Could not find a suitable TLS CA certificate bundle, invalid path: /config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem
(2026-08-09T20:04:31): Failed to add 'https://nyaa.si/download/2144161.torrent'.
(2026-08-09T20:04:31): Failed to add torrent '[SubsPlease] One Piece - 1173 (1080p) [12A957B2].mkv' from url 'https://nyaa.si/download/2144161.torrent'
Their cert is fine, I checked and its good until Wed, 26 Aug 2026 08:31:56 GMT - and probably on an ACME renewal given the dates its valid.

I think there's an easy solution, similar to libtorrents, where you ignore certificate validation.\

They do have no certificate authority as one of their cert's constraints, but it would be odd to see it downloading automatically and adding torrents but not when you did it.

Not sure what to make of that.
shinger
Seeder
Seeder
Posts: 202
Joined: Sat Jun 05, 2010 1:02 pm

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by shinger »

ambipro wrote: Sun Aug 09, 2026 6:15 pm
shinger wrote: Sun Aug 09, 2026 6:09 pm OKe, interresting development.

This was the YaRSS2 doing its job automatically.

This was me doing the manual run. I also tried to thinker with the settings, but apparently the cacert is invalid?

Code: Select all

(2026-08-09T20:04:31): Downloading torrent: 'https://nyaa.si/download/2144161.torrent' using cookies: '{}', headers: '{'User-Agent': 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/6.8.0-136-generic'}'
(2026-08-09T20:04:31): Failed to download torrent url: 'https://nyaa.si/download/2144161.torrent'. Exception: Could not find a suitable TLS CA certificate bundle, invalid path: /config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem
(2026-08-09T20:04:31): Failed to add 'https://nyaa.si/download/2144161.torrent'.
(2026-08-09T20:04:31): Failed to add torrent '[SubsPlease] One Piece - 1173 (1080p) [12A957B2].mkv' from url 'https://nyaa.si/download/2144161.torrent'
Their cert is fine, I checked and its good until Wed, 26 Aug 2026 08:31:56 GMT - and probably on an ACME renewal given the dates its valid.

I think there's an easy solution, similar to libtorrents, where you ignore certificate validation.\

They do have no certificate authority as one of their cert's constraints, but it would be odd to see it downloading automatically and adding torrents but not when you did it.

Not sure what to make of that.
How can you ignore certificate validation with YaRSS2 plugin? They have a forced https redirection even if you try using http as you can see with the 301 redirection.

Code: Select all

<USER>@<SYSTEM>:~$ curl -IL http://nyaa.si
HTTP/1.1 301 Moved Permanently
Server: ddos-guard
Date: Sun, 09 Aug 2026 18:49:19 GMT
Connection: keep-alive
Keep-Alive: timeout=60
Set-Cookie: __ddg8_=Nl3SEg9ukEQIM8im; Domain=.nyaa.si; Path=/; Expires=Sun, 09-Aug-2026 19:09:19 GMT
Set-Cookie: __ddg10_=1786301359; Domain=.nyaa.si; Path=/; Expires=Sun, 09-Aug-2026 19:09:19 GMT
Set-Cookie: __ddg9_=169.150.242.5; Domain=.nyaa.si; Path=/; Expires=Sun, 09-Aug-2026 19:09:19 GMT
Location: https://nyaa.si/
And yes, their Lets Encrypt SSL certificate is fine. I am thinking that maybe within the YaRSS2 plugin the CA certificate is outdate or not present?

Code: Select all

<USER>@<SYSTEM>:~$ checkSSL nyaa.si | grep -E -A2 "Issuer|DNS|Validity"
Issuer: C=US, O=Let's Encrypt, CN=R13
Validity
Not Before: May 28 08:31:57 2026 GMT
Not After : Aug 26 08:31:56 2026 GMT
--
CA Issuers - URI:http://r13.i.lencr.org/
X509v3 Subject Alternative Name:
DNS:nyaa.si, DNS:www.nyaa.si
X509v3 Certificate Policies:
Policy: 2.23.140.1.2.1
Update:

YaRSS2 plugin has its own cacertificate, instead of relying on the ca certificate provided by the system it self. This is within docker container.

Code: Select all

root@e73441ac7620:/# ls -l /config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem
ls: cannot access '/config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem': Not a directory
So thinking outloud. Is within the plugin some code that refers to this path for validation of SSL certificates instead of using the system ca certificated directory?

Code: Select all

root@e73441ac7620:/etc/ssl/certs# pwd
/etc/ssl/certs
root@e73441ac7620:/etc/ssl/certs# ls -lha | wc -l
242
===============================================================
Server: Rock 5B 8 Cores (ARM), 16 GB RAM, 2 TB 970 Evo +
OS: Linux Ubuntu 24.04 LTS
Deluge: v2.2.0
Plugins: Blocklist, LabelPlus, ItConfig, MyScheduler, Stats, Notifications, YaRSS2
User avatar
ambipro
Moderator
Moderator
Posts: 796
Joined: Thu May 19, 2022 3:33 am
Contact:

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by ambipro »

[quote=shinger post_id=241294 time=1786301301 user_id

How can you ignore certificate validation with YaRSS2 plugin? They have a forced https redirection even if you try using http as you can see with the 301 redirection.

Code: Select all

<USER>@<SYSTEM>:~$ curl -IL http://nyaa.si
HTTP/1.1 301 Moved Permanently
Server: ddos-guard
Date: Sun, 09 Aug 2026 18:49:19 GMT
Connection: keep-alive
Keep-Alive: timeout=60
Set-Cookie: __ddg8_=Nl3SEg9ukEQIM8im; Domain=.nyaa.si; Path=/; Expires=Sun, 09-Aug-2026 19:09:19 GMT
Set-Cookie: __ddg10_=1786301359; Domain=.nyaa.si; Path=/; Expires=Sun, 09-Aug-2026 19:09:19 GMT
Set-Cookie: __ddg9_=169.150.242.5; Domain=.nyaa.si; Path=/; Expires=Sun, 09-Aug-2026 19:09:19 GMT
Location: https://nyaa.si/
And yes, their Lets Encrypt SSL certificate is fine. I am thinking that maybe within the YaRSS2 plugin the CA certificate is outdate or not present?

Code: Select all

<USER>@<SYSTEM>:~$ checkSSL nyaa.si | grep -E -A2 "Issuer|DNS|Validity"
Issuer: C=US, O=Let's Encrypt, CN=R13
Validity
Not Before: May 28 08:31:57 2026 GMT
Not After : Aug 26 08:31:56 2026 GMT
--
CA Issuers - URI:http://r13.i.lencr.org/
X509v3 Subject Alternative Name:
DNS:nyaa.si, DNS:www.nyaa.si
X509v3 Certificate Policies:
Policy: 2.23.140.1.2.1
Update:

YaRSS2 plugin has its own cacertificate, instead of relying on the ca certificate provided by the system it self. This is within docker container.

Code: Select all

root@e73441ac7620:/# ls -l /config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem
ls: cannot access '/config/plugins/YaRSS2-2.2.5-py.egg/yarss2/include/certifi/certifi/cacert.pem': Not a directory
So thinking outloud. Is within the plugin some code that refers to this path for validation of SSL certificates instead of using the system ca certificated directory?

Code: Select all

root@e73441ac7620:/etc/ssl/certs# pwd
/etc/ssl/certs
root@e73441ac7620:/etc/ssl/certs# ls -lha | wc -l
242
[/quote]
Image

I suppose you could mount your host systems SSL CA authorities into the container, not sure if that would work, but libtorrent has an option that literally is "validate_https_tracker"
shinger
Seeder
Seeder
Posts: 202
Joined: Sat Jun 05, 2010 1:02 pm

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by shinger »

Thanks. I will try to thinker with those settings hopefully this coming weekend.
===============================================================
Server: Rock 5B 8 Cores (ARM), 16 GB RAM, 2 TB 970 Evo +
OS: Linux Ubuntu 24.04 LTS
Deluge: v2.2.0
Plugins: Blocklist, LabelPlus, ItConfig, MyScheduler, Stats, Notifications, YaRSS2
shinger
Seeder
Seeder
Posts: 202
Joined: Sat Jun 05, 2010 1:02 pm

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by shinger »

Sadly with and without the option "validate_https_tracker", it still wouldn't work.
===============================================================
Server: Rock 5B 8 Cores (ARM), 16 GB RAM, 2 TB 970 Evo +
OS: Linux Ubuntu 24.04 LTS
Deluge: v2.2.0
Plugins: Blocklist, LabelPlus, ItConfig, MyScheduler, Stats, Notifications, YaRSS2
User avatar
ambipro
Moderator
Moderator
Posts: 796
Joined: Thu May 19, 2022 3:33 am
Contact:

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by ambipro »

So that means the certificate validation for the RSS is being done in the plugin itself, and i'm guessing its refusing self-signed certificates. I'm curious if we can't somehow scaffold a .pem or something to the plugin that allows for self signed certs.
shinger
Seeder
Seeder
Posts: 202
Joined: Sat Jun 05, 2010 1:02 pm

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by shinger »

The CA certs of LetsEncrypt do exist within the Docker container it self, but the plugin somehow looks for a "cacert.pem" on a completely different place, which i have no idea what it should be.

Code: Select all

root@e73441ac7620:/etc/ssl/certs# ls -lsha | grep ISRG
0 lrwxrwxrwx 1 root root   24 Aug  1 16:45 0b9bc432.0 -> ca-cert-ISRG_Root_X2.pem
0 lrwxrwxrwx 1 root root   24 Aug  1 16:45 4042bcee.0 -> ca-cert-ISRG_Root_X1.pem
0 lrwxrwxrwx 1 root root   51 Aug  1 16:45 ca-cert-ISRG_Root_X1.pem -> /usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt
0 lrwxrwxrwx 1 root root   51 Aug  1 16:45 ca-cert-ISRG_Root_X2.pem -> /usr/share/ca-certificates/mozilla/ISRG_Root_X2.crt
https://blog.cloudflare.com/upcoming-le ... customers/
===============================================================
Server: Rock 5B 8 Cores (ARM), 16 GB RAM, 2 TB 970 Evo +
OS: Linux Ubuntu 24.04 LTS
Deluge: v2.2.0
Plugins: Blocklist, LabelPlus, ItConfig, MyScheduler, Stats, Notifications, YaRSS2
shinger
Seeder
Seeder
Posts: 202
Joined: Sat Jun 05, 2010 1:02 pm

Re: [Plugin] YaRSS2 - RSS plugin with GTKUI support

Post by shinger »

Oke, i decided to do something different.

- moved back to YaRSS2 v2.1.5 and restarted the Docker container. I looked at the logs and i saw the warning about "rllib3.packages.six.moves"
- I went within the docker container and installed those two packages with pip ( pip install urllib3 six ), which i also did with the forked plugin.
- Manually trying to look at the torrent i saw something different.

Code: Select all

(2026-08-17T21:32:25): Manually running Subscription 'One Piece'
(2026-08-17T21:32:25): Update handler executed on RSS Feed 'Nyaa.si (nyaa.si)' (Update interval 120 min)
(2026-08-17T21:32:25): Fetching subscription 'One Piece'.
(2026-08-17T21:32:25): Fetching RSS Feed: 'Nyaa.si' with Cookie: '{}' and User-agent: 'Deluge v2.2.0 YaRSS2 v2.1.5 Linux/6.8.0-137-generic'.
(2026-08-17T21:32:26): Failed to convert TTL value 'None' to int!
(2026-08-17T21:32:26): 75 items in feed, 1 matches the filter.
(2026-08-17T21:32:26): isodate_to_datetime error:
(2026-08-17T21:32:26): Downloading torrent: 'https://nyaa.si/download/2147316.torrent' using cookies: '{}', headers: '{'User-Agent': 'Deluge v2.2.0 YaRSS2 v2.1.5 Linux/6.8.0-137-generic'}'
(2026-08-17T21:32:26): Adding torrent: 'https://nyaa.si/download/2147316.torrent'.
(2026-08-17T21:32:26): Failed to add torrent to Deluge: Torrent already in session (0ff0c8d18205ec7f6d2833abe800493604561876).
(2026-08-17T21:32:26): Failed to add torrent '[SubsPlease] One Piece - 1174 (1080p) [B4711849].mkv' from url 'https://nyaa.si/download/2147316.torrent'
(2026-08-17T21:32:44): Fetching RSS Feed: 'Nyaa.si' with Cookie: '{}' and User-agent: 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/7.1.8-100.fc43.x86_64'.
(2026-08-17T21:36:14): Fetching RSS Feed: 'Nyaa.si' with Cookie: '{}' and User-agent: 'Deluge v2.2.0 YaRSS2 v2.2.5 Linux/7.1.8-100.fc43.x86_64'.
The logs beneath i get when using that version. Btw, the one above i manually had added to it. I am not sure if it is going to work automatically, so lets wait until the coming sunday :).

Code: Select all

21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/requests'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/dateutil'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/defusedxml'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/beautifulsoup/py3k'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/atoma'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/html5lib'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/webencodings'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/urllib3/src'
21:30:56 [INFO    ][yarss2                        :1672] YaRSS2.__init__:36: Appending to sys.path: '/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/certifi'
/config/plugins/YaRSS2-2.1.5.egg/yarss2/include/requests/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (2.7.0) or chardet (7.4.3) doesn't match a supported version!
21:30:56 [INFO    ][yarss2.core                   :1672] YaRSS2.rssfeed_scheduler:43: Scheduled RSS Feed 'Nyaa.si' with interval 120
21:30:56 [INFO    ][yarss2.core                   :1672] YaRSS2.core:47: Enabled YaRSS2 2.1.5
21:30:56 [INFO    ][deluge.pluginmanagerbase      :1672] Plugin YaRSS2 enabled...
===============================================================
Server: Rock 5B 8 Cores (ARM), 16 GB RAM, 2 TB 970 Evo +
OS: Linux Ubuntu 24.04 LTS
Deluge: v2.2.0
Plugins: Blocklist, LabelPlus, ItConfig, MyScheduler, Stats, Notifications, YaRSS2
Post Reply