Match Mullvad hosts by suffix

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
David Heinemeier Hansson
2026-07-18 12:56:46 -07:00
co-authored by Claude Fable 5
parent 1620b3467b
commit 96bb617a9c
+10 -4
View File
@@ -35,10 +35,16 @@ function displayHostName(hostName, dnsName) {
return shortDnsName(dnsName) || host || "Unknown" return shortDnsName(dnsName) || host || "Unknown"
} }
function isMullvadHost(name) {
var value = String(name || "").toLowerCase()
var suffix = ".mullvad.ts.net"
return value.length > suffix.length && value.indexOf(suffix) === value.length - suffix.length
}
function isMullvadPeer(peer) { function isMullvadPeer(peer) {
var hostName = String((peer && peer.HostName) || "").toLowerCase() var hostName = String((peer && peer.HostName) || "")
var dnsName = cleanDnsName((peer && peer.DNSName) || "").toLowerCase() var dnsName = cleanDnsName((peer && peer.DNSName) || "")
return dnsName.indexOf(".mullvad.ts.net") !== -1 || hostName.indexOf(".mullvad.ts.net") !== -1 return isMullvadHost(dnsName) || isMullvadHost(hostName)
} }
function osIcon(os) { function osIcon(os) {
@@ -120,7 +126,7 @@ function parseExitNodeList(raw) {
var country = sliceTableColumn(line, countryStart, cityStart) var country = sliceTableColumn(line, countryStart, cityStart)
var city = sliceTableColumn(line, cityStart, statusStart) var city = sliceTableColumn(line, cityStart, statusStart)
var status = sliceTableColumn(line, statusStart, -1) var status = sliceTableColumn(line, statusStart, -1)
if (host.indexOf(".mullvad.ts.net") === -1) continue if (!isMullvadHost(host)) continue
byHost[host] = { byHost[host] = {
id: "mullvad:" + host, id: "mullvad:" + host,