CRNS v1.0 — Crowny Resolution Name System 표준
개요
CRNS는 크라우니 생태계의 한글 도메인 시스템이다. 기존 DNS를 대체/보완하며, 한글 도메인을 Punycode 변환 없이 네이티브로 해석한다. 크라우니브라우저 표준 내장.
크라우니.월드, 음악.크라우니.한국 같은 도메인을 마음껏 사용.
DNS와의 차이
| 항목 | DNS | CRNS |
|---|---|---|
| 한글 도메인 | Punycode(xn--) 변환 필요 | 네이티브 UTF-8 |
| 응답 모델 | 2값 (있음/NXDOMAIN) | 4상 (T/O/A/U) |
| 차단 | 별도 솔루션 필요 | 프로토콜 내장 (A상태) |
| 도메인 저장 | 존 파일 | 셀코어 셀 + 27트릿 큐브 해시 |
| 포트 | 53 (UDP/TCP) | 5388 (TCP) |
한글 TLD (10종)
.월드 글로벌 도메인
.한국 국내 도메인
.코리아 국내 도메인 (별칭)
.세상 범용
.마음 마음/명상/정신
.사랑 관계/연결
.노래 음악
.꿈 비전/미래
.별 천체/우주
.빛 조명/디스플레이
4상 응답 모델
CRNS는 4상균형3진의 T/O/A/U를 응답 코드로 사용:
| 상태 | 트릿 | 의미 | 브라우저 동작 |
|---|---|---|---|
| T | +1 | 확정 — 등록된 도메인, IP 반환 | 연결 |
| O | 0 | 대기 — 한글 TLD지만 미등록, 권한서버 위임 | 일반 DNS 폴백 |
| A | -1 | 차단 — 악성/피싱 도메인 | 차단 페이지 |
| U | 구분 | 미등록 — 한글 TLD 아님 | 일반 DNS 폴백 |
와이어 프로토콜 (CRNS/1.0)
텍스트 기반, UTF-8, TCP 포트 5388.
요청:
CRNS/1.0 RESOLVE <도메인>\n
응답:
CRNS/1.0 <상태> <IP> <TTL>\n
예시:
→ CRNS/1.0 RESOLVE 크라우니.월드
← CRNS/1.0 T 192.168.219.153 86400
→ CRNS/1.0 RESOLVE 악성.월드
← CRNS/1.0 A 0.0.0.0 3600
→ CRNS/1.0 RESOLVE google.com
← CRNS/1.0 U 0.0.0.0 3600
해석 우선순위 (브라우저 DNS조회)
1. DNS 캐시 확인
2. IP 리터럴 확인 (IPv4)
3. CRNS 우선 조회 ← 한글 도메인/한글 TLD인 경우
├ T → IP 반환 + 캐시
├ A → 0.0.0.0 (차단)
└ O/U → 다음 단계
4. 내장 DNS질의
5. DoH 폴백
구현 파일
| 파일 | 역할 |
|---|---|
libs/CRNS.한선 | 코어 — 해석/캐시/레지스트리/통계 (~270줄) |
libs/CRNS_레지스트리.한선 | 초기 도메인 등록 (40+ 도메인) |
CRNS서버.한선 | 권한 서버 (TCP 5388) |
src/v2/HTTP스택.한선 | 브라우저 통합 (DNS조회 함수) |
CRNS API
javascript가져오기 "CRNS.한선"
가져오기 "CRNS_레지스트리.한선"
CRNS_초기등록() // 기본 도메인 등록
변수 결과 = CRNS해석("크라우니.월드") // {도메인, IP, 상태, TTL, 출처}
변수 상태 = 맵꺼내(결과, "상태") // 1=T 0=O -1=A 999=U
CRNS_등록("내도메인.월드", "1.2.3.4", 86400) // 도메인 등록
CRNS_차단("악성.한국") // 도메인 차단
CRNS_TLD인가("크라우니.월드") // 참 — 한글 TLD 확인
CRNS_한글포함("크라우니") // 참 — 한글 문자 확인
CRNS_대상인가(호스트) // CRNS 처리 대상 여부
검증 결과
CRNS 통합 테스트:
크라우니.월드 → T 192.168.219.153 [레지스트리]
음악.크라우니.한국 → T 192.168.219.153 [레지스트리]
악성.월드 → A 0.0.0.0 [차단]
google.com → U (일반 DNS 폴백)
HTTP스택 ↔ CRNS:
한글 도메인 → CRNS 경로
영문 도메인 → 일반 DNS 폴백
HTTP스택 자가테스트 12/12 통과
등록 도메인 (초기 40+)
크라우니 코어 서비스가 한글 도메인으로 등록됨:
- 크라우니.월드 / .한국 / .코리아 / .세상 / .마음 / .사랑 / .노래 / .꿈 / .별 / .빛
- 음악.크라우니.한국, 교회.크라우니.한국, 뱅크.크라우니.한국, 자산.크라우니.한국
- 플레이.크라우니.한국, 문서.크라우니.한국, 교육.크라우니.한국, 정부.크라우니.한국
- 듀얼브레인.마음, 명상.마음, 기도.마음, 연결.사랑, 크루.사랑
잔여 / 향후
- CRNS 서버 실제 TCP 리스닝 테스트 (현재 프로토콜 셀프테스트만 완료)
- 27트릿 큐브 해시 기반 분산 레지스트리
- 도메인 소유권 증명 (해시 서명)
- CRNS-over-TLS (암호화 조회)
- 브라우저 URL바 한글 입력 자동완성