2026-10-15 22:49:40 +02:00
|
|
|
# “me-web?”
|
2026-10-15 01:14:44 +02:00
|
|
|
|
2026-10-15 22:49:40 +02:00
|
|
|
**Can you run your own server from here?** “me-web?” checks your connection and your device and tells you, in plain
|
2026-10-15 01:14:44 +02:00
|
|
|
words, what you could host at home, what stands in the way, and what would fix it.
|
|
|
|
|
|
2026-10-15 05:41:44 +02:00
|
|
|
> Status: early development.
|
2026-10-15 01:14:44 +02:00
|
|
|
|
|
|
|
|
## What it checks
|
|
|
|
|
|
2026-10-15 22:49:40 +02:00
|
|
|
“me-web?” draws the path from this device to the internet one step at a time (this device, your router, any shared
|
2026-10-15 08:08:37 +02:00
|
|
|
exit of your provider, your provider, the internet), with the details it found for each, and groups what it checks
|
|
|
|
|
under the step it concerns:
|
2026-10-15 01:14:44 +02:00
|
|
|
|
2026-10-15 04:39:03 +02:00
|
|
|
- whether you are online, or behind a login page;
|
|
|
|
|
- how this device is connected, and the address your router gave it;
|
|
|
|
|
- your public IPv4 and IPv6 addresses, and which device holds them;
|
|
|
|
|
- your provider, found offline in a built-in map, with what is usual for it (shared IPv4, an address of your own,
|
|
|
|
|
IPv6, the mail port) and the source and date of each note;
|
|
|
|
|
- whether your router answers apps that ask it to open ports (UPnP, NAT-PMP, PCP), and which internet address it has;
|
|
|
|
|
- whether your provider shares your public IPv4 address with other customers (CGNAT) or there is a second router
|
|
|
|
|
in the way;
|
2026-10-15 11:11:24 +02:00
|
|
|
- how your router translates addresses for calls and games (easy or hard NAT), with two STUN servers, and how it
|
|
|
|
|
hands out ports, whether two devices behind it can reach each other, and how long it keeps an unused connection
|
|
|
|
|
open; behind a provider's shared address, how many customers may share it;
|
|
|
|
|
- on mobile data, the operator and the type of network (5G, 4G), read from the phone itself;
|
2026-10-15 05:41:44 +02:00
|
|
|
- only if you agree: whether the outside world can actually reach this device, over IPv4 and IPv6, with the ports
|
|
|
|
|
opened by your router for ten minutes and closed afterwards, and whether your own public address works from home
|
|
|
|
|
(hairpin);
|
|
|
|
|
- whether this connection can send mail directly: port 25, the reverse name (PTR) and the blocklists, asked through
|
|
|
|
|
your own name server;
|
|
|
|
|
- whether your name server checks signatures (DNSSEC) and answers honestly for names that don't exist;
|
2026-10-15 11:11:24 +02:00
|
|
|
- the speed and the round-trip time to the publisher's server, and whether this device makes a sensible server;
|
|
|
|
|
- which networks your provider reaches the internet through, and, with the test from outside, the route from the
|
|
|
|
|
publisher's server back to your address;
|
2026-10-15 04:39:03 +02:00
|
|
|
- how your public address has changed across your earlier checks.
|
|
|
|
|
|
2026-10-15 05:41:44 +02:00
|
|
|
It ends with what that means: a website, reaching home from outside, family photos and files, a game or voice
|
|
|
|
|
server, a fediverse or blog server, a mail server — possible, possible with a workaround (and which), or can't tell.
|
|
|
|
|
|
|
|
|
|
At the end you can choose to share your findings, after reading exactly what is sent, to improve the notes on
|
|
|
|
|
providers; you can delete them from the app at any time, and they are deleted after twelve months
|
|
|
|
|
(<https://meweb.arasaka.software/privacy>).
|
|
|
|
|
|
|
|
|
|
Planned: the builds for Mac announced once they have been tried on a real Mac.
|
2026-10-15 01:14:44 +02:00
|
|
|
|
|
|
|
|
## Platforms
|
|
|
|
|
|
|
|
|
|
Linux (deb, rpm), Windows, macOS and Android. Builds are published as releases of this repository.
|
|
|
|
|
|
|
|
|
|
## Privacy
|
|
|
|
|
|
2026-10-15 22:49:40 +02:00
|
|
|
“me-web?” sends nothing anywhere unless a check needs it, and lists every host it contacts ("What this app contacts"
|
2026-10-15 05:41:44 +02:00
|
|
|
in the app). It has no telemetry, no analytics and no crash reporting. Your checks are kept on your device only,
|
|
|
|
|
unless you choose to share them.
|
2026-10-15 01:14:44 +02:00
|
|
|
|
2026-10-15 01:24:11 +02:00
|
|
|
## Verifying the Android app
|
|
|
|
|
|
|
|
|
|
The APK is signed with the key whose certificate SHA-256 is
|
|
|
|
|
`5f:52:cf:f4:f5:2f:4e:0b:6d:a6:cd:04:4b:fc:ea:f7:8d:1d:42:db:24:f2:47:06:02:db:7f:19:cb:fd:f8:46`
|
|
|
|
|
(`apksigner verify --print-certs MeWeb-<version>-android.apk`). Every release also carries `SHA256SUMS.txt`.
|
|
|
|
|
|
2026-10-15 04:39:03 +02:00
|
|
|
## Credits
|
|
|
|
|
|
2026-10-15 11:11:24 +02:00
|
|
|
- Network data, refreshed on the publisher's server and embedded in every release (the release notes carry each
|
|
|
|
|
source's date and SHA-256):
|
|
|
|
|
- provider map: [iptoasn.com](https://iptoasn.com), Public Domain Dedication and License (PDDL 1.0);
|
|
|
|
|
- network names: IP to ASN Lite by [DB-IP](https://db-ip.com), Creative Commons Attribution 4.0 (CC BY 4.0);
|
2026-10-15 19:44:18 +02:00
|
|
|
- which networks each provider reaches the internet through: [RouteViews](https://www.routeviews.org), University
|
|
|
|
|
of Oregon, CC BY 4.0, from eight of its route collectors (Oregon, Ashburn, London, São Paulo, Johannesburg, Dubai,
|
|
|
|
|
Singapore, Sydney), so that each region of the world has its own view; only each network's most frequent
|
|
|
|
|
neighbours are kept. "With contributions from network operators and volunteers all over the world, RouteViews
|
|
|
|
|
collects BGP data by direct peering at Internet Exchange Points (IXPs) or multi-hop peering. Data are archived and
|
|
|
|
|
made publicly available for download at archive.routeviews.org, lg.routeviews.org, and api.routeviews.org.";
|
2026-10-16 18:10:19 +02:00
|
|
|
- mobile operators by network code: the Android Open Source Project's carrier list, Apache License 2.0;
|
|
|
|
|
- the name of the block of addresses a connection belongs to: the [RIPE Database](https://www.ripe.net/manage-ips-and-asns/db/)
|
|
|
|
|
of the RIPE NCC, used with the RIPE NCC's permission (16 October 2026) on condition that it is never put behind
|
|
|
|
|
a paywall or used to make money. Only each block's range, name and country are kept, nothing about people. The
|
|
|
|
|
apps carry every block of at least 2,048 IPv4 addresses or a /40 in IPv6, and the smaller ones, down to 256
|
|
|
|
|
addresses or a /48, whose name recurs; the server keeps every block and tells each app only the block of the
|
|
|
|
|
address it sees. The
|
|
|
|
|
data may lag behind the live database; the release notes give its date.
|
2026-10-15 04:39:03 +02:00
|
|
|
- Provider notes: each operator's own technical sheet (AGCOM 156/23 in Italy) and users' reports on
|
2026-10-15 19:44:18 +02:00
|
|
|
[FibraClick](https://forum.fibra.click), each cited in `data/isps/`; and, for any country, totals from findings
|
|
|
|
|
people chose to share (`data/observed.json`), published only after a person has reviewed them and only where at
|
|
|
|
|
least five different networks of a provider agree four times in five.
|
2026-10-15 04:39:03 +02:00
|
|
|
- Icons: [Lucide](https://lucide.dev), ISC licence.
|
|
|
|
|
- Typeface: Inter, SIL Open Font License.
|
|
|
|
|
|
2026-10-15 01:14:44 +02:00
|
|
|
## Building
|
|
|
|
|
|
|
|
|
|
See `CLAUDE.md`. .NET 10, Avalonia 12.
|
|
|
|
|
|
|
|
|
|
## Licence
|
|
|
|
|
|
|
|
|
|
GNU Affero General Public License v3.0 (`LICENSE`). © 2026 Arasaka di Hvozdikov Yevheniy.
|
|
|
|
|
|
|
|
|
|
Translations other than English and Italian are machine drafts until someone reviews them. Corrections are welcome
|
2026-10-15 05:41:44 +02:00
|
|
|
as issues on this repository. Nauruan and Palauan are missing: no draft good enough to ship could be written, and a
|
|
|
|
|
speaker's help would put them in.
|