Chawan TUI 웹 브라우저
(chawan.net)- 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은 터미널 환경에 최적화된 웹 브라우저로, 리소스가 제한된 서버 및 환경에서 웹 콘텐츠 접근이 가능함
- 기존의 텍스트 웹 브라우저와 달리, 최신 암호화 및 압축 프로토콜 지원, 의존성 최소화 등에서 차별점을 가짐
- 오픈소스 방식이므로 추가 확장 및 맞춤화에 유리함
Hacker News 의견
-
나는 nim으로 작성된 프로젝트를 볼 때마다 기분이 좋아지는 감정 경험 nim이 C/C++와 python 사이 그 어딘가에 위치한 가장 흥미로운 언어라는 인상 nim 커뮤니티 규모에 비해 사용자들의 생산성이 높아 내가 잘 모르면서도 nim에 대한 생각이 맞는다는 확신 느낌 nim이 대중적으로 성장하지 못한 점이 아쉬움
-
shiomiru님, TTY와 관련된 개념을 배우기 위한 가장 좋은 리소스가 무엇인지 궁금함 무료든 유료든 추천 부탁 TTY에 대해선 linusakesson.net의 TTY 소개글를 알고 있지만, termcap/terminfo/curses까지 설명하지는 않는 한계 인식 다른 댓글에 O'Reilly의 Termcap & Terminfo 도서 언급됨 (온라인에서 여기서 보기 가능)
- chawan은 자체 커스텀 터미널 모듈 사용 경험 때문에 표준 X/Open curses에 대한 이해도가 높지 않음 실제 이스케이프 시퀀스 관련해서는 XTerm의 ctlseqs.ms 문서가 매우 유용한 자료라는 인식 nick black의 notcurses 프로젝트에서 아이디어도 많이 얻었고, 특히 "sprixels"에 대한 그의 노트를 적극 추천
-
Chrome 기반의 또 다른 엔진을 굳이 쓰지 않고 잠깐 연구용으로 쓸 수 있는 새로운 방식이 늘 반갑게 느껴짐 오늘 소개된 내용, 학교 끝나고 직접 테스트해 볼 기대감 sixel 없는 환경에서 특히 도움이 되는 매우 멋진 대체재로 chromium의 terminal port: carbonyl 추천 원작자가 더 이상 적극적으로 개발을 못 하고 있어 기능이 매우 제한적이고 키보드 단축키, 파일 저장 등 여러 기능은 아직 미지원 그러나 Web 호환성과 신선함이 매우 인상적이라는 생각 rust 기술을 가진 사람이 프로젝트를 이어가 주기를 바라는 소망 몇 달 전에 살펴보았을 때 인기있는 fork는 없는 상황
-
이런 프로젝트가 정말 좋다는 긍정적 감정 텍스트 기반 사이트들을 모아놓은 리스트가 있으면 좋겠다는 바람 개인적으로 좋아하는 두 곳은 plaintextsports.com와 lite.cnn.com
- 내가 자주 방문하는 텍스트 위주 사이트로는 text.npr.org와 plaintextaccounting.org가 있음
-
정말 멋짐 Lenovo M8 4세대에서 termux로 직접 소스 빌드해 봤는데 nim만 설치하면 됨 root 유저 없이도 깔끔하게 설치된 점이 인상적임
-
정말 아름다운 구현 경험 여러 업무에 실사용해서 어디까지 쓸 수 있을지 직접 확인해 보고 싶은 기대감 HN 사이트가 아주 보기 편함
-
내 웹사이트가 항상 Links에서도 보기 좋게 만드는 노력을 해왔는데, 이제는 새로운 후보가 생겼다는 기대감 일부 CSS 지원 덕분에 요소간 간격 조절 등 고민해야 할 부분도 늘어남 Links에서는 margin/padding을 완전히 무시해 한 줄에 메뉴 등 깔끔하게 나열했지만, 이제는 상황이 더 까다롭게 바뀐 현실
- 기본적으로 별도 설정 없이 "그냥 동작하는" 것이 목표였지만, 현실적으로 가끔 그렇지 않은 경우가 있음 이런 경우 버그로 간주하면 된다는 가이드 grid 레이아웃용 커스텀 CSS가 꼭 필요하다면, chawan이 표준 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의 현대적 대체재가 생긴 점이 반가움