this post was submitted on 14 Oct 2023
67 points (91.4% liked)
Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ
54577 readers
256 users here now
⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.
Rules • Full Version
1. Posts must be related to the discussion of digital piracy
2. Don't request invites, trade, sell, or self-promote
3. Don't request or link to specific pirated titles, including DMs
4. Don't submit low-quality posts, be entitled, or harass others
Loot, Pillage, & Plunder
📜 c/Piracy Wiki (Community Edition):
💰 Please help cover server costs.
Ko-fi | Liberapay |
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.
What does the "000" mean? 1427 is impressive also!
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:
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.