There are two low level tricks that make a huge difference for seeding, even if you can’t open ports. These are generic Linux tweaks, you may have to adapt them for QNAP depending on how customized it is. Ask me if you need help. As far as I can tell you need to ssh to the “admin” acount, so open a command line and type ssh admin@your-nas.
To make both tweaks permanent you need to edit /etc/sysctl.conf. you can try editing them with nano. If you don’t have nano you’ll have to try with vi, but vi is not intuitive at all to use.
The first tweak makes you a lot more effective to peers that are on unstable connections and on wi-fi. Google uses it for most of their infrastructure, originally on YouTube. You can read their article for more info on how it works.
Add this line to /etc/sysctl.conf, close nano with ctrl-X, and reboot:
The second tweak decides how fast you can upload to people far away from you. If you calculate 2 * this value / your latency to them, you get the max speed you can upload to them. For simplicity I set it to be the same as my upload speed: let’s say you have 10 MB/s upload, that’s 10000000 bytes / second:
Add this line to /etc/sysctl.conf, close nano with ctrl-X, and reboot:
This way even someone in Australia with 500 ms of latency can download at 10 MB/s from you, (2 * 10000000 bytes / 0.500s = 10 MB/s)
After rebooting you can check if the setting stuck with the command sysctl net.ipv4.tcp_congestion_control and sysctl net.core.wmem_max respectively.
For any of this to make a difference you should disable µTP in your torrent client, or make it prefer TCP over µTP.
To me it makes an enormous difference, from barely any upload at all to 100 GB per day. And I’m sure it’s nice for whoever is downloading on the other side to get what they’re looking for super fast.
For any of this to make a difference you should disable µTP in your torrent client, or make it prefer TCP over µTP.
Just as a caveat, people disabling/throttling µTP may want to manually set appropriate global rate limits (upload/download bandwidth) otherwise it’s possible the torrent client will actually hit the maximum upload/download limits of the ISP or router forcing everything else on the network to slow down/time out during other internet usage. You’re obviously more advanced so you already know all this :)
Mainly it’s extra info for noobs messing around with their settings, often times noobs mess around with settings, disable things, etc. & then wonder why their torrent client keeps “crashing” their internet :P Making changes to µTP should be more of a last resort IMO.
µTP itself is a pretty big topic, there are a fair amount of people testing different settings in the qBittorrent / Libtorrent Github Issues but I’m not sure there’s even a consensus on a proper default setting. e.g. qBittorrent’s devs specifically chose different µTP defaults vs the Libtorrent library’s own defaults. qBittorrent defaults to having µTP enabled with preferring TCP (throttles µTP), Libtorrent defaults to having µTP enabled with peer_proportional (does not throttle µTP). The qBittorrent default is reasonable though I wonder if the Libtorrent default is the more “correct” approach but that’s certainly up to much debate. In both cases µTP is never disabled completely.
With my own testing I tend to keep settings at Libtorrent defaults just to observe behavior, with mainly private tracker peers I’ve noticed at least ~60% of my incoming connections are from µTP peers so at least for me it seems reasonable to keep it enabled.
The big problem with disabling µTP is that because it uses UDP, under some kinds of NAT you can get incoming connections despite being NATted. So you will loose some peers if you’re behind a NAT. If you’re not NATted there’s no connectability advantage, because every client that implements µTP can fall back to TCP.
The big advantage to disabling it that you can tweak these things. I don’t know of any client that lets you choose which congestion control algorithm that µTP uses. They all use one called LEDBAT that’s one of the first attempts to design one that avoids “bufferbloat”, i.e. that problem where the torrents fill up the buffers in routers and “clog up the Internet”. That’s nice however it doesn’t work well with networks with a lot of jitter like wi-fi, and it “loses” to algorithms that do fill up the buffer like the default TCP CUBIC. BBR avoids bufferbloat and is designed to keep working well with high jitter—Google’s intention was to make YouTube load faster on mobile phones. It also it wins over CUBIC, which is why almost every seedbox comes configured with no µTP and BBR congestion control. However, because it wins over CUBIC it will “clog up the Internet” in a different way: you may get lower speeds on everything else but don’t lose interactivity.
Linux comes with a different version of BBR that’s tuned to always yield to other traffic called lp. You enable it with net.ipv4.tcp_congestion_control = lp. I think lp is the optimal choice for seeding public torrents: you give full speed to faraway peers, but only when there’s nobody else that can do it.
What is your toreenting “signal chain”, so to say? Normally when you download things through qBittorrent, are you generally running bare? Do you use a VPN? Is your torrent client configured to use a specific NIC? If so, is that NIC active and passing traffic? There are so many variables that play into this.
No VPN because I live on the wild side and I use pretty stock settings. I resolved my issue but should I look into my NIC settings? Thank you for your help.
The NIC thing was more for if you were using a VPN. You can lock down your client to just use the virtual NIC your VPN client creates, so that’s always recommended when setting up your client.
Sounds like you already have a good start on this, but I wrote up instructions for myself when I move computers. I use calibre and an older version of the Kindle for PC app. DM me if you need help.
The only ports you need to expose from Gluetun are the ones for the webUI for each of the containers you’re running thru it. You should never expose the port for incoming connections since that would make your torrenting traffic avoid the VPN.
Your qBittorrent and *arr containers should be run with network: “service: gluetun” in your docker-compose file (assuming you’re using compose)
You are correct the FIREWALL_VPN_INPUT_PORT is to allow the port to be opened on the vpn side of the connection. You will add the port provided to you from Air as that variable and set the same port within qbittorrent.
You should not be adding the port 6881 anywhere, example compose below from the guide on my website.
Hmm I see, I had the port in 6881 docker-compose and used it for the incoming connections in qBittorrent for 2 days or so, would that get me a notice from the ISP? I’ve been using network_mode: “service:gluetun” the whole time and the curl https://ipleak.net/json/ from the qBittorrent container console always delivered the ip of my vpn.
Anyone else has cross-seed configured? I started the process, created the config.json and now I need to configure it. It would be useful to see how someone else set it up and why. I feel the provided explanations in the config file are just a notch too high than what my hobbyist mind can understand atm. Then there’s direct client injection or autotorrent2 I still have to figure out.
For those curious, cross-seed allows you to take what you are seeding and find where else that torrent is and seed it there too, within a defined set of trackers. Perfect for sharin’ ye booty, arr!
I have PIA and have so far been very pleased. If you are concerned about owner, maybe just go 1 year at a time, so you can pivot elsewhere if their reputation changes.
I DO get captcha on Google sometimes. But it just convinced me to switch to DDG and never looked back.
piracy
Najstarsze
Magazyn ze zdalnego serwera może być niekompletny. Zobacz więcej na oryginalnej instancji.