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)