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.
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.
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.
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.
I would love to be 100% sure about this. I did this few years back. I know I searched on the internet on how the dat file should look like and came across that AMule uses these files. And explanation for all these fields can be found here.
That documentation is short but to quote the most relevant part:
<span style="color:#323232;">IPs range , Access level , Description
</span><span style="color:#323232;">Access level values lower than 127' are blocked IPs and values over 127 are allowed IPs.
</span>
The thing is I don’t know if this is a some kind of standard or not and I don’t know if qBittorrent needs (and respects) those two other fields. Maybe it even ignores them, because why would an IP range would be in IP blocklist if not to block it? However, at that time I could only find that information, it did make my work any harder, it seemed to work, so I did not try to create and use a filter without them.
Most defining characteristic of race is different skin tones. Literally what racism is about. You don’t see people referring to races as their historical decent.
For me it is China after I noticed that a lot of them uses some kind of strange client that always shows that they have 0 progress to get better priority from other pears. Later after I started to look into it I noticed that they do not even seed.
And then eventually all the Chinese beers will get vpns or whatever to mask their ip and country of origin, thereby defeating the whole purpose and creating more cpu usage to lookup the blocks for every connection… if it’s very dumb things to do, it doesn’t solve the problem at hand. I don’t know how to solve it but one day there will be a client that someone will make that will.