installer: port page = check-only (no auto-open), big open/notOpen message
요청 반영: 간편설치기 포트포워딩 페이지가 포트를 직접 열지 않고 "열려 있는지"만 확인한다. - server:portForward 를 UPnP 자동 개방/재점검 없이 외부 도달 점검만 하도록 변경, 결과를 open/notOpen 으로 반환(PortForwardResult status 타입도 변경). - 열려 있으면 외부 접속 주소를 크게, 안 열려 있으면 "직접 포트포워딩 해주세요" 를 크게 표시. - 페이지 체크에서만 쓰이던 openPortViaUpnp/removeUpnpMapping 제거(고아 코드). - 참고: 서버 기동 시 run.bat 의 UPnP 자동 개방 주입(injectUpnpToRunBat)은 이번엔 유지. v0.3.19. Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
This commit is contained in:
@@ -820,16 +820,20 @@ function renderSubStep35(host, back, done) {
|
||||
var result = await installerApi.checkPortForward(port)
|
||||
state.serverInstall.portStatus = result
|
||||
var address = formatServerAddress(result.externalIp, result.port)
|
||||
if (result.status === 'preForwarded') {
|
||||
resultMsg.innerHTML = tt('step3.sub35.preForwarded', { address: address })
|
||||
resultMsg.classList.add('success')
|
||||
} else if (result.status === 'upnpOk') {
|
||||
resultMsg.innerHTML = tt('step3.sub35.upnpOk', { address: address })
|
||||
resultMsg.classList.add('success')
|
||||
if (result.status === 'open') {
|
||||
// 열려 있으면 외부 접속 주소를 크게 표시.
|
||||
resultMsg.innerHTML =
|
||||
'<div style="margin-top:12px;padding:18px;border:1px solid var(--success);border-radius:10px;background:rgba(63,185,80,0.12);text-align:center;">' +
|
||||
'<div style="font-size:14px;color:var(--text-muted);">' + escapeHtml(tt('step3.sub35.openTitle')) + '</div>' +
|
||||
'<div style="font-size:30px;font-weight:800;margin-top:8px;user-select:all;word-break:break-all;">' + escapeHtml(address) + '</div>' +
|
||||
'</div>'
|
||||
} else {
|
||||
resultMsg.innerHTML = (result.message || tt('step3.sub35.manualHint')) +
|
||||
tt('step3.sub35.manualDetail', { address: address })
|
||||
resultMsg.classList.add('warn')
|
||||
// 안 열려 있으면 "직접 포트포워딩 해주세요" 를 크게 표시.
|
||||
resultMsg.innerHTML =
|
||||
'<div style="margin-top:12px;padding:18px;border:1px solid var(--danger);border-radius:10px;background:rgba(248,81,73,0.10);text-align:center;">' +
|
||||
'<div style="font-size:26px;font-weight:800;">' + escapeHtml(tt('step3.sub35.notOpenBig')) + '</div>' +
|
||||
'<div style="font-size:13px;color:var(--text-muted);margin-top:10px;">' + escapeHtml(tt('step3.sub35.notOpenHint', { address: address, port: result.port })) + '</div>' +
|
||||
'</div>'
|
||||
}
|
||||
nextBtn.disabled = false
|
||||
} catch (err) {
|
||||
|
||||
Reference in New Issue
Block a user