• Morgikan@lemm.ee
    link
    fedilink
    English
    arrow-up
    34
    ·
    edit-2
    11 months ago

    It’s not automatic, but you can technically block countries. From the Connections tab in Options, there is an IP Filter option for data files. I believe the format is X.X.X.X-Y.Y.Y.Y

    Country IP assignments are handled by ARIN in North America and RIPE NCC for Europe. Those are the two main ones, but LATAM, Africa, and APAC territories have their own respective groups as well. So, every main German IP block is known and searchable via RIPE. You would have to format your lists using that info.

    It may not be super effective as IPs can somewhat float, but that would be the method.

    EDIT: Here is an example using Germany again that shows the data you’d have to format - https://lite.ip2location.com/germany-ip-address-ranges?lang=en_US

    That would be a lot simpler if Qbittorrent accept CIDR notation like any sane human should be using.

    • TableteKarcioji@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      10
      ·
      11 months ago

      It’s posible to use a file too. The is an option just above that filter field. I think it’s more convenient, because there might be a lot of small ranges. The file just have to be formated in specific way. I remember I even found a website that allowed to export ranges for specific country in a file and I made a small Python script to format that file.

      • Morgikan@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 months ago

        Yeah, I was referring to the field that takes in dat files. Honestly, it sounds like the OP is more interested in just outright blocking countries completely with Qbittorrent just one application abidding by that. At that point, OP should take the IP ranges and script them into iptables statements. I’ve never created 1000+ iptables configurations though so I don’t know what kind of performance hit that creates if any.

        • TableteKarcioji@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          4
          ·
          11 months ago

          I misread your post. I looked into my script and I actually used ip2location as a source for IP ranges. However, I can’t seem to find a way to download them (at least without an account) in csv file. Most likely they changed that. Or maybe I just copied them from the page by hand (pro tip just mark first cell, then go down to the end of the table and while holding SHIFT mark the last one).

          I can find where I found it, because that was first and last time I dealt with *.dat files, but I script makes line look like this:

          1.0.1.0 - 1.0.3.255 , 000 , china ban ip range from ip2location

          with spaces and all.

          It seems to work. If anyone wants a China ban list or the script, let my know with reply.

          I don’t know how much extra memory my qBittorrent uses with that list (718 ranges/lines), but as a reference with 1427 torrents it uses ~8GB of RAM.