Commit Graph
18 Commits
Author SHA1 Message Date
thepraandClaude Opus 5.5 ad33779356 Release notes come from app-stores' changelog action, into the deb and rpm too
Build / Desktop, server and tools (push) Successful in 1m12s
The release's "What's new" is now written by the shared generator every Arasaka
release uses, from the same commit messages and with the same "me-web? x.y.z:" prefix
removed; the deb and rpm carry it as their changelog (apt changelog, rpm --changelog),
and CHANGELOG.md is attached beside the files and listed in SHA256SUMS.txt.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 18:19:25 +01:00
thepraandClaude Opus 5.5 f41e1e178f packages.arasaka.software is published from its own repository; the release only signs the rpm
Build / Desktop, server and tools (push) Successful in 1m4s
thepra/packages.arasaka.software now reads this repository's releases and publishes
them with every other joined app, so the daily packages and F-Droid jobs, their
scripts and the repository's F-Droid settings leave this repository. The release
still signs the rpm on its own page with the Arasaka key, as the README promises,
and the F-Droid listing stays in packaging/fdroid/metadata, read at each tag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-01 17:10:32 +01:00
thepraandClaude Opus 5.5 e112c1dc1e A daily job keeps the tools behind the deb and rpm repositories current
Build / Desktop, server and tools (push) Successful in 1m28s
The box updates the tools that build packages.arasaka.software every morning, and
packages.yml rebuilds and re-signs the apt and rpm repositories when those tools change,
so a broken update shows up the same morning, not at the next release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T9uhaCTSycTh1r8At679Pz
2026-10-31 22:52:24 +01:00
thepraandClaude Opus 5.5 10a85e6bc5 A daily job keeps the F-Droid tools current and rebuilds the repository when they change
Build / Desktop, server and tools (push) Successful in 51s
- Every day the F-Droid repository's tools are checked for a newer version that has been out for at least two
  weeks. When there is one, or when the app's listing changed, the repository is rebuilt with it, and releases
  use it only once that worked, so a faulty update of the tools can never hold up a release.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T9uhaCTSycTh1r8At679Pz
2026-10-31 11:03:52 +01:00
thepraandClaude Opus 5.5 cafa40decf The F-Droid repository is built with the newest F-Droid tools at every release
Build / Desktop, server and tools (push) Successful in 1m9s
- Each release now installs the newest version of F-Droid's own tools that has been out for at least two weeks,
  instead of one fixed version, so the repository keeps up with F-Droid without anyone updating it by hand.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T9uhaCTSycTh1r8At679Pz
2026-10-31 10:54:33 +01:00
thepraandClaude Opus 5.5 57052a6011 me-web? 0.15.2: the first version in the F-Droid repository
Build / Desktop, server and tools (push) Successful in 1m11s
Release / Every platform, the server, the release (push) Successful in 8m12s
- Nothing changes in the app. 0.15.1 never reached the F-Droid repository at packages.arasaka.software/fdroid/repo;
  this version is the first one there, so F-Droid, a store like it, or Obtainium can now find it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T9uhaCTSycTh1r8At679Pz
2026-10-31 09:48:35 +01:00
thepraandClaude Opus 5.5 94cc74bb95 me-web? 0.15.1: the F-Droid repository is signed with the app's own key
Build / Desktop, server and tools (push) Successful in 1m6s
Release / Every platform, the server, the release (push) Failing after 8m5s
- The Arasaka F-Droid repository, packages.arasaka.software/fdroid/repo, is signed with the same key as the app, so
  the fingerprint F-Droid or Obtainium checks is the one already on the download page for the APK.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T9uhaCTSycTh1r8At679Pz
2026-10-31 09:24:50 +01:00
thepraandClaude Opus 5.5 b38f50ee5e The APK also lands in an F-Droid repository on packages.arasaka.software, linked from the download page with Obtainium
Build / Desktop, server and tools (push) Successful in 1m12s
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T9uhaCTSycTh1r8At679Pz
2026-10-31 03:22:36 +01:00
thepraandClaude Opus 5.5 6209c7f2e1 me-web? 0.15.0: address blocks from Asia, Africa and Latin America too
Build / Desktop, server and tools (push) Successful in 1m10s
Release / Every platform, the server, the release (push) Successful in 29m11s
- The provider card now names the address block your connection belongs to in Asia and the Pacific, in Africa, and
  in Latin America and the Caribbean, not only in Europe and the Middle East. The blocks come from the address
  registries APNIC, AFRINIC and LACNIC, used with their permission, and travel inside the app, so this works
  without a connection too.
- In Latin America and the Caribbean the registry gives no names for its blocks, so the card says how the block was
  handed out instead, for example "passed on by the provider to one of its customers".
- The app is about 6 MB larger, because it carries these blocks.
- The app's name no longer has quotation marks where it stands on its own: the window title, the name under the
  icon, the version line and the website's titles. Inside a sentence it keeps them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-30 22:32:49 +01:00
thepraandClaude Opus 5.5 599ea2bf84 The release job feeds packages.arasaka.software itself; YoloCICD is gone
Build / Desktop, server and tools (push) Successful in 1m17s
.gitea/scripts/packages.sh signs the rpm with the org secret PACKAGES_SIGNING_KEY,
publishes the deb and rpm into a new snapshot of the repository, signs its metadata and
rewrites SHA256SUMS.txt, on the nuvola runner. Tested against a copy of the live
repository with Debian 13 apt and Fedora 44 dnf.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KizzWs2WQPWN2qgE7G6r8B
2026-10-23 10:38:55 +02:00
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 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 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 16a1cecaae The deployed folder keeps 755: mktemp's 700 was copied onto it
Build / Desktop, server and tools (push) Successful in 29s
rsync -a carried the staging folder's mode to /var/www/meweb.arasaka.software,
and the meweb user could no longer enter it (status=200/CHDIR).

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