Chawan, navegador web TUI
(chawan.net)- Chawan é um novo navegador web TUI que funciona em terminais baseados em texto
- Esta versão 0.2.0 inclui todos os recursos essenciais da fase MVP e está sem bugs críticos conhecidos
- Exige apenas as bibliotecas libssh2, libbrotli e OpenSSL/LibreSSL, com várias dependências antigas removidas
- Também é disponibilizado como binário estático e pacote .deb para Linux amd64, facilitando a distribuição e a instalação
- A próxima versão terá como foco melhorias de desempenho no módulo de layout e uma experiência de UI melhor
Apresentando o Chawan 0.2.0
O Chawan é um projeto open source de navegador web leve baseado em interface de usuário de terminal (TUI), projetado para permitir navegação simples na web em ambientes de texto. Esta versão 0.2.0 é a primeira release estabilizada com todos os principais recursos da fase de produto mínimo viável (MVP), sem relatos de bugs críticos importantes até o momento.
Distribuição e instalação
- Um tarball da árvore-fonte é disponibilizado, e quem quiser compilar manualmente pode seguir as instruções no README
- Há uma distribuição em binário estático para Linux amd64, que pode ser instalada facilmente após extrair o arquivo usando o comando
make install- A remoção pode ser feita com
make uninstall
- A remoção pode ser feita com
- A mesma distribuição também é fornecida no formato de pacote .deb, podendo ser instalada diretamente em sistemas baseados em Debian
Informações para mantenedores de pacotes
- As dependências obrigatórias em tempo de execução do Chawan são as seguintes:
- libssh2
- libbrotli (incluindo libbrotlicommon e libbrotlidec)
- OpenSSL (3.0 ou superior) ou LibreSSL (testado com OpenBSD 7.7)
- zlib, libseccomp, termcap/ncurses, libcurl e outras usadas em versões de desenvolvimento anteriores não são mais necessárias e, por isso, foram removidas das dependências
- Se surgirem problemas durante o empacotamento, é recomendável entrar em contato com o desenvolvedor antes de aplicar patches, pois há grande chance de o problema ser resolvido diretamente no upstream
Planos futuros
- Esta release 0.2.0 levou mais tempo do que o esperado, mas foi a versão escolhida para distribuição oficial por já contar com todos os recursos do MVP
- O branch v0.2 daqui em diante receberá apenas correções de bugs, enquanto a adição de novos recursos continuará no branch master
- A próxima release terá como metas principais melhorar o desempenho e a precisão do módulo de layout e tornar a UI mais amigável ao usuário
Importância e vantagens do projeto
- O Chawan é um navegador web otimizado para ambientes de terminal, permitindo acessar conteúdo web em servidores e ambientes com recursos limitados
- Diferentemente de navegadores web em texto tradicionais, ele se destaca por oferecer suporte a protocolos modernos de criptografia e compressão, além de minimizar dependências
- Por ser open source, é vantajoso para extensões adicionais e customização
1 comentários
Comentários do Hacker News
Sempre fico feliz quando vejo um projeto escrito em nim; tenho a impressão de que nim é uma das linguagens mais interessantes, situada em algum ponto entre C/C++ e python. Em comparação com o tamanho da comunidade nim, a produtividade dos usuários parece alta, o que me dá a sensação de que minha opinião sobre nim está certa mesmo sem eu conhecer tão bem a linguagem. É uma pena que nim não tenha conseguido crescer de forma mais popular.
@shiomiru, queria saber quais são os melhores recursos para aprender os conceitos relacionados a TTY. Aceito recomendações, sejam gratuitas ou pagas. Sobre TTY, conheço a introdução ao TTY do linusakesson.net, mas reconheço a limitação de que ela não cobre termcap/terminfo/curses. Em outro comentário, mencionaram o livro Termcap & Terminfo da O'Reilly (também dá para ler online aqui).
Sempre acho bom ver uma abordagem nova que dá para usar por curiosidade ou pesquisa por um tempo, sem recorrer a mais um motor baseado em Chrome. Fiquei animado com o que foi apresentado hoje e quero testar eu mesmo depois da aula. Como uma alternativa muito legal, especialmente em ambientes sem sixel, recomendo o port de terminal do chromium: carbonyl. O autor original não consegue mais desenvolvê-lo ativamente, então os recursos são bem limitados, e vários itens como atalhos de teclado e salvamento de arquivos ainda não são suportados. Mesmo assim, a compatibilidade Web e o frescor da ideia são muito impressionantes. Espero que alguém com experiência em rust dê continuidade ao projeto; quando olhei alguns meses atrás, não havia nenhum fork popular.
Gosto muito desse tipo de projeto. Seria ótimo ter uma lista de sites baseados em texto. Dois de que gosto pessoalmente são plaintextsports.com e lite.cnn.com.
Muito legal. Acabei de compilar a partir do código-fonte no termux de um Lenovo M8 4ª geração, e só precisei instalar nim. Fiquei impressionado por ter sido instalado de forma limpa, sem usuário root.
É uma implementação realmente bonita. Estou animado para usar em tarefas reais e ver até onde dá para ir. O site do HN fica muito confortável de ler.
Sempre procurei fazer meu site ficar bonito também no Links, e agora estou animado por ter mais um candidato. Com algum suporte a CSS, aumentam também as coisas com que preciso me preocupar, como o espaçamento entre elementos. No Links, eu simplesmente ignorava completamente margin/padding e alinhava menus e afins de forma limpa em uma linha, mas agora a situação ficou mais complicada.
Projeto muito legal, e ainda por cima feito em nim. Quando digito
cha example.com, fico totalmente perdido porque não faço ideia de como usar os comandos básicos (hjkl etc.). Quando aperto números, eles aparecem no canto inferior esquerdo, mas fora isso nada reage. Compilei eu mesmo em MacOS Sequoia 15.5 Apple Silicon com Nim 2.24. A página Web carrega bem, mas os comandos não funcionam. Estou deixando passar alguma coisa ou isso é um bug?Achei interessante que ele não usa mais termcap/ncurses. Isso quer dizer que o processamento do terminal é feito diretamente?
Fiquei impressionado como ele compila facilmente no macOS com apenas um
make. É bom ver surgir um substituto moderno para o elinks.