![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.dbzer0.com/pictrs/image/a18b0c69-23c9-4b2a-b8e0-3aca0172390d.png)
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:
IPs range , Access level , Description Access level values lower than 127' are blocked IPs and values over 127 are allowed IPs.
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.