Commit Graph
8 Commits
Author SHA1 Message Date
thepraandClaude Opus 5.5 d408edea98 House rules: the build checks them, and every refusal from the server answers 400, 403 or 404
Build / Desktop, server and tools (push) Successful in 1m8s
The server no longer answers 409, 413 or 429: a busy probe, a share or upload that is too large and a request over
the limit now answer 400 with the same reason as before, and still say when to try again. The app reads the reason,
so nothing changes for it; versions up to 0.15.4 report a limited speed test as unmeasured until they update.
The app's commands can now be cancelled all the way down, and the house rules are written into PATTERNS.md and
checked on every build, Android included.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W4YtEJrgxG12Pc39Fai8Bd
2026-11-10 05:32:04 +01:00
thepraandClaude Opus 5.5 aa031c6012 "me-web?" 0.11.0: the name of the block your address belongs to
Build / Desktop, server and tools (push) Successful in 1m4s
Release / Every platform, the server, the release (push) Successful in 21m49s
- 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
2026-10-16 18:10:19 +02:00
thepraandClaude Opus 5.5 320936c688 "me-web?" 0.7.0: the name in quotes, copy buttons, and every translation rewritten in plain words
Build / Desktop, server and tools (push) Successful in 1m19s
Release / Every platform, the server, the release (push) Successful in 9m34s
- The name is now always written in quotation marks, each language with its own: “me-web?”, «me-web?», „me-web?“, « me-web? », 「me-web?」. Without them the question mark read as the end of a sentence. In Arabic, Hebrew and the other right-to-left languages the question mark no longer jumps to the wrong side of the name.
- Your addresses, your router, your network, the reverse name, the route and the code of a submission you sent now sit in a small box with a copy button, ready to paste into a message to your provider or anywhere else.
- Every translation except English and Italian was rewritten for people who are not technical: everyday words first, the technical term in brackets, and one word for one thing across the whole app. They are still machine drafts; "Suggest a correction" is welcome in any language.
- A few lines are plainer in English and Italian too: the test servers for calls, and the server in the middle that carries a call when two homes can't connect directly.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 22:49:40 +02:00
thepraandClaude Opus 5.5 d18caed157 me-web? 0.6.0: provider notes from shared checks, and the internet seen from eight places
Build / Desktop, server and tools (push) Successful in 1m17s
Release / Every platform, the server, the release (push) Successful in 8m13s
- Notes on providers in any country: findings people choose to share are counted on the publisher's server, one
  vote per network. A total appears on the provider card only after a person has reviewed it, and only when at
  least five different networks of that provider agree four times in five; the card says how many agree.
  Notes researched by hand still come first, and on mobile data the totals for the mobile network replace the
  notes about home lines.
- "Connected to the internet through" now comes from eight RouteViews collectors (Oregon, Ashburn, London,
  Sao Paulo, Johannesburg, Dubai, Singapore, Sydney) instead of one in Oregon, each counting the same, so
  networks far from the United States are described from nearby. A network that only exchanges traffic with a
  collector's neighbour is no longer listed as one of its upstreams.
- Ready for measuring servers outside Europe: once the publisher adds one, the app times each server and runs
  the speed test and the test from outside against the closest. None exists yet, so nothing changes today.
- When me-web? has no notes on a provider, it says that findings shared at the end of a check help write them.
- The privacy page states the rule for publishing totals.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 19:44:18 +02:00
thepraandClaude Opus 5.5 c72a6be433 me-web? 0.5.3: the cards no longer contradict each other
Build / Desktop, server and tools (push) Successful in 1m25s
Release / Every platform, the server, the release (push) Successful in 8m20s
- From the publisher's own network, the tests aimed at its server stay inside the house, so
  the type of address translation, the ports, the hairpin, how long a connection stays open,
  the speed and the round trip described the home network: a report said "hard NAT" next to
  "ports kept". These cards now say the test can't run there, and those messages are not sent.
- Who holds your public IPv4 address is now decided by the same evidence as the address
  sharing card, so a home router behind a provider's shared address no longer reads "your
  router" on one card and "shared with other customers" on the next.
- When your connection differs from what the provider notes say is usual (a shared address,
  port 25), the provider card adds "On this line" with what was found, right under the note.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 12:59:42 +02:00
thepraandClaude Opus 5.5 20f8b2149f me-web? 0.4: no network failure takes the app down; mobile data read right; the route on the path
Build / Desktop, server and tools (push) Successful in 1m31s
Release / Every platform, the server, the release (push) Successful in 9m21s
- Every network call returns a result whatever fails, not only the exceptions .NET
  usually throws: on Android the HTTPS client is the platform's own stack, and a network
  switch mid-request throws others. The outside test as a whole cannot throw; sharing the
  link falls back to copying it. A last guard (the UI thread, unobserved tasks, Android's
  raiser) writes errors.log in the app folder and keeps the app running; nothing is sent.
- On mobile data the app no longer probes the operator's gateway as if it were a home
  router: the router card says there is none, a private address on the phone with another
  public one is the operator's address sharing (CGNAT) and is drawn as its shared exit, the
  public IPv4 is held by that exit, and the provider's notes are labelled as being about its
  home lines. These were "router not answering" and "can't tell" on an Iliad phone.
- The route's routers appear as stops on the path's wires: the operator's internal ones
  before its exit, the public ones with their network number towards the internet.
- The download speed is timed after the first quarter of the sample, once the connection
  has ramped up; the path no longer shows the address block's registry country.
- Two new strings, drafted in every language.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 09:10:37 +02:00
thepraandClaude Opus 5.5 7cfc8b6de5 me-web? 0.2: the test from outside, calls and games, mail, and what you can host
Build / Desktop, server and tools (push) Successful in 59s
Release / Every platform, the server, the release (push) Successful in 7m27s
Phases two and three ship together, because their code grew in the same
files. With consent the app asks the router to open 80, 443 and a high
port for ten minutes (UPnP, NAT-PMP or PCP), and the server, holding a
single-use ticket bound to the caller's own address, connects back and
must get an HMAC only the app can give; the mappings are removed after the
run and remembered until then, so a crash cannot leave one open. Hairpin
is tried from inside. Two STUN servers, the outside one first, tell easy
from hard NAT.

Mail gets port 25 to Gmail and Outlook, the reverse name and five
blocklists through the user's own resolver, network-wide UCEPROTECT
listings counted as a caution. DNS, speed against the server (four at a
time, twelve an hour per address) and the device follow, and six uses
(website, home from outside, files, game server, fediverse, mail) close
the run as possible, possible with a named workaround, or can't tell.

Findings can be shared after reading the exact JSON: a file per submission
under the unit's state directory, ten a day per address, deletable by the
token the app keeps, swept after twelve months; /privacy says all of it in
English and Italian. QR codes lead to the downloads. Every language carries
every string.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 05:41:44 +02:00
thepraandClaude Opus 5.5 0dffbc27d6 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
2026-10-15 04:39:03 +02:00