Add a simple utility class for testing if an IP belongs to a Tor exit node.

This commit is contained in:
Jon Chambers
2021-04-28 17:36:34 -04:00
committed by Jon Chambers
parent 055e8d80a1
commit 350de1c759
3 changed files with 278 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
/*
* Copyright 2021 Signal Messenger, LLC
* SPDX-License-Identifier: AGPL-3.0-only
*/
package org.whispersystems.textsecuregcm.configuration;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.annotations.VisibleForTesting;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.time.Duration;
public class TorExitNodeConfiguration {
@JsonProperty
@NotBlank
private String listUrl;
@JsonProperty
private Duration refreshInterval = Duration.ofMinutes(5);
@JsonProperty
@Valid
private CircuitBreakerConfiguration circuitBreakerConfiguration = new CircuitBreakerConfiguration();
@JsonProperty
@Valid
private RetryConfiguration retryConfiguration = new RetryConfiguration();
public String getListUrl() {
return listUrl;
}
@VisibleForTesting
public void setListUrl(final String listUrl) {
this.listUrl = listUrl;
}
public Duration getRefreshInterval() {
return refreshInterval;
}
public CircuitBreakerConfiguration getCircuitBreakerConfiguration() {
return circuitBreakerConfiguration;
}
public RetryConfiguration getRetryConfiguration() {
return retryConfiguration;
}
}