DEV Community

Aglair
Aglair

Posted on

goflix: acervo de vídeos no terminal, feito em Go

Tenho alguns arquivos de vídeo locais e queria algo mais simples que o Jellyfin ou Kodi, inteiramente no terminal. Não encontrei nada que servisse, então escrevi em Go.

Demo

O que faz

Você mapeia diretórios com vídeos, navega por eles numa interface TUI e abre qualquer arquivo direto no mpv, tudo pelo teclado. O progresso de reprodução fica salvo, e dá para marcar vídeos como assistidos ou resetar quando quiser.

Funciona como um acervo pessoal: organiza, rastreia o que você já viu e lembra onde parou.

O que precisa

  • mpv para reprodução
  • ffprobe opcional, para exibir duração dos vídeos
  • go só se instalar via go install

Instalação

Via go install (recomendado):

go install github.com/aglairdev/goflix@latest
Enter fullscreen mode Exit fullscreen mode

Versão específica:

go install github.com/aglairdev/goflix@v1.0.0
Enter fullscreen mode Exit fullscreen mode

Via release (sem Go instalado):

Baixe o binário nas releases, mova para ~/.local/bin e dê permissão de execução:

chmod +x goflix
mv goflix ~/.local/bin/
Enter fullscreen mode Exit fullscreen mode

Certifique-se de que ~/.local/bin está no seu PATH. Se não estiver, adicione ao seu ~/.bashrc ou ~/.zshrc:

export PATH="$HOME/.local/bin:$PATH"
Enter fullscreen mode Exit fullscreen mode

Atalhos

Tela inicial:

Tecla Ação
enter abrir diretório
n adicionar diretório
d remover diretório
l alternar idioma (pt/es)
q sair

Dentro de um diretório:

Tecla Ação
enter reproduzir vídeo
v marcar como visto
r desmarcar visto e resetar progresso
esc voltar
q sair

Atualização

O app verifica atualizações ao iniciar. Se houver uma versão nova:

ꕤ Nova versão disponível: v1.0.1  (atual: v1.0.0)
─────────────────────────────────────────────────
u: atualizar agora    qualquer tecla: ignorar
Enter fullscreen mode Exit fullscreen mode

Pressione u para atualizar automaticamente. Requer Go instalado. Quem instalou via release precisará baixar o novo binário manualmente nas releases.

Dados

Arquivo Conteúdo
~/.config/goflix/config diretórios mapeados
~/.config/goflix/watched histórico de assistidos

Personalização

Cor: edite a constante ColorAccent no topo de main.go com qualquer cor hex de 6 dígitos e recompile:

ColorAccent = "#FF5FA7" // padrão: rosa
ColorAccent = "#00BFFF" // azul
ColorAccent = "#A8FF3E" // verde
Enter fullscreen mode Exit fullscreen mode

Idioma: alternado com l diretamente no app, sem reiniciar. Atualmente suporta pt-BR e espanhol.

Tradução

Para novos idiomas edite i18n.go, adicione um novo bloco usando o ptbr como referência e abra um PR. Todas as chaves precisam estar presentes.


Remoção, build e mais detalhes no repositório, licença MIT.

Top comments (0)