Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,15 @@
CHANGELOG
=========

4.4.0 (unreleased)
------------------

* Added `residential` field to the `Anonymizer` response record. This is
an `AnonymizerFeed` record containing `confidence`, `networkLastSeen`,
and `providerName` fields with residential proxy data for the network.
`residential` may be populated even when none of the other fields on
`Anonymizer` are set.

4.3.0 (2026-05-12)
------------------

Expand Down
6 changes: 4 additions & 2 deletions lychee.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@
# Run locally with:
# lychee './**/*.md' './src/**/*.java' './pom.xml'

# Include URL fragments in checks
include_fragments = true
# Include URL fragments in checks. lychee 0.24 replaced the boolean flag with
# an enum; "full" checks both anchor fragments (`#section`) and text fragments
# (`#:~:text=`).
include_fragments = "full"

# Don't allow any redirects, so links that have moved are surfaced and updated
# to their canonical destination.
Expand Down
100 changes: 64 additions & 36 deletions mise.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@
<dependency>
<groupId>com.maxmind.geoip2</groupId>
<artifactId>geoip2</artifactId>
<version>5.1.0</version>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import static org.junit.jupiter.api.Assertions.assertTrue;

import com.fasterxml.jackson.jr.ob.JSON;
import com.maxmind.geoip2.record.AnonymizerFeed;
import java.time.LocalDate;
import java.util.UUID;
import org.junit.jupiter.api.Test;
Expand Down Expand Up @@ -39,6 +40,11 @@ public void testInsights() throws Exception {
.put("is_tor_exit_node", true)
.put("network_last_seen", "2025-01-15")
.put("provider_name", "TestVPN")
.startObjectField("residential")
.put("confidence", 82)
.put("network_last_seen", "2026-05-11")
.put("provider_name", "quickshift")
.end()
.end()
.startObjectField("country")
.put("iso_code", "US")
Expand Down Expand Up @@ -152,5 +158,24 @@ public void testInsights() throws Exception {
"correct networkLastSeen"
);
assertEquals("TestVPN", insights.ipAddress().anonymizer().providerName(), "correct providerName");

AnonymizerFeed residential = insights.ipAddress().anonymizer().residential();

assertNotNull(residential, "anonymizer.residential() returns null");
assertEquals(
Integer.valueOf(82),
residential.confidence(),
"correct anonymizer.residential().confidence()"
);
assertEquals(
LocalDate.parse("2026-05-11"),
residential.networkLastSeen(),
"correct anonymizer.residential().networkLastSeen()"
);
assertEquals(
"quickshift",
residential.providerName(),
"correct anonymizer.residential().providerName()"
);
}
}
7 changes: 6 additions & 1 deletion src/test/resources/test-data/factors-response.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,12 @@
"is_residential_proxy": true,
"is_tor_exit_node": true,
"network_last_seen": "2025-01-15",
"provider_name": "TestVPN"
"provider_name": "TestVPN",
"residential": {
"confidence": 82,
"network_last_seen": "2026-05-11",
"provider_name": "quickshift"
}
},
"city": {
"confidence": 42,
Expand Down
7 changes: 6 additions & 1 deletion src/test/resources/test-data/insights-response.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,12 @@
"is_residential_proxy": true,
"is_tor_exit_node": true,
"network_last_seen": "2025-01-15",
"provider_name": "TestVPN"
"provider_name": "TestVPN",
"residential": {
"confidence": 82,
"network_last_seen": "2026-05-11",
"provider_name": "quickshift"
}
},
"city": {
"confidence": 42,
Expand Down
Loading