The checks engine, the path and the cards: me-web? 0.1 reads the connection
MeWeb.Core runs seven checks concurrently and reports each as it settles:
online or behind a login page, this connection, the public IPv4 and IPv6
seen from v4./v6.meweb, the provider from a built-in map, the router
(UPnP IGD, NAT-PMP and PCP, read-only), address sharing (router WAN
against the echo, TTL hops only as a hint), and the history kept on the
device. The app draws the path from this device to the internet and lights
it node by node, with a card per check and a sheet listing every host it
contacts.
The provider map is iptoasn's table compressed to 2.1 MB by
tools/knowledge.cs and built before every app release; eleven Italian
provider profiles carry each fact with who said it, the source and the
month. The server gains a download page (en, it) and /download/{platform}
from the latest Gitea release.
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
16a1cecaae
commit
0dffbc27d6
61 files changed
+3750
-149
No files matched your search
@@ -39,6 +39,11 @@ Directory.CreateDirectory(output);
|
||||
Console.WriteLine($"me-web? {version} ({commit}): {string.Join(", ", targets)} -> {output}");
|
||||
|
||||
var failed = false;
|
||||
if (targets.Any(t => t != "server"))
|
||||
{
|
||||
Console.WriteLine("== knowledge");
|
||||
RunTool("knowledge.cs");
|
||||
}
|
||||
foreach (var target in targets)
|
||||
{
|
||||
try
|
||||
@@ -61,8 +66,25 @@ foreach (var target in targets)
|
||||
}
|
||||
}
|
||||
WriteSums();
|
||||
WriteNotes();
|
||||
return failed ? 1 : 0;
|
||||
|
||||
void WriteNotes()
|
||||
{
|
||||
var source = Path.Combine(root, "artifacts", "knowledge", "SOURCE.txt");
|
||||
var lines = new List<string>
|
||||
{
|
||||
$"me-web? {version}, commit {commit}, built {builtAt}.",
|
||||
"",
|
||||
"Built with the provider map from iptoasn.com (PDDL 1.0):",
|
||||
"",
|
||||
};
|
||||
lines.AddRange(File.Exists(source) ? File.ReadAllLines(source).Where(l => l.Length > 0).Select(l => $" {l}") : [" (no provider map in this build)"]);
|
||||
lines.AddRange(["", "SHA256SUMS.txt lists every file. The APK's signing certificate SHA-256 is 5f52cff4f52f4e0b6da6cd044bfceaf78d1d42db24f2470602db7f19cbfdf846."]);
|
||||
Directory.CreateDirectory(Path.Combine(root, "artifacts"));
|
||||
File.WriteAllLines(Path.Combine(root, "artifacts", "release-notes.md"), lines);
|
||||
}
|
||||
|
||||
string[] Stamp() => [$"-p:Version={version}", $"-p:BuildCommit={commit}", $"-p:BuildTimeUtc={builtAt}"];
|
||||
|
||||
string Linux()
|
||||
|
||||
Reference in new issue
Block a user