"me-web?" 0.11.0: the name of the block your address belongs to
- The provider card now shows the address block your connection belongs to, as the RIPE Database names it, for example "MOBILE-USERS-BLOCK (IT)" on Iliad mobile or "FASTWEB-L3-PAT_NAT (IT)" on a Fastweb shared address. The path shows it under your provider too. - No block is left out: the server keeps every block in the RIPE Database, small and unique ones included, and tells the app the block of the address it sees, never anyone else's. The app also carries about 430,000 of the larger blocks, for when the server can't be reached. - Only each block's range, name and country are used, nothing about people. The data comes from the RIPE NCC's RIPE Database, used with the RIPE NCC's permission; it may lag behind the live database, and the "What this app contacts" sheet gives its date. - The privacy page says that the server's answer now includes that block name; nothing new is stored or sent. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
This commit is contained in:
1 parent
340b2678ef
commit
aa031c6012
132 files changed
+825
-29
No files matched your search
@@ -97,7 +97,7 @@ public static class Verdicts
|
||||
return finding;
|
||||
}
|
||||
|
||||
public static Finding Provider(KnowledgeBase knowledge, AsnEntry v4, AsnEntry v6, bool anyAddress, bool mobile, RunReport run = null)
|
||||
public static Finding Provider(KnowledgeBase knowledge, AsnEntry v4, AsnEntry v6, RegistryBlock blockV4, RegistryBlock blockV6, bool anyAddress, bool mobile, RunReport run = null)
|
||||
{
|
||||
var finding = new Finding { Id = CheckId.Provider };
|
||||
if (!anyAddress)
|
||||
@@ -127,6 +127,9 @@ public static class Verdicts
|
||||
finding.Args = [profile?.Name ?? Display(main)];
|
||||
finding.With("FactNetwork", Describe(main));
|
||||
if (v6 is not null && v4 is not null && v6.Number != v4.Number) finding.With("FactNetworkIpv6", Describe(v6));
|
||||
var block = v4 is not null ? blockV4 : blockV6;
|
||||
finding.With("FactBlock", Describe(block));
|
||||
if (v4 is not null && blockV6 is not null && blockV6.Name != blockV4?.Name) finding.With("FactBlockIpv6", Describe(blockV6));
|
||||
var upstreams = knowledge.NetworkFor(main.Number)?.Upstreams ?? [];
|
||||
if (upstreams.Count > 0) finding.With("FactUpstreams", string.Join("\n", upstreams.Select(u => $"{knowledge.NameOf(u) ?? "AS" + u} (AS{u})")));
|
||||
if (hand is null && observed is null) return finding;
|
||||
@@ -483,6 +486,8 @@ public static class Verdicts
|
||||
|
||||
static string Describe(AsnEntry entry) => $"{Display(entry)} (AS{entry.Number})";
|
||||
|
||||
static string Describe(RegistryBlock block) => block is null ? null : string.IsNullOrEmpty(block.Country) ? block.Name : $"{block.Name} ({block.Country})";
|
||||
|
||||
static string Join(string make, string label)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(make)) return label;
|
||||
|
||||
Reference in new issue
Block a user