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();
}