Learn the art of seedin' torrents and boostin' the pirate community's strength, aye? - eviltoast

Ahoy, me hearties!

Listen well, me brethren! I’ve just acquired a fine NAS, and I be lookin’ to bolster our magnificent pirate community by sharing me digital plunder far and wide. But alas, it’s come to me attention that the uploads on all me torrents be as small as a speck of sand on the ocean floor, or worse, a big fat zero!

Now, I beseech ye, me shipmates, lend me yer wisdom. How can I fortify our pirate brotherhood? What be the proper settings for me NAS? Be there any trusty trackers or tools to help me upload and distribute the most crucial booty to aid our cause on the high seas?

Speak up, ye seasoned scallywags, and together we shall chart a course toward a stronger, more formidable pirate crew! 🏴‍☠️🦜⚓

  • unperson [he/him]@hexbear.net
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 year ago

    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.

    nano /etc/sysctl.conf
    
    • 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:

      net.ipv4.tcp_congestion_control = bbr
      
    • 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:

      net.core.wmem_max = 10000000
      

      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.