Voltar ao início

Extensão de navegador

Última atualização: Agosto de 2026

Direto da barra de ferramentas: encurtar a aba que está aberta, gerar o QR do link que sai daí (com forma e cor, nos planos pagos), editar título e destino sem abrir o painel, e — se a página atual já for um link seu — ver quantos cliques ela teve. Na versão 1.3, mais três atalhos: encurtar qualquer link da página com o botão direito, um atalho de teclado pra encurtar a aba inteira, e um número no próprio ícone da extensão mostrando o clique da página atual, sem precisar abrir o popup.

DemonstraçãoEncurtar sem trocar de aba1/8
  1. 1Cola a chave de API uma vez

    Gerada em Configurações → API, com os escopos links:write e links:read. Fica só no armazenamento local da extensão — nunca sai do navegador, exceto no cabeçalho Authorization das duas chamadas abaixo.

    • A extensão não pede permissão para ler outras abas nem outros sites — só a aba ativa, e só quando o ícone é clicado.
  2. 2Clica no ícone — a aba atual já aparece

    Sem digitar nada: a permissão activeTab concede a URL da aba só neste instante do clique, e só desta aba. Já a permissão tabs (v1.3) é do service worker em segundo plano — usada só pra manter o número de cliques no ícone atualizado enquanto você navega, sem precisar abrir o popup pra descobrir.

    • activeTab continua sendo o que abre o popup: a URL só chega até ele no instante do clique.
    • tabs é opt-in de fato: quem não usa o número do ícone não perde nada — o resto da extensão funciona igual.
  3. 3Encurtar chama a mesma API pública

    POST /v1/links, a mesma rota de qualquer integração. O link volta pronto para copiar, com o domínio da conta — próprio, se a conta tiver um configurado.

    • Nenhuma lógica de encurtamento vive na extensão — ela só chama a API e mostra o resultado.
  4. 4Gerar QR, sem abrir o painel

    POST /v1/qr devolve o SVG pronto para baixar. É o QR simples — quadrado preto, sem forma nem logo — porque este é o caso rápido; personalizar continua sendo trabalho do editor no painel.

    • Quem está no plano Free recebe o QR com o selo klyk.app.br; nos planos pagos, sem selo — mesma regra do painel.
  5. 5Editar, e QR com forma e cor — sem abrir o painel

    PATCH /v1/links/:id muda título e destino do link em foco. E quem está no Pro ou Business ganha um bloco a mais no QR: forma do corpo, forma do olho e cor — GET /v1/me decide se ele aparece.

    • Sem lista de links na extensão, de propósito — só o link desta aba, o que acabou de ser criado ou o que já existia.
    • Free não vê o bloco de personalização — o servidor ignoraria os campos de qualquer jeito, e mostrar o controle sem efeito só confundiria.
  6. 6Volta na mesma página amanhã? O popup já sabe

    Abrindo o ícone numa página que você já encurtou antes, o popup pergunta sozinho — GET /v1/links?destination_url=… — e mostra o link e o clique dela, em vez do botão de encurtar de novo.

    • A pergunta é silenciosa: sem chave, sem link achado ou sem rede, o popup só volta pro fluxo normal — nunca mostra erro por causa dela.
    • Casa a URL de forma exata, então uma página encurtada com grafia um pouco diferente não aparece — melhor não achar do que mostrar o número errado.
  7. 7Botão direito num link, ou Ctrl+Shift+K — sem abrir o popup

    "Encurtar com Klyk" aparece no menu de contexto de qualquer link da página; o atalho Ctrl+Shift+K encurta a aba inteira. Os dois copiam o link novo pra área de transferência sozinhos e confirmam com uma notificação — o popup nem precisa abrir.

    • O menu de contexto só aparece em cima de um link — o Chrome só entrega a URL do link clicado, nunca o resto da página.
    • Mesma rota POST /v1/links de sempre; o que muda é só de onde ela é chamada.
  8. 8O número no ícone: clique da página, sem abrir nada

    Navegando por páginas que já são links seus, o ícone da extensão mostra o clique dos últimos 30 dias — atualizado sozinho a cada troca de aba, com a permissão tabs (v1.3).

    • Página não encontrada, sem chave configurada ou qualquer falha na chamada: o ícone fica limpo, nunca com um número desatualizado parado nele.
    • Mesma pergunta de sempre — GET /v1/links?destination_url=… — só que disparada pela troca de aba, não por um clique.

Permissões: o que mudou na v1.3, e por quê

Toda permissão que uma extensão pede é revisada pela Chrome Web Store, e pesa na decisão de quem vai instalar. Até a versão 1.2, a extensão usava só activeTab: a URL da aba chegava até ela apenas no instante em que alguém clicava no ícone, e só daquela aba — de propósito, sem tabs, que deixaria o service worker ler a URL de qualquer aba, a qualquer momento.

O número no ícone quebra essa premissa: pra mostrar o clique da aba certa toda vez que ela muda de página — sem o usuário abrir o popup — o service worker precisa saber a URL da aba em segundo plano, e isso só a permissão tabs concede. Foi uma troca consciente, não um pedido escondido atrás de uma funcionalidade nova: menos privacidade por trás do ícone, mais informação sem esforço na frente dele. Quem prefere o comportamento antigo pode simplesmente não usar o número do ícone — o resto da extensão funciona igual.

O que ela chama por trás

A chave de API não sai do seu navegador

Fica guardada localmente na extensão e só viaja no cabeçalho Authorization das chamadas acima — nunca em texto plano, nunca para outro destino. As leituras que casam a URL da aba (link existente, estatística, número do ícone) fazem isso de forma exata — uma página encurtada fora da extensão, com a grafia um pouco diferente, simplesmente não aparece; prefere isso a arriscar mostrar o número do link errado. E a estatística só aparece se a chave tiver o escopo analytics:read — sem ele, o resto continua funcionando normal, só sem os números.

Menu de contexto, atalho de teclado e cópia automática

Por que a notificação, e não só o badge

Menu de contexto e atalho de teclado disparam com o popup fechado — não tem onde mostrar o resultado na tela. A notificação do sistema é o único jeito de confirmar "deu certo, e o link é este" sem forçar abrir o popup depois.

Onde conseguir

A extensão ainda não está na Chrome Web Store — publicar lá é uma conta de desenvolvedor separada, que abre com uma taxa única. Enquanto isso não sai, quem quiser testar pode carregar a pasta da extensão manualmente, em chrome://extensions → Modo do desenvolvedor → Carregar sem compactação.