fetchProxies method
Future<List<ProxyModel> >
fetchProxies({
- int count = 20,
- bool onlyHttps = false,
- List<
String> ? countries, - List<
String> ? regions, - List<
String> ? isps,
override
Fetches proxies from various sources
count is the number of proxies to fetch
onlyHttps filters to only return HTTPS proxies
countries filters to only return proxies from specific countries
regions filters to only return proxies from specific regions
isps filters to only return proxies from specific ISPs
Implementation
@override
Future<List<ProxyModel>> fetchProxies({
int count = 20,
bool onlyHttps = false,
List<String>? countries,
List<String>? regions,
List<String>? isps,
}) async {
final proxies = <ProxyModel>[];
// Try each enabled source until we have enough proxies
for (final url in sourceConfig.getEnabledSourceUrls()) {
if (proxies.length >= count) break;
try {
final sourceProxies = await _fetchFromSource(
url,
onlyHttps: onlyHttps,
countries: countries,
regions: regions,
isps: isps,
);
proxies.addAll(sourceProxies);
} catch (e) {
// Continue to the next source if this one fails
continue;
}
}
// Return the requested number of proxies
return proxies.take(count).toList();
}