Commit Graph
17 Commits
Author SHA1 Message Date
thepraandClaude Opus 5.5 91c92c80e9 "me-web?" 0.13.0: updates on Linux arrive through your package manager
Build / Desktop, server and tools (push) Successful in 1m34s
Release / Every platform, the server, the release (push) Successful in 12m28s
- Installing the deb or the rpm now also adds the Arasaka package repository, packages.arasaka.software, so later
  versions of “me-web?” arrive through apt, dnf, zypper or your software centre, like any other program.
- The rpm is now signed. On openSUSE, import the key once with
  sudo rpm --import https://packages.arasaka.software/arasaka.asc
- Removing the package keeps the repository until no Arasaka package is left (purge on Debian and Ubuntu); a
  repository file you edited by hand is never touched.
- The download and privacy pages say so; the repository server keeps no access log.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-16 22:05:08 +02:00
thepraandClaude Opus 5.5 50c40195d3 "me-web?" 0.12.0: every address block travels with the app
Build / Desktop, server and tools (push) Successful in 1m15s
Release / Every platform, the server, the release (push) Successful in 26m55s
- The app now carries the whole RIPE Database list of address blocks, all five million, small single-customer blocks
  included, so the provider card and the path can name the block your connection belongs to without a connection to
  the publisher's server. The downloads are about 25 MB larger for it.
- When the publisher's server can't be reached, the provider card still names your network and its block, from the
  public address your router reports or the one the STUN test sees.
- The table is read a small piece at a time, so it takes almost no memory on a phone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-16 19:41:56 +02: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 340b2678ef "me-web?" 0.10.0: three cards that fold as you scroll, then a yes or a no
Build / Desktop, server and tools (push) Successful in 1m10s
Release / Every platform, the server, the release (push) Successful in 9m47s
- The first screen is three cards you scroll through: what you could have (your family's photos at home, open from anywhere), how it works (a small computer that stays on, and an address of your own), and the question that matters: does your home have one?
- As you scroll down, the first two cards fold into two bubbles at the top. Tap a bubble to go back to its card.
- The last card ends with a choice: "Yes, let's find out" starts the check; "Not for me" says goodbye and closes the app.
- After your first check, the app opens on the last card, with the first two already folded.
- The swipe-through pages and the circling drawing are gone; the six things you could host stay listed under the cards.
- While a check runs, nothing is left empty: each thing you could host has its card from the start, with a "Checking" label and a moving shimmer, until its answer arrives. Checks still running look the same.
- The question, the two answers and the goodbye are in every language; translations other than English and Italian are still drafts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-16 09:53:10 +02:00
thepraandClaude Opus 5.5 f066ef106c "me-web?" 0.9.0: first it shows you where this leads, then it checks
Build / Desktop, server and tools (push) Successful in 1m7s
Release / Every platform, the server, the release (push) Successful in 7m43s
- The first time you open the app, two short pages come before the check. The first shows a photo you take far from home going to a small computer in your house, and on to your parents' tablet a moment later. The second shows what that takes: a computer that stays on, and a connection with an address of its own. A house with its own number lets the visitor in; a block of flats that shares one number stops them at the main door. Many connections have their own address, and when one doesn't there is often a way round it.
- Swipe, or press Next. Skip goes straight to the check. "What could I do with this?" on the first screen shows the two pages again.
- The first screen now says only what the check finds out, so it no longer repeats the pages.
- On Android the back button goes to the previous page, and closes the information and share panels.
- Every language has the new words, written for people who are not technical; translations other than English and Italian are still drafts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-16 04:59:15 +02:00
thepraandClaude Opus 5.5 7e3be9ed41 "me-web?" 0.7.1: changing the language changes all of it
Build / Desktop, server and tools (push) Successful in 1m7s
Release / Every platform, the server, the release (push) Successful in 8m0s
- Choosing another language now changes every text on the screen at once. Before, the titles, the question about the test from outside and most labels stayed in the previous language until the app was restarted.
- On narrow phones the name at the top shrinks to fit instead of slipping under the info button.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-16 00:21:41 +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 eb8be87284 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
2026-10-15 11:11:24 +02:00
thepraandClaude Opus 5.5 ea971d2aea Release notes written from the commits since the previous tag
Build / Desktop, server and tools (push) Successful in 41s
- The release page's "What's new" now comes from each commit's subject and body since the
  previous tag, without trailers or any line naming the assistant that helped write them.
- `tools/release.sh notes` writes the notes alone; the release checkout fetches the tags.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 09:22:16 +02:00
thepraandClaude Opus 5.5 37752f9f07 me-web? 0.3: the path in drawn steps, each step's checks under it, the real RAM
Build / Desktop, server and tools (push) Successful in 59s
Release / Every platform, the server, the release (push) Successful in 7m35s
- The path from this device to the internet is a vertical zig-zag of larger drawings (this
  phone or computer, the router or the mobile network, a shared exit, the provider's building,
  the globe) that pulse while their step is checked, joined by curved wires with the link and
  its speed, and a few details beside each: the model, the addresses inside and outside the
  router and which port-opening protocols answer, the AS number, the public addresses.
- The results are grouped under the step they concern, in the path's order, with the same
  drawing as a heading; tapping a step in the path scrolls to its checks.
- After a check, the status and "Check again" move to the end, beside sharing.
- Memory reads the device's RAM: on Android it showed the runtime's heap limit (0.1 GB).
  Labelled "Memory (RAM)" in every language. Free disk is read for the app's own folder, so
  Android shows it too. The device's model is read on Android, Linux and Windows.
- Two icons drew outside their box (the outside test's shield, the calls and games radio
  tower): joined Lucide elements started with a relative move. Fixed; twelve unused icons
  deleted.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 08:08: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
thepraandClaude Opus 5.5 0d99c552eb Workload install without build flags; CI variables and the APK key documented
Build / Desktop, server and tools (push) Successful in 28s
dotnet workload install refuses -nologo. CLAUDE.md lists every variable and
secret the scripts and workflows read; the README gives the APK
certificate's SHA-256.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 01:24:11 +02:00
thepraandClaude Opus 5.5 b66ee80a33 Install the Android workload before asking it for its dependencies
Build / Desktop, server and tools (push) Successful in 29s
InstallAndroidDependencies is a target of the Android SDK workload, so on
a runner without it the build stopped at NETSDK1147.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 01:21:43 +02:00
thepraandClaude Opus 5.5 8eaf9f36fc Every official language, in JSON: 113 listed, five shipped so far
Build / Desktop, server and tools (push) Successful in 33s
The language list comes from CLDR (official in a UN member state, plus the
six UN languages), with autonyms and text direction supplied for the 21
that ICU does not know. Strings move from resx to one JSON file per
language, looked up by code, so a language unknown to ICU or MSBuild still
loads; tools/strings.cs checks keys and placeholders in CI. Arabic, Hindi
and Chinese drafts prove right-to-left and system-font fallback.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 01:18:13 +02:00
thepraandClaude Opus 5.5 7589121846 me-web? skeleton: Avalonia 12 app, server, packaging and CI
Build / Desktop, server and tools (push) Successful in 1m7s
The first screen (online or not, a Check button, every language with a
draft notice), the desktop and Android heads, the server's /api/info and
/api/ip, a release tool that builds deb, rpm, a Windows exe, macOS zips,
a signed APK and the server, and the Gitea workflows that run it. Rules
adapted from passolo; AGPL-3.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 01:14:44 +02:00