Eu que fiz: Sombrero File Search — o "Agent Ransack do Linux" que eu precisava e não existia

Olá, pinguins! :penguin:

Sou médico no interior de Santa Catarina e mantenho um homelab caseiro que cresceu até virar um acervo de 13 discos. Quando migrei de vez pro Linux, a ferramenta que mais senti falta foi o Agent Ransack — aquele buscador de arquivos do Windows que procura dentro do conteúdo, ao vivo, sem depender de índice.

No Linux, as opções me deixaram na mão: o FSearch é excelente, mas só busca por nome; o Catfish lê conteúdo, porém é lento; e os que leem conteúdo de verdade (Recoll, DocFetcher) são indexadores pesados, que respondem de um banco de dados que só é tão atual quanto a última varredura.

Então eu construí o que faltava. É software livre (GPL), e chama Sombrero File Search (SFS).

O que ele faz de diferente:

  • Busca viva por nome E conteúdo, com expressões booleanas — laudo AND (2019 OR 2020) NOT rascunho — e os resultados aparecem com as linhas que casaram já destacadas.
  • Sem índice, sem daemon. O que ele mostra é o que está no disco agora. Usa ripgrep e fd quando existem, e cai num modo Python puro quando não existem — com testes provando que os dois motores devolvem resultado idêntico.
  • Acha e exporta, nunca destrói. Não é um gerenciador de arquivos: ele encontra e te ajuda a tirar os arquivos dali (arrastar-e-soltar que só copia, “Copiar para…” com fila e verificação de destino). Não tem apagar, mover nem renomear — de propósito, e garantido por teste.
  • Feito para hardware real e feio: consciência de discos SMR, ritmo de escrita pra um pendrive lento não travar o desktop, aviso quando um NAS de rede para de responder, e um caçador de duplicatas que nunca confunde hardlink com cópia.

Sendo honesto sobre os limites: ele não vai ganhar do FSearch em busca instantânea só por nome — pra isso índice é melhor, e o SFS até empresta o plocate se você pedir. A fila de cópia é sequencial de propósito (disco SMR odeia escrita paralela). E ele é um buscador-e-exportador por escolha: apagar arquivo é trabalho do seu gerenciador.

Onde pegar (tem .deb e AppImage):
:backhand_index_pointing_right: GitHub - Thiopental1976/sombrero-file-search: Fast native file search for Linux — live boolean search by name and file contents, no index, no daemon. GUI + CLI, powered by ripgrep/fd with a proven pure-Python fallback. The Agent Ransack / FileLocator experience, for Linux. · GitHub

Foi desenvolvido ao longo de umas duas semanas intensas, e cada decisão de projeto, caça a bug e teste de campo (incluindo um Philips MTP de 2006 e um NAS de mentira que eu travava de propósito pra testar) está documentada nos arquivos do repositório — que, confesso, ficaram uma leitura divertida sobre como um programa vai ficando robusto.

Feedback, crítica e dedo na ferida são muito bem-vindos — é pra isso que tô trazendo aqui. Valeu! :beer_mug:

1 curtida

Pessoal, um aviso de transparência para quem for testar o SFS em distros imutáveis (Bazzite, Fedora Silverblue/Kinoite e afins). Instalei aqui num notebook com Bazzite e encontrei dois problemas:

  1. O install.sh pode travar durante a instalação — o Bazzite traz um “stub” do dnf que fica aguardando em vez de instalar, e o instalador congela nessa etapa.
  2. Disco secundário montado em /var/mnt não aparece no menu “Disks ▾” — nas distros ostree os discos fixos vão para /var/mnt (o /mnt faz parte da imagem somente-leitura), e o SFS ainda não olhava lá.

Contorno enquanto isso: dá para buscar normalmente no disco digitando o caminho direto no campo “In/Em” (ex.: /var/mnt/arquivos — aceita vários separados por ;), ou escolhendo a pasta pelo botão Browse/Procurar.

A correção da detecção do /var/mnt já está pronta e testada (suíte com 121 testes passando, incluindo casos específicos do Bazzite) e o commit sobe para o GitHub hoje à noite, junto com ajustes no instalador para as imutáveis.

Se alguém esbarrar em algo parecido em outra distro imutável, me conta aqui — ajuda muito a fechar esses casos. :folded_hands:

1 curtida

Faltou uma coisa no post original: o GIF de demonstração. Não tinha ainda como subir imagem quando escrevi o post :slightly_smiling_face: Aqui vai, mostrando a busca booleana ao vivo com destaque de linha e o “Copiar para…” puxando os arquivos sem apagar nada da origem:

sombrero-demo

Ahh, tem tema claro e escuro. Só escolher :smiley:

Alguns minutos até que a distribuição para Atomics fique verde. :smiley: