Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Userscripts

Coleção pessoal de userscripts para Tampermonkey, Violentmonkey ou gerenciadores compatíveis.

Este repositório contém quatro userscripts:

  1. Instagram Unfollow Button — adiciona um painel com botão na tela de Seguindo/Following para deixar de seguir contas em rodadas controladas.
  2. 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.
  3. RYM → slskd Search — adiciona uma busca direta do Rate Your Music no slskd.
  4. 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.


Estrutura

scripts/
├── instagram-unfollow-button.user.js
├── instagram-to-imginn-global.user.js
├── rym-red-slskd-buttons.user.js
└── rym-slskd-search.user.js

Requisitos

Você precisa de um gerenciador de userscripts no navegador, por exemplo:

Os scripts foram escritos em JavaScript puro e não dependem de bibliotecas externas.


Como instalar

Método manual

  1. Abra o Tampermonkey ou Violentmonkey.
  2. Clique em Create a new script / Novo script.
  3. Apague o conteúdo padrão.
  4. Copie o conteúdo de um dos arquivos .user.js deste repositório.
  5. Cole no editor.
  6. Salve.
  7. Recarregue a página onde o script deve agir.

Método por URL raw

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

RYM + Redacted → slskd search buttons

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.


1. Instagram Unfollow Button

Arquivo:

scripts/instagram-unfollow-button.user.js

Finalidade

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.

Onde roda

@match https://www.instagram.com/*

Ou seja: ele roda apenas dentro do Instagram.

Como usar

  1. Abra o Instagram.
  2. Vá até o seu perfil.
  3. Clique em Seguindo / Following.
  4. Com a lista aberta, use o painel no canto inferior direito.
  5. Clique em Começar.
  6. Espere a rodada terminar ou use Pausar/Retomar ou Parar.

Configuração principal

Dentro do script existe este bloco:

const CFG = {
  delayAfterFollowingClick: 900,
  delayAfterConfirmClick: 3500,
  delayAfterScroll: 1200,
  maxPerRun: 40,
};

Campos

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.

Configuração conservadora

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,
};

Textos reconhecidos

O script procura botões com textos em inglês e português.

Botões de estado

const followingTexts = new Set([
  'following',
  'requested',
  'seguindo',
  'solicitado',
  'solicitada',
]);

Botões de confirmação

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.

Observações operacionais

  • 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.

2. Instagram to Imginn Global Redirect

Arquivo:

scripts/instagram-to-imginn-global.user.js

Finalidade

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/

Onde roda

@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.

Por que excluir o 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.

Como funciona

O script:

  1. escuta cliques em links (<a href="...">);
  2. verifica se o link aponta direta ou indiretamente para Instagram;
  3. extrai a URL real quando ela está escondida em parâmetros como q, url, u, uddg, target, redirect_url, adurl, etc.;
  4. identifica o tipo de rota do Instagram;
  5. constrói a URL direta no Imginn;
  6. abre essa URL no clique.

Links diretos e redirecionadores

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.

Comportamento de clique

  • Clique normal: abre na mesma aba.
  • Ctrl+clique / Cmd+clique / Shift+clique / botão do meio: abre em nova aba.

Limitações

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.

Decisão de design

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.


Segurança e privacidade

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.


Solução de problemas

O painel de unfollow não aparece

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.

O unfollow não confirma

Provável mudança no texto do botão. Abra o modal manualmente, veja o texto exato do botão e adicione em confirmTexts.

O redirect não funciona no Google

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.

O Imginn abre Not Found

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.


Changelog

2.0.0 — RYM + Redacted → slskd search buttons

  • Adicionado suporte a torrents.php?id=* e top10.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.

1.0.0 — Instagram Unfollow Button

  • 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.

4.1.0 — Instagram to Imginn Global Redirect

  • 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.

Licença

Uso pessoal. Adapte como quiser.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages