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
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-15 11:11:24 +02:00
1 parent 8caed6b28d
commit eb8be87284
145 files changed
+3704 -193

No files matched your search

+22 -1
View File
@@ -47,10 +47,11 @@
"ContactServer": "meweb.arasaka.software, сервер издателя в Италии: чтобы узнать, есть ли у вас интернет, какие публичные адреса видит интернет и вышла ли новая версия, а также, только с вашего согласия, чтобы попробовать достучаться до этого устройства извне. Сервер me-web? ничего не хранит о ваших проверках, если вы их сами не отправите.",
"ContactShare": "Только если вы решите поделиться: ваши результаты, отправленные на meweb.arasaka.software после того, как вы их прочитаете.",
"ContactSpeed": "Снова meweb.arasaka.software, для проверки скорости: до 12 MB на скачивание и 4 MB на отправку (2 и 1 в мобильной сети).",
"ContactStun": "stun.meweb.arasaka.software, сервер издателя, и stun.nextcloud.com, сервер Nextcloud GmbH в Германии: по одному короткому сообщению каждому, чтобы узнать, как ваш роутер преобразует адреса для звонков и игр.",
"ContactStun": "stun.meweb.arasaka.software, сервер издателя, и stun.nextcloud.com, сервер Nextcloud GmbH в Германии: одно короткое сообщение Nextcloud и около двадцати серверу издателя, некоторые с интервалом в две минуты, чтобы узнать, как ваш роутер или провайдер преобразует адреса для звонков и игр.",
"Contacts": "С чем связывается приложение",
"ContactsIntro": "me-web? обращается только к ним и только во время проверки:",
"CopyLink": "Поделиться ссылкой",
"DataCredits": "Данные о сетях: iptoasn.com (общественное достояние), DB-IP Lite от db-ip.com (CC BY 4.0), University of Oregon Route Views Project (CC BY 4.0) и список мобильных операторов Android Open Source Project (Apache 2.0).",
"DeviceGood": "Этот компьютер мог бы держать небольшие сервисы, если будет оставаться включённым.",
"DeviceLaptop": "Подходит, чтобы попробовать; для сервера, который работает постоянно, лучше небольшой всегда включённый компьютер.",
"DevicePhone": "Телефон — плохой сервер: он засыпает, перемещается и работает от батареи.",
@@ -88,6 +89,7 @@
"FactDownload": "Скачивание",
"FactGateway": "Адрес роутера",
"FactHairpin": "Из дома на ваш же публичный адрес",
"FactHairpinExit": "Два устройства за одним адресом связываются напрямую (hairpin)",
"FactHint": "Подсказка",
"FactIpv6": "IPv6",
"FactIpv6Names": "Находит адреса IPv6",
@@ -97,13 +99,16 @@
"FactLocalIpv6": "Адреса IPv6 этого устройства",
"FactLocalPort": "Порт на этом устройстве",
"FactMapping": "Запрос роутеру на открытие",
"FactMappingLife": "Неиспользуемое соединение остаётся открытым",
"FactMemory": "Память (RAM)",
"FactMissingNames": "Несуществующие имена",
"FactNatPmp": "NAT-PMP",
"FactNetwork": "Сеть",
"FactNetworkIpv6": "Сеть для IPv6",
"FactOperator": "Мобильный оператор",
"FactPcp": "PCP",
"FactPort25": "Порт 25 (отправка почты)",
"FactPortSlice": "Выдаваемые порты",
"FactProviderIpv4": "Адрес IPv4",
"FactProviderIpv6": "IPv6",
"FactProviderPort25": "Почтовый порт 25",
@@ -111,22 +116,28 @@
"FactProviderSheet": "Техническое описание",
"FactPublicV4": "Публичный IPv4",
"FactPublicV6": "Публичный IPv6",
"FactRadio": "Тип мобильной сети",
"FactReachV4": "Извне по IPv4",
"FactReachV6": "Извне по IPv6",
"FactRedirectedTo": "Перенаправлено на",
"FactReverseConfirmed": "Имя указывает обратно на адрес",
"FactReverseLooks": "Похоже на",
"FactReverseName": "Обратное имя (PTR)",
"FactRoaming": "Роуминг",
"FactRoundTrip": "До meweb.arasaka.software и обратно",
"FactRoute": "Первые шаги маршрута",
"FactRouteBack": "Маршрут от meweb.arasaka.software до вас",
"FactRouter": "Роутер",
"FactRouterWan": "Интернет-адрес роутера",
"FactSample": "Использовано данных",
"FactSharers": "Клиенты, которые могут делить этот адрес",
"FactSince": "Начиная с",
"FactStunFirst": "Первый сервер STUN",
"FactStunSecond": "Второй сервер STUN",
"FactSystem": "Система",
"FactUpload": "Отправка",
"FactUpnp": "UPnP",
"FactUpstreams": "Подключение к интернету через",
"FactWayOut": "Как обойти",
"FactWhoHasIpv6": "Владелец адреса IPv6",
"FactWhoHasIt": "Владелец адреса IPv4",
@@ -306,6 +317,8 @@
"UsesTitle": "Что можно разместить отсюда",
"ValueAnswered": "есть ответ",
"ValueAnsweredMissing": "отмечены как несуществующие",
"ValueAtLeastSeconds": "не менее {0} секунд",
"ValueBetweenSeconds": "от {0} до {1} секунд",
"ValueCantTell": "неясно",
"ValueCantTellResolver": "{0}: ваш сервер имён не может его опросить",
"ValueCount": "{0}",
@@ -328,6 +341,8 @@
"ValueMapped": "порт {0}: открыт ({1})",
"ValueMbps": "{0} Mbit/s",
"ValueMbpsDecimal": "{0} Mbit/s",
"ValueMeasuring": "идёт измерение, около двух минут…",
"ValueMilliseconds": "{0} мс",
"ValueNo": "нет",
"ValueNoReverse": "нет",
"ValueNotListed": "{0}: нет в списке",
@@ -336,11 +351,17 @@
"ValueOpenSheet": "Открыть описание провайдера",
"ValuePort25Blocked": "заблокирован",
"ValuePort25Open": "открыт (ответил {0})",
"ValuePortsBlock": "из одного блока, {0}–{1}",
"ValuePortsInOrder": "друг за другом, {0}–{1}",
"ValuePortsKept": "те же, что на этом устройстве",
"ValuePortsScattered": "разбросаны случайно",
"ValueRefused": "отказ (код {0})",
"ValueSample": "{0} MB скачано, {1} MB отправлено",
"ValueSharedAtHome": "ваш роутер, общий для всех домашних устройств",
"ValueSharedProvider": "общий выход вашего провайдера, которым пользуются и другие клиенты",
"ValueSilent": "нет ответа",
"ValueUnderSeconds": "менее {0} секунд",
"ValueUpTo": "примерно до {0}",
"ValueYes": "да",
"VerdictCannotTell": "Неясно",
"VerdictNotPossible": "Не отсюда",