me-web? 0.5: the shared exit measured, the route from the server, the network's upstreams
Build / Desktop, server and tools (push) Successful in 59s
Release / Every platform, the server, the release (push) Successful in 8m42s

- Behind your provider's shared address, me-web? now shows how its exit hands out ports
  (kept, one after another, from one block, or at random), the range it gave this device,
  and how many customers may share the address at most; the estimate sharpens with each
  check on the same address.
- It tests whether two devices behind the same address can reach each other (hairpin), and
  how long an unused connection stays open: the card says "measuring" for about two minutes
  after the check, then the answer.
- With the test from outside, the publisher's server also traces the route back to your
  address: your provider's routers and the networks in between appear on the path, with
  their names.
- The provider card says which networks your provider reaches the internet through.
- On mobile data, the path shows the operator and the type of network (5G, 4G) read from the
  phone; on Android 13 and later the phone asks once for permission to read the network type.
- The speed card adds the round trip to the publisher's server.
- The network data now comes from the publisher's server, refreshed there from open sources:
  iptoasn.com, DB-IP Lite (CC BY 4.0), the University of Oregon Route Views Project (CC BY 4.0)
  and the Android Open Source Project's list of mobile operators (Apache 2.0); the release
  notes list each source's date and checksum.
- Source links in the cards wrap instead of being cut off.
- New strings, drafted in every language.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-15 11:11:24 +02:00
1 parent 8caed6b28d
commit eb8be87284
145 files changed
+3704 -193

No files matched your search

+22 -1
View File
@@ -47,10 +47,11 @@
"ContactServer": "meweb.arasaka.software, run by the publisher in Italy: to see whether you are online, which public addresses the internet sees and whether a newer version exists, and, only if you agree, to try to reach this device from outside. The me-web? server keeps nothing about your checks unless you send them.",
"ContactShare": "Only if you choose to share: your findings, sent to meweb.arasaka.software after you have read them.",
"ContactSpeed": "meweb.arasaka.software again for the speed test: up to 12 MB down and 4 MB up (2 and 1 on mobile data).",
"ContactStun": "stun.meweb.arasaka.software, run by the publisher, and stun.nextcloud.com, run by Nextcloud GmbH in Germany: one short message each, to see how your router translates addresses for calls and games.",
"ContactStun": "stun.meweb.arasaka.software, run by the publisher, and stun.nextcloud.com, run by Nextcloud GmbH in Germany: one short message to Nextcloud and about twenty to the publisher's, some two minutes apart, to see how your router or your provider translates addresses for calls and games.",
"Contacts": "What this app contacts",
"ContactsIntro": "me-web? talks only to these, and only when it checks:",
"CopyLink": "Share the link",
"DataCredits": "Network data: iptoasn.com (public domain), DB-IP Lite by db-ip.com (CC BY 4.0), the University of Oregon Route Views Project (CC BY 4.0) and the Android Open Source Project's list of mobile operators (Apache 2.0).",
"DeviceGood": "This computer could run small services, if it stays on.",
"DeviceLaptop": "Fine for trying things; for a server that stays on, a small always-on computer is better.",
"DevicePhone": "A phone is a poor server: it sleeps, moves around and runs on battery.",
@@ -88,6 +89,7 @@
"FactDownload": "Download",
"FactGateway": "Router address",
"FactHairpin": "From home to your own public address",
"FactHairpinExit": "Two devices behind the same address talk directly (hairpin)",
"FactHint": "Hint",
"FactIpv6": "IPv6",
"FactIpv6Names": "Looks up IPv6 addresses",
@@ -97,13 +99,16 @@
"FactLocalIpv6": "IPv6 addresses of this device",
"FactLocalPort": "Port on this device",
"FactMapping": "Router asked to open",
"FactMappingLife": "An unused connection stays open for",
"FactMemory": "Memory (RAM)",
"FactMissingNames": "Names that don't exist",
"FactNatPmp": "NAT-PMP",
"FactNetwork": "Network",
"FactNetworkIpv6": "Network for IPv6",
"FactOperator": "Mobile operator",
"FactPcp": "PCP",
"FactPort25": "Port 25 (sending mail)",
"FactPortSlice": "Ports handed out",
"FactProviderIpv4": "IPv4 address",
"FactProviderIpv6": "IPv6",
"FactProviderPort25": "Mail port 25",
@@ -111,22 +116,28 @@
"FactProviderSheet": "Technical sheet",
"FactPublicV4": "Public IPv4",
"FactPublicV6": "Public IPv6",
"FactRadio": "Mobile network type",
"FactReachV4": "From outside over IPv4",
"FactReachV6": "From outside over IPv6",
"FactRedirectedTo": "Sent to",
"FactReverseConfirmed": "Name points back to the address",
"FactReverseLooks": "Looks like",
"FactReverseName": "Reverse name (PTR)",
"FactRoaming": "Roaming",
"FactRoundTrip": "Round trip to meweb.arasaka.software",
"FactRoute": "First steps of the route",
"FactRouteBack": "Route from meweb.arasaka.software to you",
"FactRouter": "Router",
"FactRouterWan": "Router's internet address",
"FactSample": "Data used",
"FactSharers": "Customers who may share this address",
"FactSince": "Since",
"FactStunFirst": "First STUN server",
"FactStunSecond": "Second STUN server",
"FactSystem": "System",
"FactUpload": "Upload",
"FactUpnp": "UPnP",
"FactUpstreams": "Connected to the internet through",
"FactWayOut": "Way around it",
"FactWhoHasIpv6": "IPv6 address held by",
"FactWhoHasIt": "IPv4 address held by",
@@ -306,6 +317,8 @@
"UsesTitle": "What you can host from here",
"ValueAnswered": "answered",
"ValueAnsweredMissing": "reported as missing",
"ValueAtLeastSeconds": "at least {0} seconds",
"ValueBetweenSeconds": "between {0} and {1} seconds",
"ValueCantTell": "can't tell",
"ValueCantTellResolver": "{0}: your name server can't ask it",
"ValueCount": "{0}",
@@ -328,6 +341,8 @@
"ValueMapped": "port {0}: opened ({1})",
"ValueMbps": "{0} Mbit/s",
"ValueMbpsDecimal": "{0} Mbit/s",
"ValueMeasuring": "measuring, about two minutes…",
"ValueMilliseconds": "{0} ms",
"ValueNo": "no",
"ValueNoReverse": "none",
"ValueNotListed": "{0}: not listed",
@@ -336,11 +351,17 @@
"ValueOpenSheet": "Open the operator's sheet",
"ValuePort25Blocked": "blocked",
"ValuePort25Open": "open ({0} answered)",
"ValuePortsBlock": "from one block, {0}–{1}",
"ValuePortsInOrder": "one after another, {0}–{1}",
"ValuePortsKept": "the same as on this device",
"ValuePortsScattered": "scattered at random",
"ValueRefused": "refused (code {0})",
"ValueSample": "{0} MB down, {1} MB up",
"ValueSharedAtHome": "your router, shared by every device at home",
"ValueSharedProvider": "your provider's shared exit, used by other customers too",
"ValueSilent": "no answer",
"ValueUnderSeconds": "less than {0} seconds",
"ValueUpTo": "up to about {0}",
"ValueYes": "yes",
"VerdictCannotTell": "Can't tell",
"VerdictNotPossible": "Not from here",