← 목록
기타 2026-05-27 4KB 읽기 5분

로컬바로보기 (lbv) — 게이트웨이 우회 로컬 직통 도구

2026-05-27 | gateway.yaml의 170개 도메인을 게이트웨이 다운 시에도 127.0.0.1:포트로 즉시 접근.

개요

게이트웨이(8080/8443)가 보수중이거나 다운된 상태에서도 모든 서비스를 로컬에서 즉시 확인할 수 있는 도구. 한선씨 본체 + 얇은 bash entry + 한선씨 라이브러리(브라우저용)로 구성.

무엇을 했는지

1. CLI lbv (한선씨 본체)

/Users/ef/crowny-local/로컬바로보기.한선 (TOAU 컴파일됨).

명령동작
lbv 리스트gateway.yaml 등록 170 도메인 + 매핑
lbv 조회 <도메인>도메인 → http://127.0.0.1:포트
lbv 헬스 <도메인>TCP 연결 시도 → LIVE/DOWN
lbv 열기 <도메인>CrownyBrowser 우선, 없으면 default 브라우저
lbv 헬스올전체 LIVE/DOWN 집계
lbv 살아있음LIVE 서비스만 필터
lbv 찾기 <키워드>도메인/name 키워드 검색
매핑 추출은 awk로 gateway.yaml 파싱 (services 블록 + aliases 포함). 헬스체크는 nc -z -w 1.

2. 한선씨 라이브러리 로컬직통.한선

/Users/ef/CrownyOS/crownyc/libs/로컬직통.한선 — 브라우저/HTTP스택이 import 가능.

javascript가져오기 "로컬직통.한선"
변수 매핑 = 로컬매핑로드()
변수 새URL = 로컬URL변환(매핑, "https://core.crowny.org/api/foo")
; → "http://127.0.0.1:7731/api/foo"

API:

  • 로컬매핑로드() — 매핑 평탄 배열 [도메인,포트,name,...]
  • 로컬매핑갱신() — gateway.yaml에서 강제 재추출
  • 로컬포트조회(매핑, 도메인) — 포트 번호 (없으면 -1)
  • 로컬URL변환(매핑, URL) — URL 통째로 변환 (path/query 보존)
  • 로컬가능한가(매핑, 도메인) — yes/no

3. 브라우저 v2 통합 지점 (선택사항)

/Users/ef/CrownyBrowser/src/v2/HTTP스택.한선 또는 브라우저런타임.한선에서 fetch/요청 함수가 URL을 받는 진입점에 한 줄 추가:

javascript가져오기 "로컬직통.한선"  ; 파일 상단

변수 _로컬매핑_ = 로컬매핑로드()

함수 가져오기실행(URL) {
    URL = 로컬URL변환(_로컬매핑_, URL)   ; ← 이 한 줄만 추가
    ; 기존 로직...
}

CRNS와 충돌 없음 (CRNS는 한글 도메인, 로컬직통은 등록 도메인 → 127.0.0.1).

관련 파일

파일역할
/Users/ef/crowny-local/로컬바로보기.한선CLI 본체 (한선씨)
/Users/ef/crowny-local/로컬바로보기.toau컴파일된 TOAU
/Users/ef/crowny-local/lbvbash entry (매핑 추출 + 명령 전달)
/Users/ef/CrownyOS/crownyc/libs/로컬직통.한선브라우저용 한선씨 라이브러리
/tmp/lbv-mapawk가 추출한 매핑 캐시 (도메인\포트\name)
/tmp/lbv-cmd, /tmp/lbv-arg한선씨 통신용 임시 파일

동작 검증

lbv 조회 core.crowny.org → core.crowny.org → http://127.0.0.1:7731
lbv 헬스 main.crowny.org → main.crowny.org :7730  LIVE
lbv 헬스 audio.crowny.org → audio.crowny.org :9880  DOWN
lbv 찾기 bank → 3 매칭 (bank.crowny.org / bank.crownybus.com / bank-preview)
lbv 살아있음 → 60+ LIVE 서비스
로컬URL변환(..., "https://main.crowny.org/path?q=1") → "http://127.0.0.1:7730/path?q=1"

잔여 이슈 / 다음 단계

  • PATH 등록: ln -s /Users/ef/crowny-local/lbv /usr/local/bin/lbv 또는 .zshrc에 alias
  • 체계() 함수 함정: macOS sh의 echo -n-n LIVE로 출력됨 → printf 사용 필수
  • 다듬기() 한글 함정: ASCII 시작 byte를 char로 잘못 판단할 수 있음 → 끝 개행만 제거하는 단순 함수 권장
  • 브라우저 통합: HTTP스택.한선에 한 줄 추가 필요 (사용자 선택). 통합 시 brower-rebuild 필요.
  • CRNS와의 우선순위: 로컬직통은 IP 리터럴 다음, CRNS 이전 단계에서 호출하는 게 자연스러움
  • 포트 충돌 감지: 매핑에 동일 포트 다중 도메인 (예: :9152 = gateway-monitor + os, :9600 = spear+simulator+member) — 의도된 alias인지 확인 필요

비중

한선씨 라인: 295 (로컬바로보기.한선) + 110 (로컬직통.한선) = 405 줄
bash entry: 22 줄
새 한선씨 라이브러리: +1 (108 → 109)