Executando verificação de segurança...
8

Pitch: Como eu fiz um módulo de domínios customizados pro curto.io

Fala pessoal, aqui é o Vitor, de novo, rs... E nesse post quero falar com vocês sobre a última coisa que implementei no curto.io, um SaaS que estou desenvolvendo e documentando sua evolução aqui no TabNews.

Se você se interessar, pode ver os meus outros posts sobre ele:

A idéia

Usar a plataforma para criar links curtos utilizando o domínio curr.to é muito legal, mas imagina você conseguir criar, através da plataforma, domínios com a sua marca registrada? Seria bem legal né?

A idéia é permitir com que um usuário conecte e use um domínio próprio para a criação e operação de links curtos. Ao invés de usar o curr.to para redirecionar, usar um domínio medeirol.ink por exemplo, e criar links como:

E a Rebrandly, um gigante nesse mercado de encurtadores de URL, diz que links com domínios próprios recebem 39% mais cliques que um link genérico, e é esse tipo de alcance que eu quero que os usuários do curto.io possam ter.

Isso também mitiga um problema: Os spammers

Apesar da idéia ser muito legal, não é só uma feature pra tornar o curto mais atrativo, mas também foi pensada para resolver/mitigar um problema maior: Os spammers.

Infelizmente, muitos spammers fazem uso desses encurtadores de links para disseminar spam na internet sem que sejam notados, é de se esperar que usuário apareça entre os usuários do curto, mas eles jamais serão passados de forma despercebida 💪.

Já ouvi dizer que os primeiros clientes de qualquer empresa serão F&F&F:

  • Family (Família)
  • Friends (Amigos)
  • Fraudsters (Fraudadores)

Então, ao decidir criar um sistema como o curto, eu assumi que estou esperando que esse tipo de prática aconteça e preciso me proteger e proteger meus futuros clientes desse tipo de coisa.

A consequência do Spam no curto

A verdade é que quando um spammer usa o curto.io pra disseminar um conteúdo malicioso, afeta diretamente a reputação do domínio do nosso encurtador, gerando muitos ruídos como:

  • Diminuição da entrega de e-mails que façam uso do domínio curr.to
  • Diminuição da entrega de videos/posts em redes sociais
  • Piora na indexação do Google de um site que faça uso do curr.to.

E a pergunta que quer calar é: "Por que você está contando isso pra nós?", afinal, isso é uma das fraquezas que meu projeto tem, mas, o que eu mais quero com isso são duas coisas:

  • Transparência quanto o estado da aplicação, suas forças e fraquezas 🤝.
  • Alertar vocês de que nem tudo são flores na criação de um software, e é preciso saber lidar com isso. 👎

Como um domínio customizado resolve o problema

A escolha de um domínio customizado ao invés de um domínio genérico, como o curr.to, é que o uso genérico NÃO IMPACTA, de nenhuma forma, os demais domínios atrelados ao sistema, isso significa que se você usar um domínio seu, você jamais será impactado por possíveis tentativas de spam à plataforma.

Tá, mas, você vai deixar o spam acontecer? Como você vai se proteger?

Estou trabalhando arduamente na criação de um modelo de dados que permite prever, com maior precisão, se um link tem um conteúdo malicioso ou não antes mesmo de um link ser criado na plataforma. 🤝

Estou fazendo uso do GPT-3 para isso e trarei maiores detalhes assim que possível.

Como eu fiz isso? Spoiler: foi mais fácil do que parece rs

Confesso pra você que quando vi a quantidade de coisas que eu precisaria fazer pra conseguir fazer isso, eu fiquei maluco, rs.

Engine de redirecionamento apartado, servidor de DNS, criação de SSL, renovação automática, e tudo mais, pensei: vish 😂😂😂

Mas a Vercel, minha salvadora, conta com recursos incríveis em sua API REST, onde é possível criar, verificar e remover domínios de maneira programática.

Integrar a API ao meu Backend em Java foi muito tranquilo, e o desenho da solução foi mais ou menos esse:

Create Domain Curto.io

Onde todas as operações que faziam alguma mutação nos domínios, precisavam, obrigatoriamente, serem encaminhadas à Vercel antes de darem uma resposta "produtiva" ao front-end.

Aqui um GIF de como está funcionando no front-end

create domain gif

E como ficou na Vercel assim que o domínio foi criado:

domain created at vercel

Conclusão

Essa foi minha experiência ao criar o módulo de domínios customizados no curto.io, e espero que de isso te dê tantos insights bons quanto os que eu tive construindo essa solução.

Se você se interessou pelo curto, e quer conversar comigo sobre como as coisas foram feitas ou se tem alguma sugestão, me procura nos links abaixo:

E-mail: [email protected]
LinkedIn: https://medeirol.ink/linkedin
GitHub: https://medeirol.ink/github
Instagram: https://medeirol.ink/instagram
YouTube: https://medeirol.ink/youtube

Carregando publicação patrocinada...
2

Show! achei muito interessante a proposta e vou deixar aqui uma sugestão que pode dar um toque de chefe a esse projeto...

e se ao inves de personaliza com dominios de terceiro como esse post trata, acredito que seria mais interessante fazer assim:
nome_do_usuario.curr.to/cKLPl

assim você pode usar o proprio dominio curto.io que na minha opniao ficaria melhor que curr.to

matrixs0beit.curto.io <- sem duvida eu compraria a ideia.

espero ter ajudado com a sugestão 🤝

1

Cara, que legal, ajudou muito com a sugestão! A idéia é esse tipo de subdomínio aparecer quando eue fizer minha versão do linktree embarcado no sistema kkk.

Mas é muito legal isso, obrigado pela sugestão!

E sobre o cloudflare, estou usando sim 🙏🏻, obrigado pelo aviso!

0
2

Que sacada genial! Parabéns!

Você comentou sobre o impacto dos spammers na plataforma e vi que ja tem um encurtador funcionando, você ja teve que lidar com algum fraudador?

1

Com fraudadores não, com spammers sim!

Mesmo com uma lista seleta de usuários fazendo uso da plataforma, notei algumas tentativas de disseminar conteúdos maliciosos, como sites com domínios esquisitos ou conteúdo que fere de alguma forma os termos de uso da plataforma.

Até agora, já efetuei o bloqueio de pelo menos 50 links que foram considerados como spam.

A idéia com a criação do modelo de dados é automatizar parte desse processo, que hoje, é feito manualmente, rs.

2
1
1
1

Olá Vitor Medeiro, eu vi sua postagem lá no servidor da Ballerini, muito top este projeto, era o que eu tinha em mente pra fazer para o meu portfólio, mas não sabia como fazer. Parabéns pela execução. Na web sempre teve encurtadores, mas por algum motivo alguns tem sumido hehe, o mais famoso ainda ativo é o Bit.ly.

1

Boa man. Quando lançar as próximas features, posta aqui também. Vai ter algum tipo autenticação? Também curto muito essa ferramenta. :

1

O curto conta com uma autenticação convencional, devo liberar para a criação de contas em pouco tempo!

A autenticação, autorização e RBAC foram feitas na unha, o custo de ter uma ferramenta Auth as Service é muito caro pra esse momento da app, rs.

1
1
1