Chawan, trình duyệt web TUI
(chawan.net)- Chawan là một trình duyệt web TUI mới hoạt động trong môi trường terminal dạng văn bản
- Phiên bản 0.2.0 lần này bao gồm mọi tính năng thiết yếu của giai đoạn MVP và hiện không có lỗi nghiêm trọng nào
- Chỉ yêu cầu bắt buộc các thư viện libssh2, libbrotli, OpenSSL/LibreSSL, đồng thời đã loại bỏ nhiều phụ thuộc từng có ở các phiên bản trước
- Cũng được cung cấp dưới dạng binary tĩnh và gói .deb cho amd64 Linux, giúp việc phát hành và cài đặt trở nên dễ dàng
- Ở phiên bản tiếp theo, mục tiêu là cải thiện hiệu năng của mô-đun layout và mang lại trải nghiệm UI tốt hơn
Giới thiệu Chawan 0.2.0
Chawan là một trình duyệt web nhẹ dựa trên giao diện người dùng terminal (TUI), là dự án mã nguồn mở được thiết kế để giúp duyệt web thuận tiện trong môi trường văn bản. Phiên bản 0.2.0 lần này là bản phát hành ổn định đầu tiên có đầy đủ các chức năng chính ở giai đoạn sản phẩm khả dụng tối thiểu (MVP), và hiện chưa có báo cáo về lỗi nghiêm trọng nào.
Phân phối và cài đặt
- Có cung cấp tarball của cây mã nguồn; nếu muốn tự biên dịch, chỉ cần làm theo hướng dẫn trong README
- Có bản phân phối binary tĩnh cho amd64 Linux, có thể cài đặt dễ dàng bằng lệnh
make installsau khi giải nén archive- Có thể gỡ bằng
make uninstall
- Có thể gỡ bằng
- Cùng bản phân phối đó cũng được cung cấp dưới dạng gói .deb, có thể cài đặt trực tiếp trên các hệ thống dựa trên Debian
Thông tin dành cho trình quản lý gói
- Các phụ thuộc runtime bắt buộc của Chawan gồm:
- libssh2
- libbrotli (bao gồm libbrotlicommon, libbrotlidec)
- OpenSSL (3.0 trở lên) hoặc LibreSSL (đã kiểm thử trên OpenBSD 7.7)
- Các thành phần như zlib, libseccomp, termcap/ncurses, libcurl từng được dùng ở các bản phát triển trước nay không còn cần thiết, nên đã được loại khỏi danh sách phụ thuộc
- Nếu phát sinh vấn đề khi đóng gói, hãy liên hệ với nhà phát triển trước khi vá; khả năng cao vấn đề có thể được xử lý trực tiếp ở upstream
Kế hoạch sắp tới
- Bản phát hành 0.2.0 lần này mất nhiều thời gian hơn dự kiến, nhưng là phiên bản được quyết định phát hành chính thức sau khi đã có đầy đủ mọi chức năng MVP
- Nhánh v0.2 từ nay sẽ chỉ nhận các bản sửa lỗi, còn việc bổ sung tính năng mới sẽ tiếp tục trên nhánh master
- Ở bản phát hành tiếp theo, mục tiêu trọng tâm là cải thiện hiệu năng và độ chính xác của mô-đun layout cùng với nâng cao tính thân thiện với người dùng của UI
Tầm quan trọng và ưu điểm của dự án
- Chawan là một trình duyệt web tối ưu cho môi trường terminal, cho phép truy cập nội dung web trên các máy chủ và môi trường bị giới hạn tài nguyên
- Khác với các trình duyệt web dạng văn bản hiện có, dự án này tạo khác biệt nhờ hỗ trợ các giao thức mã hóa và nén hiện đại, đồng thời tối thiểu hóa phụ thuộc
- Vì là mã nguồn mở nên thuận lợi cho việc mở rộng thêm và tùy biến
1 bình luận
Ý kiến trên Hacker News
Mỗi khi thấy một dự án viết bằng nim là tôi lại cảm thấy vui. Tôi có ấn tượng rằng nim là ngôn ngữ thú vị nhất, nằm đâu đó giữa C/C++ và python. So với quy mô cộng đồng nim, người dùng của nó có năng suất rất cao, nên dù không hiểu quá sâu tôi vẫn có cảm giác những suy nghĩ của mình về nim là đúng. Thật tiếc khi nim vẫn chưa thể phát triển rộng rãi.
shiomiru, tôi muốn hỏi đâu là tài liệu tốt nhất để học các khái niệm liên quan đến TTY. Miễn phí hay trả phí đều được, mong được giới thiệu. Về TTY thì tôi biết bài giới thiệu TTY của linusakesson.net, nhưng tôi nhận ra nó có giới hạn là không giải thích đến termcap/terminfo/curses. Ở bình luận khác cũng có nhắc đến cuốn O'Reilly's Termcap & Terminfo (có thể xem trực tuyến tại đây).
Tôi luôn thấy vui khi có thêm một cách tiếp cận mới để nghiên cứu nhanh, thay vì lại phải dùng thêm một engine khác dựa trên Chrome. Những gì được giới thiệu hôm nay khiến tôi rất mong sau khi tan học sẽ tự thử. Với môi trường không có sixel, tôi muốn giới thiệu terminal port của chromium: carbonyl như một lựa chọn thay thế rất hay. Tác giả gốc hiện không còn có thể phát triển tích cực nữa nên tính năng còn khá hạn chế, nhiều thứ như phím tắt, lưu file v.v. vẫn chưa được hỗ trợ. Tuy vậy, độ tương thích Web và sự mới mẻ của nó vẫn cực kỳ ấn tượng. Tôi chỉ mong có ai giỏi rust tiếp tục duy trì dự án; lần gần nhất tôi xem, vài tháng trước, vẫn chưa có fork nào nổi bật.
Tôi thật sự thích những dự án như thế này. Tôi ước gì có một danh sách tổng hợp các website dạng văn bản. Cá nhân tôi thích nhất plaintextsports.com và lite.cnn.com.
Quá tuyệt. Tôi đã tự build từ source bằng termux trên Lenovo M8 thế hệ 4, chỉ cần cài nim là xong. Việc cài đặt gọn gàng mà không cần quyền root thật sự gây ấn tượng.
Đây là một triển khai rất đẹp. Tôi rất mong được dùng nó vào công việc thực tế để xem có thể đi xa đến đâu. HN hiển thị cực kỳ dễ đọc.
Tôi luôn cố gắng để website của mình trông ổn ngay cả trên Links, và giờ có vẻ đã có thêm một ứng viên mới. Nhờ có hỗ trợ một phần CSS, số thứ cần cân nhắc như giãn cách giữa các phần tử cũng tăng lên. Trên Links thì margin/padding bị bỏ qua hoàn toàn nên tôi có thể xếp menu và các mục khác gọn trên một dòng, nhưng giờ tình hình đã trở nên phức tạp hơn.
Dự án này thật sự rất hay, lại còn được làm bằng nim nữa thì càng đáng khen. Nhưng khi tôi gõ
cha example.comthì hoàn toàn không hiểu cách dùng các lệnh mặc định như hjkl. Khi nhấn số thì có hiện ở góc dưới bên trái, còn ngoài ra không có phản hồi gì cả. Tôi đã tự build trên MacOS Sequoia 15.5 Apple Silicon với Nim 2.24. Trang web tải lên bình thường nhưng các lệnh thì không hoạt động. Không rõ tôi đang bỏ sót điều gì, hay đây là bug?Tôi thấy khá ấn tượng khi nó không còn dùng termcap/ncurses nữa. Điều này có nghĩa là nó tự xử lý terminal trực tiếp phải không?
Tôi rất ấn tượng khi trên macOS có thể build dễ dàng chỉ với một lệnh
make. Thật vui khi thấy đã có một lựa chọn thay thế hiện đại cho elinks.