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
This commit is contained in:
thepraandClaude Opus 5.5 committed 2026-10-15 05:41:44 +02:00
1 parent f79682eaef
commit 7cfc8b6de5
161 files changed
+23159 -305

No files matched your search

+183 -2
View File
@@ -10,13 +10,24 @@
"BasisPress": "언론",
"BasisResearch": "me-web? 조사",
"BasisUsers": "사용자 제보",
"BehaviourEasy": "쉬운 NAT: 공유기가 목적지와 상관없이 같은 외부 포트를 유지해서, 통화와 게임이 보통 직접 연결될 수 있어요.",
"BehaviourHard": "어려운 NAT: 공유기가 목적지마다 새 외부 포트를 골라요(대칭형 NAT). 두 집 사이의 직접 연결은 자주 실패하고, 통화는 중계 서버를 거쳐요.",
"BehaviourNone": "이 기기는 자기 공인 주소가 있어요. 주소를 변환하는 것이 없어요.",
"BehaviourUnknown": "STUN 서버가 응답하지 않았어요. 이 네트워크에서 UDP가 차단되어 있을 수 있어요.",
"Cancel": "취소",
"CardAddresses": "내 공인 주소",
"CardBehaviour": "통화와 게임(NAT 유형)",
"CardConnection": "이 연결",
"CardDevice": "서버로서의 이 기기",
"CardDns": "이름 서버(DNS)",
"CardHistory": "이전 확인 기록",
"CardMail": "메일 보내기",
"CardNat": "주소 공유",
"CardOnline": "인터넷 연결",
"CardProvider": "내 통신사",
"CardReach": "외부에서 접속",
"CardRouter": "내 공유기",
"CardSpeed": "속도",
"Check": "확인",
"CheckAgain": "다시 확인",
"CheckFailed": "확인이 예기치 않게 멈췄어요({0}).",
@@ -30,33 +41,69 @@
"ConnectionWifi": "Wi-Fi로 연결되어 있어요.",
"ContactDns": "이름 서버(DNS): meweb.arasaka.software를 찾기 위해서예요.",
"ContactLinks": "직접 열기로 한 링크(출처, 수정 제안, 다운로드)는 브라우저에서 열려요.",
"ContactMail": "Gmail과 Outlook의 메일 서버: 포트 25에 연결하고, 아무것도 보내지 않고 닫아요. 차단 목록 Spamhaus, UCEPROTECT, SpamCop, Barracuda와 dnssec-failed.org는 내 이름 서버를 통해서만 조회해요.",
"ContactRoute": "meweb.arasaka.software로 가는 길에 있는 라우터: 수명이 제한된 짧은 테스트 메시지 몇 개(ping)로 경로의 처음 몇 단계를 보여줘요.",
"ContactRouter": "내 네트워크에 있는 공유기: 앱이 포트를 열 수 있게 해 주는지, 어떤 인터넷 주소를 가지고 있는지 물어봐요. 아무것도 바꾸지 않아요.",
"ContactServer": "meweb.arasaka.software(이탈리아의 배포자가 운영): 온라인인지, 인터넷에서 어떤 공인 주소가 보이는지, 새 버전이 있는지 확인해요. me-web? 서버는 확인 내용을 아무것도 저장하지 않아요.",
"ContactRouter": "내 네트워크에 있는 공유기: 앱이 포트를 열 수 있게 해 주는지, 어떤 인터넷 주소를 가지고 있는지 물어봐요. 포트는 동의한 경우에만, 최대 10분 동안 열어요.",
"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가 운영): 각각 짧은 메시지 하나로, 통화와 게임을 위해 공유기가 주소를 어떻게 변환하는지 확인해요.",
"Contacts": "이 앱이 연결하는 곳",
"ContactsIntro": "me-web?은 확인할 때만, 다음 대상과만 통신해요:",
"CopyLink": "링크 공유하기",
"DeviceGood": "계속 켜 둔다면 이 컴퓨터로 작은 서비스를 운영할 수 있어요.",
"DeviceLaptop": "시험해 보기에는 괜찮아요. 계속 켜 두는 서버라면 항상 켜 두는 작은 컴퓨터가 더 좋아요.",
"DevicePhone": "휴대폰은 서버로 적합하지 않아요. 절전 모드에 들어가고, 이리저리 옮겨지고, 배터리로 작동해요.",
"DeviceSmall": "이 기기는 서버로 쓰기에 작아요. 코어가 적거나, 메모리가 적거나, 남은 디스크 공간이 적어요.",
"DnsGood": "이름 서버가 서명(DNSSEC)을 확인하고, 존재하지 않는 이름에는 정직하게 응답해요.",
"DnsHijack": "이름 서버가 존재하지 않는 이름에도 응답해요. 광고나 통신사 페이지로 보낼 수 있어요.",
"DnsNoValidation": "이름 서버가 서명(DNSSEC)을 확인하지 않아서, 위조된 응답도 그대로 통과할 수 있어요.",
"DnsUnknown": "이름 서버가 어떻게 동작하는지 여기서는 알 수 없어요.",
"DraftNotice": "이 번역은 기계 번역 초안이에요.",
"ElsewhereAll": "모든 플랫폼",
"ElsewhereAndroid": "Android 앱",
"ElsewhereBody": "휴대폰 카메라로 코드를 스캔하거나 링크를 공유하세요.",
"ElsewhereTitle": "다른 기기에서 me-web? 받기",
"ExplainAddresses": "이 기기가 인터넷과 통신할 때 바깥에서 보이는 주소예요. IPv4에서는 집 안의 기기들이 보통 공유기가 가진 주소 하나를 함께 쓰고, IPv6에서는 보통 기기마다 자기 주소가 있어요.",
"ExplainBehaviour": "통화, 게임, 일부 파일 공유는 두 집을 직접 연결해요. 공유기가 목적지와 상관없이 같은 외부 포트를 유지하면(쉬운 NAT) 잘 돼요. 목적지마다 포트를 바꾸면(어려운 NAT 또는 대칭형 NAT) 상대방이 포트를 짐작할 수 없어서, 연결이 중계 서버를 거치고 더 느려져요.",
"ExplainConnection": "이 기기가 지금 어떻게 연결되어 있는지와 공유기가 준 주소예요. 192.168, 10 또는 172.16~172.31로 시작하는 주소는 집 안에서만 쓸 수 있어요(사설 주소).",
"ExplainDevice": "집 서버는 계속 켜져 있고, 한곳에 있고, 데이터를 담을 공간이 있어야 해요. 데스크톱이나 항상 켜 두는 작은 기기는 괜찮아요. 노트북은 전원에 연결해 두는 동안에는 괜찮아요. 휴대폰은 안 돼요.",
"ExplainDns": "이름 서버는 이름을 주소로 바꿔 줘요. me-web?은 일부러 서명을 망가뜨린 이름(dnssec-failed.org)과 존재하지 않는 이름을 물어봐요. 서명을 확인하는 정직한 서버라면 둘 다 거부해요.",
"ExplainHistory": "확인 기록은 이 기기에만 저장돼요. 공인 주소가 몇 주 동안 그대로라면 아마 고정 주소(고정 IP)일 거예요. 바뀐다면 주소를 따라가는 이름(동적 DNS)이 필요해요.",
"ExplainMail": "집에서 메일 서버를 운영하려면 포트 25로 다른 메일 서버에 닿을 수 있어야 하고, 그 서버들이 나를 믿어야 해요. 서버처럼 보이고 내 주소를 다시 가리키는 역방향 이름(PTR)이 있어야 하고, 나를 올린 차단 목록이 없어야 해요. me-web?은 Gmail과 Outlook의 메일 서버에 포트 25로 접속했다가 아무것도 보내지 않고 연결을 끊어요. 차단 목록은 내 이름 서버를 통해 조회해요.",
"ExplainNat": "집에서 무언가를 호스팅하려면 인터넷에서 공유기에 닿을 수 있어야 해요. 공유기가 공인 주소를 가지고 있으면 가능해요. 통신사가 주소 하나를 여러 고객이 나눠 쓰게 하면(CGNAT), 통신사가 전용 주소를 주지 않는 한 바깥에서 IPv4로 접속할 수 없어요. 터널이나 IPv6로 우회할 수 있어요.",
"ExplainOnline": "me-web?은 자체 서버인 meweb.arasaka.software에 보안 연결과 일반 연결로 각각 물어봐요. 보안 연결이 실패하고 일반 연결이 다른 곳으로 보내지면, 호텔이나 기차에서처럼 로그인 페이지(캡티브 포털)가 가로막고 있는 거예요.",
"ExplainProvider": "인터넷에 접속하지 않고, me-web? 안의 통신사 지도에서 공인 주소로 찾았어요. 메모는 통신사의 기술 자료나 사용자 제보에서 왔고, 각각 출처와 날짜가 있어요. 일반적인 경우를 알려줄 뿐, 계약 내용을 알려주지는 않아요.",
"ExplainReach": "진짜 테스트예요. me-web? 서버가 집 서버가 쓰는 포트(웹사이트용 80과 443)로 인터넷에서 이 기기에 접속해 봐요. 앱은 자신만 아는 비밀 값으로 응답하므로, 다른 기기를 이 기기로 착각할 수 없어요. 내 공인 주소에 관한 줄은 집 안의 기기도 그 주소를 쓸 수 있는지(헤어핀 NAT) 알려줘요.",
"ExplainRouter": "게임기, 통화, 파일 공유 앱은 UPnP, NAT-PMP 또는 PCP로 공유기에 포트를 열어 달라고 요청해요. me-web?은 공유기가 응답하는지와 어떤 인터넷 주소를 가졌는지만 물어보고, 아무것도 열지 않아요.",
"ExplainSpeed": "meweb.arasaka.software와 짧게 다운로드와 업로드를 해요. 결과는 내 회선과 배포자 서버 중 더 느린 쪽이라서, 아주 빠른 회선은 실제보다 낮게 나올 수 있어요. 모바일 데이터에서는 테스트가 더 작아요.",
"FactAdapter": "네트워크 어댑터",
"FactAddressesSeen": "확인된 공인 IPv4 주소",
"FactBattery": "배터리",
"FactChecks": "확인 횟수",
"FactCores": "프로세서 코어",
"FactDisk": "남은 디스크",
"FactDns": "이름 서버(DNS)",
"FactDnssec": "서명 확인(DNSSEC)",
"FactDownload": "다운로드",
"FactGateway": "공유기 주소",
"FactHairpin": "집에서 내 공인 주소로",
"FactHint": "힌트",
"FactIpv6": "IPv6",
"FactIpv6Names": "IPv6 주소 조회",
"FactLinkSpeed": "연결 속도",
"FactList": "차단 목록",
"FactLocalAddress": "내 네트워크 안의 주소",
"FactLocalIpv6": "이 기기의 IPv6 주소",
"FactLocalPort": "이 기기의 포트",
"FactMapping": "공유기에 열기 요청",
"FactMemory": "메모리",
"FactMissingNames": "존재하지 않는 이름",
"FactNatPmp": "NAT-PMP",
"FactNetwork": "네트워크",
"FactNetworkIpv6": "IPv6 네트워크",
"FactPcp": "PCP",
"FactPort25": "포트 25(메일 보내기)",
"FactProviderIpv4": "IPv4 주소",
"FactProviderIpv6": "IPv6",
"FactProviderPort25": "메일 포트 25",
@@ -64,16 +111,27 @@
"FactProviderSheet": "기술 자료",
"FactPublicV4": "공인 IPv4",
"FactPublicV6": "공인 IPv6",
"FactReachV4": "외부에서 IPv4로",
"FactReachV6": "외부에서 IPv6로",
"FactRedirectedTo": "보내진 곳",
"FactReverseConfirmed": "이름이 주소를 다시 가리킴",
"FactReverseLooks": "보이는 유형",
"FactReverseName": "역방향 이름(PTR)",
"FactRoute": "경로의 처음 몇 단계",
"FactRouter": "공유기",
"FactRouterWan": "공유기의 인터넷 주소",
"FactSample": "사용한 데이터",
"FactSince": "시작일",
"FactStunFirst": "첫 번째 STUN 서버",
"FactStunSecond": "두 번째 STUN 서버",
"FactSystem": "시스템",
"FactUpload": "업로드",
"FactUpnp": "UPnP",
"FactWayOut": "우회 방법",
"FactWhoHasIpv6": "IPv6 주소를 가진 곳",
"FactWhoHasIt": "IPv4 주소를 가진 곳",
"HintSharedHop": "통신사의 라우터 하나가 공유 주소 공간의 주소(100.64.x.x)를 써요. 주소를 공유할 때도, 공유하지 않을 때도 생기는 일이라 이것만으로는 아무것도 알 수 없어요.",
"HintSomethingAnswers": "집 안의 무언가가 이미 포트 80 또는 443에서 응답하고 있어요. 아마 전에 설정한 서버일 거예요.",
"HistoryChanged": "{1} 이후 공인 IPv4 주소 변경 횟수: {2}(확인 횟수: {0}).",
"HistoryCleared": "이전 확인 기록을 지웠어요.",
"HistoryFirst": "이 연결에서 처음 하는 확인이에요. 주소가 바뀌는지 보려면 다른 날에 다시 확인해 보세요.",
@@ -81,9 +139,19 @@
"IconsCredit": "아이콘: Lucide(ISC).",
"Language": "언어",
"LinkCable": "유선",
"LinkCopied": "링크를 복사했어요.",
"LinkMobile": "모바일 데이터",
"LinkOther": "네트워크",
"LinkWifi": "Wi-Fi",
"MailBlocked": "포트 25가 차단되어 있어요. 이 연결로는 다른 메일 서버에 메일을 직접 보낼 수 없어요.",
"MailClean": "포트 25가 열려 있고, 역방향 이름이 서버처럼 보이며, 내 주소를 올린 목록도 없어요.",
"MailDynamicName": "포트 25는 열려 있지만, 주소의 역방향 이름이 가정용 회선처럼 보여서 대형 메일 서비스가 믿지 않아요.",
"MailListed": "내 주소가 차단 목록에 있어요: {0}.",
"MailNetworkListed": "통신사의 네트워크 전체가 범위가 넓은 차단 목록({0})에 있어요. 이 목록을 쓰는 대형 메일 서비스는 적지만, 일부는 써요.",
"MailNoIpv4": "공인 IPv4 주소가 없으면 메일을 확인할 수 없어요.",
"MailNoName": "내 주소에 역방향 이름(PTR)이 없어요. 대형 메일 서비스는 역방향 이름이 없는 주소에서 온 메일을 거부해요.",
"MailResidential": "내 주소가 Spamhaus의 가정용 연결 목록(PBL)에 있어요. 대형 메일 서비스는 이 주소에서 직접 보낸 메일을 거부해요.",
"MailUnknown": "이 연결로 메일을 보낼 수 있는지 여기서는 알 수 없어요.",
"MapCredit": "통신사 지도: iptoasn.com(PDDL), {0} 기준 데이터.",
"MapMissing": "이 사본에는 통신사 지도가 없어요.",
"NatDirect": "이 기기가 직접 공인 IPv4 주소를 가지고 있어요.",
@@ -117,6 +185,11 @@
"PathTitle": "이 기기에서 인터넷까지",
"PathTranslation": "한 번 더 일어나는 주소 변환",
"PrivacyLine": "원격 측정, 분석, 오류 보고를 하지 않아요. 확인 기록은 이 기기에만 저장돼요.",
"PrivacyPage": "개인정보 보호",
"ProbeOpenNotYou": "포트 {0}: 다른 것이 응답함",
"ProbeReached": "포트 {0}: 이 앱에 닿음",
"ProbeRefused": "포트 {0}: 거부됨",
"ProbeTimedOut": "포트 {0}: 응답 없음",
"ProviderIpv4PublicDynamic": "보통 공인 주소이며, 바뀔 수 있음",
"ProviderIpv4Shared": "보통 다른 고객과 공유(CGNAT)",
"ProviderIpv4SharedPorts": "보통 공유하며, 고객마다 포트 일부를 나눠 받음",
@@ -138,32 +211,140 @@
"ProviderPublicNotFound": "가정용 상품을 찾지 못함",
"ProviderPublicPaid": "고정 주소, 월 약 {0}부터",
"ProviderUnlisted": "통신사를 찾았어요: {0}. me-web?에는 아직 이 통신사에 대한 메모가 없어요.",
"ReachAsIs": "아무것도 바꾸지 않고 테스트",
"ReachAskBody": "me-web? 서버가 인터넷에서 IPv4와 IPv6로 이 기기에 접속해 볼 수 있어요. 내 주소로만 다시 연결하고, 아무것도 저장하지 않아요.",
"ReachAskPorts": "IPv4의 경우 me-web?이 공유기에 이 기기 쪽으로 포트 80, 443과 높은 번호의 포트 하나를 최대 10분 동안 열어 달라고 요청하고, 끝나면 닫아요. 컴퓨터가 me-web?이 연결을 받아도 되는지 물어볼 수 있어요. 테스트를 위해 허용해 주세요.",
"ReachAskTitle": "외부에서 테스트할까요?",
"ReachBlockedAfterMapping": "공유기가 포트를 열었지만 아무것도 들어오지 않았어요. 통신사가 주소를 공유하거나 들어오는 연결을 차단하고 있어요.",
"ReachBoth": "인터넷에서 IPv4와 IPv6로 이 기기에 닿아요.",
"ReachNoListener": "이 기기에서 me-web?이 테스트용 연결을 받도록 허용하지 않았어요.",
"ReachNoMapping": "공유기가 포트를 열지 않아서 IPv4로는 아무것도 들어오지 않았어요.",
"ReachNothingAsIs": "이 기기에 아무것도 닿지 않았어요. me-web?은 포트를 열지 않았으므로, 이 테스트는 직접 연 포트만 확인해요.",
"ReachOpenPorts": "포트 열고 테스트",
"ReachOwnNetwork": "배포자 자신의 네트워크라서 여기서는 테스트할 수 없어요.",
"ReachSkip": "건너뛰기",
"ReachSkipped": "테스트하지 않았어요. 건너뛰기를 선택했어요.",
"ReachTooMany": "이 주소에서 테스트를 너무 많이 했어요. 나중에 다시 해 보세요(약 {0}분 후).",
"ReachUnavailable": "테스트 서버에 연결할 수 없었어요.",
"ReachV4": "인터넷에서 IPv4로 이 기기에 닿아요.",
"ReachV6Only": "인터넷에서 IPv6로만 이 기기에 닿아요.",
"RefusalBadPorts": "허용되지 않는 포트",
"RefusalBusy": "다른 테스트가 진행 중",
"RefusalNotPublic": "공인 주소가 아님",
"RefusalOtherAddress": "테스트 중에 주소가 바뀜",
"RefusalOwnNetwork": "배포자 자신의 네트워크",
"RefusalTooMany": "지금은 테스트가 너무 많음",
"RefusalUnknownTicket": "테스트가 만료됨",
"RefusalUnreachable": "서버에 연결할 수 없음",
"ResultsTitle": "me-web?이 찾은 내용",
"RouterMobile": "모바일 데이터에서는 집 공유기가 없어요. 통신사 네트워크가 가장 먼저 나와요.",
"RouterNone": "이 연결에서는 집 공유기를 찾지 못했어요.",
"RouterOpens": "공유기가 포트를 열어 달라는 앱에 응답해요.",
"RouterRefuses": "공유기가 응답하지만, 포트를 열어 달라는 앱을 거부해요.",
"RouterSilent": "공유기가 포트를 열어 달라는 앱에 응답하지 않아요.",
"ShareExact": "보낼 내용은 정확히 다음과 같아요. 내 공인 주소도 포함돼요:",
"ShareFailed": "보낼 수 없었어요.",
"ShareKeep": "12개월 동안 보관한 뒤 삭제해요. 그 전에도 언제든 이 앱에서 삭제할 수 있어요. 자세한 내용은 meweb.arasaka.software/privacy에 있어요.",
"ShareOfferBody": "이 결과를 보내면 다음 me-web? 버전에서 통신사에 대한 메모를 개선하는 데 도움이 돼요. 무엇이든 나가기 전에 보낼 내용을 정확히 보여 드려요.",
"ShareOfferTitle": "다음 버전 개선 돕기",
"ShareOpen": "이 결과 공유하기",
"ShareSend": "보내기",
"ShareSent": "보냈어요. 감사합니다. 제출: {0}, {1}까지 보관돼요. ‘이 앱이 연결하는 곳’에서 삭제할 수 있어요.",
"ShareTitle": "이 결과 공유하기",
"ShareTooMany": "오늘 이 주소에서 너무 많이 보냈어요. 내일 다시 해 보세요.",
"ShareWho": "받는 곳: me-web?의 배포자인 Arasaka di Hvozdikov Yevheniy가 이탈리아에 있는 자체 서버(meweb.arasaka.software)에서 받아요.",
"ShareWhy": "목적: 이후 버전에서 통신사에 대한 메모를 개선하기 위해서예요. 공개되는 것은 사람이 검토한 뒤의, 주소가 없는 합계뿐이에요. 법적 근거는 사용자의 동의예요.",
"SharedTitle": "내가 공유한 결과",
"SourceCode": "소스 코드",
"SpeedFailed": "속도 테스트가 끝나지 않았어요.",
"SpeedLimited": "지난 1시간 동안 이 주소에서 속도 테스트를 너무 많이 했어요.",
"SpeedOffline": "인터넷이 없으면 속도 테스트를 할 수 없어요.",
"SpeedResult": "다운로드 {0} Mbit/s, 업로드 {1} Mbit/s.",
"StatusCaptive": "로그인 페이지가 가로막고 있음",
"StatusChecking": "연결 확인 중…",
"StatusOffline": "인터넷에 연결되지 않음",
"StatusOnline": "인터넷에 연결됨",
"SubmissionDelete": "삭제",
"SubmissionDeleteFailed": "지금은 삭제할 수 없었어요. 나중에 다시 해 보세요.",
"SubmissionLine": "{0}, {1}까지 보관",
"SuggestCorrection": "수정 제안하기",
"UpdateAvailable": "me-web? {0} 버전을 받을 수 있어요.",
"UpdateOpen": "다운로드",
"UseAdviceAlwaysOn": "집에서 계속 켜 두는 컴퓨터나 작은 기기를 쓰세요.",
"UseAdviceBridge": "첫 번째 공유기를 브리지 모드로 바꾸거나, 두 공유기 모두에서 포트를 여세요.",
"UseAdviceDynamicName": "주소를 따라가는 이름(동적 DNS)을 쓰거나, 통신사에 고정 주소를 요청하세요.",
"UseAdviceForward": "공유기에서 그것을 실행하는 기기로 포트를 열어 주세요(포트 포워딩).",
"UseAdviceIpv6Firewall": "공유기의 IPv6 방화벽에서 이 기기로 들어오는 연결을 허용하세요.",
"UseAdviceOwnAddress": "통신사에 전용 공인 주소를 요청하거나(보통 드는 비용은 ‘내 통신사’ 참고), 다른 곳에 있는 작은 서버로 가는 터널을 쓰세요.",
"UseAdviceRelay": "메일은 원하면 집에서 받아도 되지만, 보낼 때는 중계 서버(릴레이)를 거치세요. 메일 서비스나 제대로 된 역방향 이름이 있는 작은 서버면 돼요.",
"UseAdviceRelayBoth": "받기와 보내기 모두에 중계 서버나 다른 곳의 작은 서버를 쓰세요.",
"UseAdviceTunnel": "터널을 쓰세요. 집에서 다른 곳에 있는 작은 서버로 연결해 두면, 그 서버가 방문자를 받아요.",
"UseFediverse": "페디버스 또는 블로그 서버",
"UseFiles": "가족 사진과 파일",
"UseGameServer": "게임 또는 음성 채팅 서버",
"UseMail": "메일 서버",
"UseReasonAddressMayChange": "공인 주소가 바뀔 수 있는데, 이 용도에는 항상 나를 가리키는 이름이 필요해요.",
"UseReasonBlocked": "외부에서 오는 연결이 IPv4로는 들어오지 못해요.",
"UseReasonDouble": "공유기가 다른 공유기 뒤에 있어요.",
"UseReasonDynamicReverse": "주소의 역방향 이름이 가정용 회선처럼 보여서 대형 메일 서비스가 믿지 않아요.",
"UseReasonIpv6Direct": "이 기기에 자기 공인 IPv6 주소가 있어요.",
"UseReasonMailClean": "포트 25가 열려 있고, 역방향 이름이 적절해 보이며, 내 주소를 올린 목록도 없어요.",
"UseReasonNoIpv4": "이 연결에는 IPv4가 없어요.",
"UseReasonNoReverse": "내 주소에 역방향 이름이 없는데, 대형 메일 서비스는 이를 요구해요.",
"UseReasonOnlyIpv6": "IPv6만 통하는데, 아직 많은 방문자가 IPv4만 써요.",
"UseReasonPhone": "휴대폰은 좋은 서버가 아니에요. 절전 모드에 들어가고 배터리로 작동해요.",
"UseReasonPort25Blocked": "포트 25가 차단되어 있어서 여기서는 메일을 직접 보낼 수 없어요.",
"UseReasonReachedV4": "외부 테스트가 IPv4로 이 기기에 닿았어요.",
"UseReasonReachedV6": "외부 테스트가 IPv6로 이 기기에 닿았어요.",
"UseReasonResidentialList": "내 주소가 가정용 연결로 등재되어 있어서 대형 메일 서비스가 거부해요.",
"UseReasonRouterHolds": "공유기가 공인 주소를 가지고 있어서 연결을 넘겨줄 수 있어요.",
"UseReasonShared": "통신사가 공인 IPv4 주소를 다른 고객과 함께 쓰게 해요.",
"UseReasonUnknown": "이 연결에 대해 아는 것이 충분하지 않아요.",
"UseRemoteAccess": "외부에서 집에 접속",
"UseWebsite": "웹사이트",
"UsesTitle": "여기서 호스팅할 수 있는 것",
"ValueAnswered": "응답함",
"ValueAnsweredMissing": "없다고 알려줌",
"ValueCantTell": "알 수 없음",
"ValueCantTellResolver": "{0}: 이름 서버가 조회할 수 없음",
"ValueCount": "{0}",
"ValueDnssecNo": "아니요",
"ValueDnssecYes": "예",
"ValueGb": "{0} GB",
"ValueGbFree": "{0} GB 남음",
"ValueHairpinNo": "작동 안 함: 집에서는 기기의 로컬 주소를 쓰세요",
"ValueHairpinYes": "작동함(헤어핀 NAT)",
"ValueHijacked": "주소로 응답함",
"ValueIpv6Direct": "기기마다 자기 공인 주소가 있음",
"ValueIpv6NotThisDevice": "이 기기가 아닌 다른 것",
"ValueIpv6Translated": "중간에 변환됨",
"ValueIpv6Way": "IPv6에서는 공유기 방화벽이 허용하면 집 안의 기기에 바로 접속할 수 있어요.",
"ValueListed": "{0}: 등재됨({1})",
"ValueListedHome": "{0}: 가정용 연결로 등재됨",
"ValueListedNetwork": "{0}: 통신사의 네트워크가 등재됨",
"ValueLooksHome": "가정용 회선",
"ValueLooksServer": "서버",
"ValueMapped": "포트 {0}: 열림({1})",
"ValueMbps": "{0} Mbit/s",
"ValueMbpsDecimal": "{0} Mbit/s",
"ValueNo": "아니요",
"ValueNoReverse": "없음",
"ValueNotListed": "{0}: 등재 안 됨",
"ValueNotMapped": "포트 {0}: 거부됨({1}, 코드 {2})",
"ValueOnThisDevice": "이 기기",
"ValueOpenSheet": "통신사 자료 열기",
"ValuePort25Blocked": "차단됨",
"ValuePort25Open": "열림({0} 응답함)",
"ValueRefused": "거부함(코드 {0})",
"ValueSample": "다운로드 {0} MB, 업로드 {1} MB",
"ValueSharedAtHome": "공유기, 집 안의 모든 기기가 함께 씀",
"ValueSilent": "응답 없음",
"ValueYes": "예",
"VerdictCannotTell": "알 수 없음",
"VerdictNotPossible": "여기서는 불가",
"VerdictPossible": "가능",
"VerdictWorkaround": "우회하면 가능",
"VersionLine": "me-web? {0} · 자유 소프트웨어(AGPL-3.0)",
"WaitingReach": "위 질문에 대한 답을 기다리고 있어요.",
"WhatIsThis": "무슨 뜻인가요?"
}