Coleção pessoal de userscripts para Tampermonkey, Violentmonkey ou gerenciadores compatíveis.
Este repositório contém quatro userscripts:
- Instagram Unfollow Button — adiciona um painel com botão na tela de
Seguindo/Followingpara deixar de seguir contas em rodadas controladas. - Instagram to Imginn Global Redirect — intercepta cliques em links do Instagram em praticamente qualquer site e redireciona para o equivalente direto no Imginn, exceto quando você já está dentro do próprio Instagram.
- RYM → slskd Search — adiciona uma busca direta do Rate Your Music no slskd.
- RYM + Redacted → slskd search buttons — oferece buscas separadas por artista, álbum ou ambos no RYM e em páginas selecionadas do Redacted.
Estes scripts foram feitos para uso pessoal. Sites como Instagram e Imginn mudam HTML, textos, rotas e comportamento com frequência. Se algo parar, provavelmente será necessário ajustar seletores, textos de botão ou mapeamento de URL.
scripts/
├── instagram-unfollow-button.user.js
├── instagram-to-imginn-global.user.js
├── rym-red-slskd-buttons.user.js
└── rym-slskd-search.user.js
Você precisa de um gerenciador de userscripts no navegador, por exemplo:
- Tampermonkey
- Violentmonkey
- Greasemonkey, com ressalvas de compatibilidade
Os scripts foram escritos em JavaScript puro e não dependem de bibliotecas externas.
- Abra o Tampermonkey ou Violentmonkey.
- Clique em Create a new script / Novo script.
- Apague o conteúdo padrão.
- Copie o conteúdo de um dos arquivos
.user.jsdeste repositório. - Cole no editor.
- Salve.
- Recarregue a página onde o script deve agir.
Também é possível abrir o arquivo .user.js pela URL raw do GitHub e deixar o gerenciador instalar automaticamente, se ele detectar o userscript.
Formato:
https://raw.githubusercontent.com/angbandz/userscripts/main/scripts/NOME-DO-SCRIPT.user.js
Arquivo:
scripts/rym-red-slskd-buttons.user.js
O script detecta artista, álbum e créditos compostos e envia a busca à API privada do slskd. Ele funciona em:
- páginas de lançamentos do Rate Your Music;
- atualizações de collages assinadas no Redacted;
- páginas finais de lançamentos
torrents.php?id=*; - tabelas de
top10.php, inclusive variantes Top 100 e Top 250.
No Redacted, cada lançamento recebe um grupo compacto com as ações artista, álbum e ambos. Itens sem artista, como aplicativos, recebem apenas a busca disponível. A API key fica no armazenamento privado do gerenciador de userscripts e pode ser configurada, testada ou apagada pelo menu do script.
Para reduzir trabalho no navegador, a versão atual usa um único manipulador de cliques, cache local da API key e reinjeção agendada apenas quando novos elementos aparecem na página.
Arquivo:
scripts/instagram-unfollow-button.user.js
Adiciona um painel fixo no canto inferior direito do Instagram com botões para:
- começar uma rodada de unfollow;
- pausar/retomar;
- parar;
- ver contador da rodada/aba;
- ver status atual da automação.
O objetivo é deixar de seguir contas na lista de Seguindo / Following com delays e limite por rodada, evitando comportamento excessivamente agressivo.
@match https://www.instagram.com/*Ou seja: ele roda apenas dentro do Instagram.
- Abra o Instagram.
- Vá até o seu perfil.
- Clique em Seguindo / Following.
- Com a lista aberta, use o painel no canto inferior direito.
- Clique em Começar.
- Espere a rodada terminar ou use Pausar/Retomar ou Parar.
Dentro do script existe este bloco:
const CFG = {
delayAfterFollowingClick: 900,
delayAfterConfirmClick: 3500,
delayAfterScroll: 1200,
maxPerRun: 40,
};| Campo | Função |
|---|---|
delayAfterFollowingClick |
Tempo, em milissegundos, depois de clicar em Seguindo/Following antes de procurar o botão de confirmação. |
delayAfterConfirmClick |
Tempo, em milissegundos, depois de confirmar o unfollow. |
delayAfterScroll |
Tempo, em milissegundos, depois de rolar a lista. |
maxPerRun |
Limite máximo de unfollows por rodada. |
Para uso mais lento, especialmente se você for deixar a aba rodando enquanto faz outra coisa:
const CFG = {
delayAfterFollowingClick: 900,
delayAfterConfirmClick: 6000,
delayAfterScroll: 1200,
maxPerRun: 20,
};O script procura botões com textos em inglês e português.
const followingTexts = new Set([
'following',
'requested',
'seguindo',
'solicitado',
'solicitada',
]);const confirmTexts = new Set([
'unfollow',
'deixar de seguir',
'cancel request',
'cancelar solicitação',
'cancelar pedido',
]);Se o Instagram mostrar outro texto no botão de confirmação, adicione esse texto em minúsculas ao conjunto adequado.
- Use rodadas pequenas.
- Não rode centenas de unfollows sem pausa.
- Evite trocar de aba, minimizar o navegador ou bloquear a tela durante a execução.
- O navegador pode reduzir timers de JavaScript em abas em segundo plano.
- O Instagram pode impor bloqueios temporários se detectar ação em massa.
Arquivo:
scripts/instagram-to-imginn-global.user.js
Intercepta cliques em links do Instagram em qualquer site e redireciona para a URL direta equivalente no Imginn.
Exemplos:
https://www.instagram.com/shakira/
→ https://imginn.com/shakira/
https://www.instagram.com/p/ABC123/
→ https://imginn.com/p/ABC123/
https://www.instagram.com/reel/ABC123/
→ https://imginn.com/reel/ABC123/
https://www.instagram.com/stories/usuario/123456789/
→ https://imginn.com/stories/usuario/123456789/
@match *://*/*
@exclude *://instagram.com/*
@exclude *://www.instagram.com/*
@exclude *://*.instagram.com/*Ou seja: o script age globalmente, mas não age dentro do Instagram.
Isso permite que ele funcione em:
- Google;
- Bing;
- DuckDuckGo;
- Brave Search;
- Reddit;
- fóruns;
- sites de notícias;
- páginas com links diretos ou redirecionados para Instagram.
Porque dentro do próprio Instagram é comum existir navegação interna, modais, rotas dinâmicas e links que não devem ser reescritos. O objetivo é transformar links encontrados fora do Instagram, sem quebrar o uso normal do site.
O script:
- escuta cliques em links (
<a href="...">); - verifica se o link aponta direta ou indiretamente para Instagram;
- extrai a URL real quando ela está escondida em parâmetros como
q,url,u,uddg,target,redirect_url,adurl, etc.; - identifica o tipo de rota do Instagram;
- constrói a URL direta no Imginn;
- abre essa URL no clique.
O script lida tanto com links simples:
https://www.instagram.com/usuario/
quanto com links de redirecionamento, como:
https://www.google.com/url?q=https://www.instagram.com/usuario/
ou parâmetros similares usados por buscadores e agregadores.
- Clique normal: abre na mesma aba.
- Ctrl+clique / Cmd+clique / Shift+clique / botão do meio: abre em nova aba.
O script só converte a URL. Ele não garante que o Imginn tenha ou consiga abrir aquele conteúdo.
O Imginn pode retornar erro ou Not Found quando:
- o perfil é privado;
- o perfil mudou de nome;
- o perfil não está indexado;
- o post/reel/story não está disponível;
- o conteúdo exige login no Instagram;
- o Imginn mudou suas rotas internas.
Este script não usa busca do Imginn, não automatiza cliques dentro do Imginn e não tenta simular fluxo interno. Ele apenas reproduz o padrão direto de links do Imginn:
https://imginn.com/usuario/
Essa abordagem é mais previsível, menos invasiva e mais fácil de debugar.
Os scripts de Instagram não armazenam credenciais. Os scripts de busca musical enviam somente o texto da consulta ao servidor slskd configurado e guardam a API key no armazenamento privado do gerenciador de userscripts.
Ainda assim, userscripts rodam com acesso à página onde estão ativos. Instale apenas scripts que você consegue revisar ou em que confia.
Verifique:
- se o script está ativado no gerenciador;
- se você está em
https://www.instagram.com/; - se a página foi recarregada depois da instalação;
- se o gerenciador de userscripts tem permissão para rodar no Instagram.
Provável mudança no texto do botão. Abra o modal manualmente, veja o texto exato do botão e adicione em confirmTexts.
Verifique:
- se o script global está ativo;
- se o link realmente aponta para Instagram;
- se o gerenciador de userscripts tem permissão para rodar no Google;
- se outro userscript/extensão está interceptando cliques antes dele.
Isso geralmente significa que a URL foi convertida, mas o Imginn não tem ou não consegue resolver aquele conteúdo. Teste com perfis públicos conhecidos para separar problema de script de problema do próprio Imginn.
- Adicionado suporte a
torrents.php?id=*etop10.php. - Adicionada detecção de créditos múltiplos e
Various Artists. - Substituídas varreduras repetidas por reinjeção agendada.
- Adicionados manipulador de cliques único, cache da API key e abertura confiável dos resultados.
- Adicionadas URLs de atualização automática pelo GitHub.
- Adicionado painel fixo.
- Adicionados botões Começar, Pausar/Retomar e Parar.
- Adicionado contador.
- Adicionado limite por rodada.
- Suporte a textos em português e inglês.
- Script passou a agir globalmente com
@match *://*/*. - Instagram foi excluído com
@exclude. - Conversão direta para
imginn.com/usuario/. - Suporte a posts, reels e stories.
- Extração de URLs escondidas em parâmetros de redirecionamento.
Uso pessoal. Adapte como quiser.