Skip to content

Latest commit

 

History

History
205 lines (143 loc) · 6.11 KB

File metadata and controls

205 lines (143 loc) · 6.11 KB
GitHub Unfollowers

Chrome Web Store Manifest V3 GitHub API Licença: MIT


GitHub Unfollowers utiliza a API oficial do GitHub para analisar suas conexões — sem servidores de terceiros, sem coleta de dados. Tudo acontece localmente no seu navegador.

Gerencie sua rede do GitHub sem sair do navegador.


Funcionalidades

Listas e Análise

  • Identifique quem não te segue de volta
  • Veja quem te segue mas você não segue
  • Visualize seguidores mútuos
  • Comparativo histórico com badge "Novo"
  • Detecção automática de perfis inacessíveis

Ações e Controle

  • Deixe de siga / Siga diretamente pela extensão
  • Ações em massa com confirmação
  • Retomada automática de ações interrompidas
  • Whitelist de usuários ignorados
  • Histórico de eventos (follow, unfollow, inacessível)

Interface

  • Tema dark/light com alternância
  • Busca por username em tempo real
  • Links diretos para o perfil de cada usuário
  • Badge no ícone com novos não-seguidores

Técnico

  • Cache local com Chrome Storage API
  • Rate-limit awareness com retry automático
  • Virtual scroll para listas grandes (50+)
  • Atalhos de teclado e navegação por setas
  • Acessibilidade com ARIA roles e focus trap

Demonstração

Demonstração da extensão


Instalação

Chrome Web Store (recomendado)

Instale agora na Chrome Web Store — gratuito, sem necessidade de compilação.

Instalação Manual

  1. Clone o repositório:

    git clone https://github.com/joaomjbraga/github-unfollowers.git
  2. Abra chrome://extensions no Chrome

  3. Ative o Modo do Desenvolvedor (canto superior direito)

  4. Clique em Carregar sem compactação e selecione a pasta do projeto


Como Usar

  1. Abra a extensão na barra de ferramentas do Chrome
  2. Crie um token no GitHub com os escopos read:user + user:follow
  3. Cole o token e clique em Conectar
  4. Navegue pelas abas:
Aba Descrição
Não Seguidores Você segue, mas não te seguem de volta
Mútuos Seguidores que também você segue
Não sigo Te seguem, mas você não segue de volta
  1. Use o campo de busca para filtrar por username
  2. Clique em Parar para deixar de seguir ou Seguir para seguir de volta

Atalhos de Teclado

Tecla Ação
1 2 3 Trocar entre abas
/ Focar no campo de busca
H Aba Histórico
W Aba Whitelist
R Aba Listas
T Alternar tema
Esc Fechar painel / modal

Tecnologias

Tecnologia Finalidade
JavaScript (ES Modules) Lógica principal — sem bundler, sem build
Chrome Extensions Manifest V3 Service worker, popup, storage
GitHub REST API Dados de seguidores e seguindo
Chrome Storage API Persistência local de dados

Estrutura do Projeto

github-unfollowers/
├── popup.html              Interface HTML
├── popup.css               Estilos e tema dark/light
├── manifest.json           Configuração da extensão (MV3)
├── src/
│   ├── main.js             Bootstrap (importa app.js)
│   ├── app.js              Lógica principal, eventos, follow/unfollow
│   ├── api.js              GitHub REST API com retry, rate-limit, ETag cache
│   ├── ui.js               Renderização, histórico, whitelist, virtual scroll
│   ├── background.js       Service worker — detecta mudanças em segundo plano
│   ├── store.js            Estado global compartilhado
│   ├── storage.js          Wrapper tipado para chrome.storage.local
│   ├── cache.js            Cache ETag por página
│   ├── constants.js        Constantes compartilhadas
│   ├── dom.js              Helpers $() e $$()
│   ├── history.js          Histórico de eventos (30 dias)
│   ├── theme.js            Gerenciamento de tema dark/light
│   ├── whitelist.js        Gerenciamento da whitelist
│   ├── utils.js            Funções utilitárias
│   └── dev.js              Mock de cenários de erro (dev)
└── icons/
    ├── icon16.png
    ├── icon48.png
    └── icon128.png

Privacidade

O GitHub Unfollowers não coleta, armazena ou compartilha nenhum dado pessoal. Todos os dados são obtidos diretamente da API oficial do GitHub e processados localmente no seu navegador.

📄 Política de Privacidade


Contribuindo

Contribuições são bem-vindas!

  1. Faça um fork do repositório
  2. Crie um branch de funcionalidade (git checkout -b feature/minha-funcionalidade)
  3. Faça commit usando Conventional Commits
  4. Envie para o seu fork (git push origin feature/minha-funcionalidade)
  5. Abra um Pull Request contra o branch main

Licença

Distribuído sob a Licença MIT.


Autor

João M. J. Braga

GitHub LinkedIn