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 MB와 1 MB).",
"ContactStun": "stun.meweb.arasaka.software(배포자가 운영)와 stun.nextcloud.com(독일의 Nextcloud GmbH가 운영): 각각 짧은 메시지 하나로, 통화와 게임을 위해 공유기가 주소를 어떻게 변환하는지 확인해요.",
"ContactStun": "stun.meweb.arasaka.software(배포자가 운영)와 stun.nextcloud.com(독일의 Nextcloud GmbH가 운영): Nextcloud에는 짧은 메시지 하나를, 배포자의 서버에는 스무 개쯤을 보내고 그중 일부는 2분 간격을 두어요. 통화와 게임을 위해 공유기나 통신사가 주소를 어떻게 변환하는지 확인해요.",
"Contacts": "이 앱이 연결하는 곳",
"ContactsIntro": "me-web?은 확인할 때만, 다음 대상과만 통신해요:",
"CopyLink": "링크 공유하기",
"DataCredits": "네트워크 데이터: iptoasn.com(퍼블릭 도메인), db-ip.com의 DB-IP Lite(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": "같은 주소 뒤에 있는 두 기기끼리 직접 통신(헤어핀 NAT)",
"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": "측정 중, 약 2분…",
"ValueMilliseconds": "{0} ms",
"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": "여기서는 불가",