-
- All Implemented Interfaces:
-
java.lang.AutoCloseable
public abstract class ProxyLoader implements AutoCloseable
Load proxies from proxy vendors
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description public classProxyLoader.Companion
-
Field Summary
Fields Modifier and Type Field Description private DurationminimumProxyTTLprivate BooleantestProxyBeforeUseprivate StringtestUrlprivate final DurationfileWatchIntervalprivate final Map<Path, Instant>lastModifiedTimesprivate StringbanStrategyprivate DurationipTimeToBanprivate DurationsegmentTimeToBanprivate final ConcurrentPassiveExpiringSet<String>bannedIpsprivate final ConcurrentPassiveExpiringSet<String>bannedSegmentsprivate DoubletestIpRateprivate final BooleanisActive
-
Constructor Summary
Constructors Constructor Description ProxyLoader(ImmutableConfig conf)
-
Method Summary
-
-
Constructor Detail
-
ProxyLoader
ProxyLoader(ImmutableConfig conf)
-
-
Method Detail
-
getMinimumProxyTTL
final Duration getMinimumProxyTTL()
-
setMinimumProxyTTL
final Unit setMinimumProxyTTL(Duration minimumProxyTTL)
-
getTestProxyBeforeUse
final Boolean getTestProxyBeforeUse()
-
setTestProxyBeforeUse
final Unit setTestProxyBeforeUse(Boolean testProxyBeforeUse)
-
getTestUrl
final String getTestUrl()
-
setTestUrl
final Unit setTestUrl(String testUrl)
-
getFileWatchInterval
final Duration getFileWatchInterval()
-
getLastModifiedTimes
final Map<Path, Instant> getLastModifiedTimes()
-
getBanStrategy
final String getBanStrategy()
-
setBanStrategy
final Unit setBanStrategy(String banStrategy)
-
getIpTimeToBan
final Duration getIpTimeToBan()
-
setIpTimeToBan
final Unit setIpTimeToBan(Duration ipTimeToBan)
-
getSegmentTimeToBan
final Duration getSegmentTimeToBan()
-
setSegmentTimeToBan
final Unit setSegmentTimeToBan(Duration segmentTimeToBan)
-
getBannedIps
final ConcurrentPassiveExpiringSet<String> getBannedIps()
-
getBannedSegments
final ConcurrentPassiveExpiringSet<String> getBannedSegments()
-
getTestIpRate
final Double getTestIpRate()
The probability to choose a test ip if absent
-
setTestIpRate
final Unit setTestIpRate(Double testIpRate)
The probability to choose a test ip if absent
-
getIsActive
final Boolean getIsActive()
-
updateProxies
abstract List<ProxyEntry> updateProxies(Duration reloadInterval)
-
updateBanStrategy
@Synchronized() final Unit updateBanStrategy()
-
loadTestProxyIfAbsent
final ProxyEntry loadTestProxyIfAbsent()
Get a test ip by a probability if exist in file TEST_PROXY_FILE
-
-
-
-