Is there a way to limit qBitTorrent only while Plex is streaming?

jws_shadotak@sh.itjust.works to Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ@lemmy.dbzer0.com – 39 points –

title

I just want to toggle the alternative speeds while Plex is streaming outside my house. I couldn't find anything while looking around except for some old scripts that haven't been updated in years.

21

Maybe you just want to set up QoS and prioritise streaming

I agree with this. Torrents should have the lowest priority of traffic through your router. Also, sending torrent traffic through a VPN could be an easy way to control the speeds.

Some private VPNs also support port forwarding so choosing to do so wouldn't limit connections/peers

Hi, but even if you send torrent traffic through the vpn the wan connection at home would be affected too, if I'm right.

You'd deprioritise the VPN traffic in QoS, or use cake

Ook thanks! That the same of making whole torrent's traffic deprioritized on qos right?

Yes, but it will also affect all other potential traffic on that computer.

You could use split tunneling to only use the VPN for torrents and your normal network for everything else.

If you are torrenting on a dedicated server or something then it shouldn't matter much.

Thanks, I guessed that you can identify, maybe with openwrt, the torrent traffic, in order to bind the qos rule to torrent.

You could probably do that, unless you are using a VPN.

The router will only know that there is torrent VPN traffic but It would not know if it were torrenting or someone watching Netflix.

If you only use VPNs for torrenting then it's not a problem, so you could just limit all VPN traffic. If you use VPNs for other stuff, it could get annoying having all your traffic limited.

You could use the two bandwidth limits in torrenting programs and switch between a low limit and a high limit when you want. It's not automatic though .

You could download this: https://github.com/hrap1919/qbc

Set up Tautulli and use the notification agent feature. Set up one notification on "Play start" to call a shell script that uses this command to set the alternative speed limits.

Set up a second agent to listen for "Play stop" and set the condition to be "Streams" equal to zero, so when the last active stream ends you reenable full speed.

Edit: Wait someone else posted this and it seems easier and better documented https://github.com/fabricionaweb/qbit-toggle-speed

For code, being old is not always bad. Take for example some Unix commands, like copying files between servers using the ssh protocol. That hasn't changed in 50 or more years. So, if there're API endpoints in both apps, setting a cronjob would let you monitor every minute if you're streaming, and then do the switch. Or, even better, you may be able to have a hook/ trigger design pattern. Can you link to the scripts? Have you tested them at all?

You could just limit the speed of Qbittorrent permanently, enough that it wouldn't mess with your Plex traffic.

That's what I've done for now. I have a 30 mbps upload speed from my provider so I've limited qBit to 1 MB/s to give plenty of room for outbound streams.

It just seems like a waste of bandwidth if I have it capped at all times.

qBittorent can enforce alternative limits at your will.

Your best bet is to use a Router/Firewall that supports QoS. I have a Mikrotik router that does QoS and routes all traffic from my qBittorrent server through a VPN. It's a very convenient setup but Mikrotik's also require at least some networking background. They allow granular control of almost everything and are therefore easy to mess up.

Hi, do you know if something similar is feasible also under Openwrt?

OpenWrt supports wire guard VPN and QoS so I would assume yes but I'm afraid I'm not very familiar with it so I won't be of much help configuring it.

I'm using a Home Assistant automation to do this (with Jellyfin). But it is obviously overkill to set that all up just to do this.