11import os
22
33from bugscanx .utils .common import get_input , get_confirm , is_cidr
4+ from bugscanx .utils .cidr import read_cidrs_from_file
45
56
67def get_cidr_ranges_from_input (cidr_input ):
@@ -30,7 +31,11 @@ def get_common_inputs(input_source):
3031def get_host_input ():
3132 filename = get_input ("Enter filename" , "file" , mandatory = False )
3233 if not filename :
33- cidr = get_input ("Enter CIDR range(s)" , validators = [is_cidr ])
34+ cidr = get_input ("Enter CIDR range(s)" , validators = [is_cidr ], mandatory = False )
35+ if not cidr :
36+ cidr_file = get_input (
37+ "Enter CIDR file" , "file" )
38+ cidr = read_cidrs_from_file (cidr_file ) if cidr_file else None
3439 return None , cidr
3540 return filename , None
3641
@@ -54,7 +59,10 @@ def get_input_direct(no302=False):
5459 )
5560
5661 if cidr :
57- cidr_ranges = get_cidr_ranges_from_input (cidr )
62+ try :
63+ cidr_ranges = get_cidr_ranges_from_input (cidr )
64+ except AttributeError :
65+ cidr_ranges = cidr
5866 from .scanners .direct import CIDRDirectScanner
5967 scanner = CIDRDirectScanner (
6068 method_list = method_list ,
@@ -93,7 +101,10 @@ def get_input_proxy():
93101 output , threads = get_common_inputs (filename or cidr )
94102
95103 if cidr :
96- cidr_ranges = get_cidr_ranges_from_input (cidr )
104+ try :
105+ cidr_ranges = get_cidr_ranges_from_input (cidr )
106+ except AttributeError :
107+ cidr_ranges = cidr
97108 from .scanners .proxy_check import CIDRProxyScanner
98109 scanner = CIDRProxyScanner (
99110 cidr_ranges = cidr_ranges ,
@@ -144,7 +155,10 @@ def get_input_proxy2():
144155 proxy_password = get_input ("Enter proxy password" )
145156
146157 if cidr :
147- cidr_ranges = get_cidr_ranges_from_input (cidr )
158+ try :
159+ cidr_ranges = get_cidr_ranges_from_input (cidr )
160+ except AttributeError :
161+ cidr_ranges = cidr
148162 from .scanners .proxy_request import CIDRProxy2Scanner
149163 scanner = CIDRProxy2Scanner (
150164 method_list = method_list ,
@@ -172,7 +186,10 @@ def get_input_ssl():
172186 output , threads = get_common_inputs (filename or cidr )
173187
174188 if cidr :
175- cidr_ranges = get_cidr_ranges_from_input (cidr )
189+ try :
190+ cidr_ranges = get_cidr_ranges_from_input (cidr )
191+ except AttributeError :
192+ cidr_ranges = cidr
176193 from .scanners .ssl import CIDRSSLScanner
177194 scanner = CIDRSSLScanner (
178195 cidr_ranges = cidr_ranges ,
@@ -197,7 +214,10 @@ def get_input_ping():
197214 output , threads = get_common_inputs (filename or cidr )
198215
199216 if cidr :
200- cidr_ranges = get_cidr_ranges_from_input (cidr )
217+ try :
218+ cidr_ranges = get_cidr_ranges_from_input (cidr )
219+ except AttributeError :
220+ cidr_ranges = cidr
201221 from .scanners .ping import CIDRPingScanner
202222 scanner = CIDRPingScanner (
203223 port_list = port_list ,
0 commit comments