# Chawan TUI 웹 브라우저

> Clean Markdown view of GeekNews topic #21503. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=21503](https://news.hada.io/topic?id=21503)
- GeekNews Markdown: [https://news.hada.io/topic/21503.md](https://news.hada.io/topic/21503.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2025-06-17T18:33:12+09:00
- Updated: 2025-06-17T18:33:12+09:00
- Original source: [chawan.net](https://chawan.net/news/chawan-0-2-0.html)
- Points: 2
- Comments: 1

## Topic Body

- **Chawan**은 텍스트 기반 터미널에서 작동하는 새로운 **TUI 웹 브라우저**임
- 이번 0.2.0 버전은 **MVP 단계의 모든 필수 기능**을 포함하며, 치명적인 버그가 없는 상태임
- **libssh2**, **libbrotli**, **OpenSSL/LibreSSL** 라이브러리만 필수로 필요하며, 예전 버전에 있던 여러 의존성들이 제거됨
- amd64 Linux용 **정적 바이너리와 .deb 패키지**로도 제공되어 배포 및 설치가 용이함
- 다음 버전에서는 **레이아웃 모듈의 성능 개선**과 더 나은 UI 경험이 목표임

---

### Chawan 0.2.0 소개

Chawan은 터미널 사용자 인터페이스(TUI) 기반의 **경량 웹 브라우저**로, 텍스트 환경에서 간편하게 웹을 탐색할 수 있도록 설계된 오픈소스 프로젝트임. 이번 0.2.0 버전은 **최소 실행 제품(MVP)** 단계의 모든 주요 기능을 갖춘 첫 안정화 릴리스로, 주요 치명적 버그가 보고되지 않은 상태임.

#### 배포 및 설치

- 소스 트리의 tarball이 제공되어 있으며, 직접 컴파일을 원할 경우 README의 안내를 따르면 됨
- amd64 Linux용 **정적 바이너리** 배포판이 제공되어, 아카이브 압축 해제 후 `make install` 명령어로 쉽게 설치 가능함
  - 삭제는 `make uninstall`로 진행 가능함
- 동일한 배포판이 **.deb 패키지** 형태로도 제공되어 Debian 기반 시스템에서 바로 설치할 수 있음

#### 패키지 관리자를 위한 정보

- Chawan의 필수 런타임 **의존성**은 다음과 같음:
  - **libssh2**
  - **libbrotli** (libbrotlicommon, libbrotlidec 포함)
  - **OpenSSL(3.0 이상)** 또는 **LibreSSL** (OpenBSD 7.7 버전 테스트 완료)
- 이전 개발 버전에서 사용되었던 **zlib, libseccomp, termcap/ncurses, libcurl** 등은 더 이상 필요하지 않으므로 의존성에서 제거했음
- 패키징 시 이슈가 발생할 경우 패치 전에 먼저 개발자에게 연락하면, 문제를 상위에서 직접 해결할 가능성 높음

#### 향후 계획

- 이번 0.2.0 릴리스는 기대보다 시간이 더 소요되었지만, 모든 MVP 기능을 갖췄음에 따라 공식 배포를 결정한 버전임
- v0.2 브랜치는 앞으로 **버그 수정**만 진행하며, 새로운 기능 추가는 master 브랜치에서 계속될 예정임
- 다음 릴리스에서는 **레이아웃 모듈의 성능 및 정확성 개선**과, **UI의 사용자 친화성 향상**을 중점 목표로 하고 있음

---

### 프로젝트의 중요성 및 장점

- Chawan은 **터미널 환경에 최적화**된 웹 브라우저로, 리소스가 제한된 서버 및 환경에서 웹 콘텐츠 접근이 가능함
- 기존의 텍스트 웹 브라우저와 달리, 최신 암호화 및 압축 프로토콜 지원, 의존성 최소화 등에서 차별점을 가짐
- 오픈소스 방식이므로 추가 확장 및 맞춤화에 유리함

## Comments



### Comment 40236

- Author: neo
- Created: 2025-06-17T18:33:13+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=44293260) 
* 나는 nim으로 작성된 프로젝트를 볼 때마다 기분이 좋아지는 감정 경험 nim이 C/C++와 python 사이 그 어딘가에 위치한 가장 흥미로운 언어라는 인상 nim 커뮤니티 규모에 비해 사용자들의 생산성이 높아 내가 잘 모르면서도 nim에 대한 생각이 맞는다는 확신 느낌 nim이 대중적으로 성장하지 못한 점이 아쉬움

* shiomiru님, TTY와 관련된 개념을 배우기 위한 가장 좋은 리소스가 무엇인지 궁금함 무료든 유료든 추천 부탁 TTY에 대해선 [linusakesson.net의 TTY 소개글](https://www.linusakesson.net/programming/tty/index.php)를 알고 있지만, termcap/terminfo/curses까지 설명하지는 않는 한계 인식 다른 댓글에 [O'Reilly의 Termcap & Terminfo](http://www.amazon.com/termcap-terminfo-OReilly-Nutshell-Linda/dp/0937175226) 도서 언급됨 (온라인에서 [여기서 보기](https://www.scribd.com/document/831486848/Termcap-and-Terminfo-Oreilly) 가능)

  * chawan은 자체 커스텀 터미널 모듈 사용 경험 때문에 표준 X/Open curses에 대한 이해도가 높지 않음 실제 이스케이프 시퀀스 관련해서는 XTerm의 [ctlseqs.ms 문서](https://invisible-island.net/xterm/ctlseqs/ctlseqs.html)가 매우 유용한 자료라는 인식 nick black의 [notcurses](https://nick-black.com/dankwiki/index.php/Notcurses) 프로젝트에서 아이디어도 많이 얻었고, 특히 "sprixels"에 대한 [그의 노트](https://nick-black.com/dankwiki/index.php/Theory_and_Practice_of_Sprixels)를 적극 추천

* Chrome 기반의 또 다른 엔진을 굳이 쓰지 않고 잠깐 연구용으로 쓸 수 있는 새로운 방식이 늘 반갑게 느껴짐 오늘 소개된 내용, 학교 끝나고 직접 테스트해 볼 기대감 sixel 없는 환경에서 특히 도움이 되는 매우 멋진 대체재로 [chromium의 terminal port: carbonyl](https://github.com/fathyb/carbonyl) 추천 원작자가 더 이상 적극적으로 개발을 못 하고 있어 기능이 매우 제한적이고 키보드 단축키, 파일 저장 등 여러 기능은 아직 미지원 그러나 Web 호환성과 신선함이 매우 인상적이라는 생각 rust 기술을 가진 사람이 프로젝트를 이어가 주기를 바라는 소망 몇 달 전에 살펴보았을 때 인기있는 fork는 없는 상황

* 이런 프로젝트가 정말 좋다는 긍정적 감정 텍스트 기반 사이트들을 모아놓은 리스트가 있으면 좋겠다는 바람 개인적으로 좋아하는 두 곳은 [plaintextsports.com](https://plaintextsports.com/)와 [lite.cnn.com](https://lite.cnn.com/)

  * 내가 자주 방문하는 텍스트 위주 사이트로는 [text.npr.org](https://text.npr.org/)와 [plaintextaccounting.org](https://plaintextaccounting.org/)가 있음

* 정말 멋짐 Lenovo M8 4세대에서 termux로 직접 소스 빌드해 봤는데 nim만 설치하면 됨 root 유저 없이도 깔끔하게 설치된 점이 인상적임

* 정말 아름다운 구현 경험 여러 업무에 실사용해서 어디까지 쓸 수 있을지 직접 확인해 보고 싶은 기대감 HN 사이트가 아주 보기 편함

* 내 웹사이트가 항상 Links에서도 보기 좋게 만드는 노력을 해왔는데, 이제는 새로운 후보가 생겼다는 기대감 일부 CSS 지원 덕분에 요소간 간격 조절 등 고민해야 할 부분도 늘어남 Links에서는 margin/padding을 완전히 무시해 한 줄에 메뉴 등 깔끔하게 나열했지만, 이제는 상황이 더 까다롭게 바뀐 현실

  * 기본적으로 별도 설정 없이 "그냥 동작하는" 것이 목표였지만, 현실적으로 가끔 그렇지 않은 경우가 있음 이런 경우 버그로 간주하면 된다는 가이드 grid 레이아웃용 커스텀 CSS가 꼭 필요하다면, chawan이 표준 [grid 미디어 쿼리](https://developer.mozilla.org/en-US/docs/Web/CSS/@media/grid)를 지원한다는 정보 전달

* 정말 멋진 프로젝트라는 감동과 nim으로 만들어진 점에 대한 찬사 느낌 `cha example.com` 입력 시 기본 명령(hjkl 등) 사용법을 전혀 모르겠는 혼란감 숫자를 누르면 좌측 하단에 표시 되지만, 그 외엔 아무런 반응이 없음 MacOS Sequoia 15.5 Apple Silicon과 Nim 2.24 환경에서 직접 빌드 경험 웹페이지는 잘 불러오지만 명령은 동작하지 않는 상황 혹시 내가 뭔가 놓치고 있는지, 아니면 이게 버그인지 궁금함

  * Ghostty, iTerm2, Terminal.app 등 다양한 터미널에서 모두 같은 현상 경험

* termcap/ncurses를 더 이상 사용하지 않는 점이 인상적이라는 의견 표출 직접 터미널 처리를 한다는 의미인지 궁금증

  * Chawan은 사실상 ncurses는 사용하지 않고 termcap만 사용했다고 설명 ncurses가 termcap을 내부 구현으로 포함해서 헷갈릴 수 있음 처음엔 w3m을 써봐서 termcap으로 시작했지만, termcap은 이제 거의 쓸모없는 인터페이스이고 최신 터미널에서 필요한 true color도 표현 못함 유일한 장점은 극히 오래된 80년대 터미널에서 '운 좋게' 동작할 수 있다는 점이지만, 이마저도 별 가치 없다는 평가 terminfo로 갈아타는 대신 아예 포기하고 터미널 쿼리 방식을 채택 터미널 DB도 내장돼 있어 일부 XTerm 비호환 TERM 값을 식별하는 용도로만 사용됨 쿼리에 정상적으로 반응하는 터미널이면 TERM 값 상관없이 잘 동작함

* macOS에서 'make' 명령 한 번만으로 쉽게 빌드된다는 점이 인상적이라는 경험 elinks의 현대적 대체재가 생긴 점이 반가움
