Commit Graph
4 Commits
Author SHA1 Message Date
thepraandClaude Opus 5.5 4b4b37ad8e me-web? 0.3.1: sharing offered when the check ends; an Android icon that fits
Build / Desktop, server and tools (push) Successful in 58s
Release / Every platform, the server, the release (push) Successful in 7m29s
- The offer to share the findings appeared only after the "test from outside?" question was
  answered, so scrolling past it meant no offer at all. It now appears as soon as the check
  ends (hidden only while the outside test runs), and a payload built later still carries
  the outside test's result.
- Android gets an adaptive launcher icon: the drawing as a vector inside the 66-unit safe
  zone over the background colour, plus a monochrome layer for themed icons. The splash
  screen uses the same vector, so it is neither cut by the circle nor blurred from a
  192-pixel picture. The PNG stays for Android 7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
2026-10-15 08:31:10 +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 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