@@ -47,18 +47,30 @@ def __apply_one(self, action: str, country_code: str):
47
47
48
48
set_name = f"cidre_{ country_code } _blocklist_{ ip_version } "
49
49
50
- self .__create_ipset (set_name )
50
+ self .__create_ipset (set_name , ip_version )
51
51
self .__add_to_ipset (set_name , cidr_blocks )
52
52
self .__apply_iptables (set_name , action )
53
53
54
- def __create_ipset (self , set_name : str ):
54
+ def __create_ipset (self , set_name : str , ip_version : str ):
55
55
self .__logger .info (f"🛠 Creating IPSet { set_name } (if not exists)..." )
56
- subprocess .run (["ipset" , "create" , set_name , "hash:net" , "-exist" ], check = True )
56
+
57
+ if ip_version == "ipv4" :
58
+ subprocess .run (
59
+ ["ipset" , "create" , set_name , "hash:net" , "-exist" ], check = True
60
+ )
61
+ elif ip_version == "ipv6" :
62
+ subprocess .run (
63
+ ["ipset" , "create" , set_name , "hash:net" , "family" , "inet6" , "-exist" ],
64
+ check = True ,
65
+ )
57
66
58
67
def __add_to_ipset (self , set_name : str , cidr_blocks : List [str ]):
68
+ self .__logger .info (f"IPSet ({ set_name } ): Adding { len (cidr_blocks )} CIDRs..." )
69
+
59
70
for cidr in cidr_blocks :
60
71
subprocess .run (["ipset" , "add" , set_name , cidr , "-exist" ], check = True )
61
- self .__logger .info (f"IPSet ({ set_name } ): Added { cidr } " )
72
+
73
+ self .__logger .debug (f"IPSet ({ set_name } ): Added { cidr } " )
62
74
63
75
def __apply_iptables (self , set_name : str , action : str ):
64
76
iptables_action = {
0 commit comments