Redirecione um domínio com DNS, sem manter uma aplicação para cada link. O
Desvio é uma interface e extensão do
redirect.center original,
mantida neste fork: ela
lê o CNAME configurado no seu provedor DNS e responde com um redirecionamento
HTTP. O nome da interface é independente do domínio técnico FQDN: mudar a
marca não exige trocar registros DNS já publicados.
A interface gera os registros DNS, acrescenta parâmetros UTM, mostra os acessos por domínio de origem e permite denunciar URLs maliciosas. É gratuita, open source e pode ser usada sem criar uma conta.
- O proprietário do domínio configura um registro A para o IP do serviço e um CNAME com o destino codificado no nome DNS. Um subdomínio também pode apontar diretamente para o CNAME gerado.
- Quando um visitante acessa a origem, o serviço lê o CNAME e responde com HTTP 301, 302, 307 ou 308.
- O visitante chega ao destino. O gerador e o painel são ferramentas de configuração; o redirecionamento não depende de JavaScript.
Exemplo para redirecionar my-domain.com para https://www.my-domain.com na
instalação redirect.center:
Nome na zona my-domain.com |
Tipo | Valor |
|---|---|---|
@ ou vazio |
A | 54.84.55.102 |
redirect |
CNAME | www.my-domain.com.opts-https.redirect.center. |
Confirme ENTRY_IP e FQDN com a instância que você pretende usar. Os valores
locais (127.0.0.1 e localhost) servem apenas para testes. O gerador mostra
os registros corretos para a configuração da instância.
HTTPS no destino é definido por .opts-https. Para receber HTTPS na
origem, use um proxy com certificado válido para o seu domínio; DNS não emite
certificados.
As páginas e APIs ficam apenas no host definido em FQDN. Outros hosts sempre
seguem o fluxo de redirecionamento, mesmo quando o caminho é /docs ou
/api/analytics.
| Caminho | Função |
|---|---|
/ |
Visão geral |
/redirects/new |
Gerador de CNAME e UTM |
/analytics |
Acessos por domínio de origem |
/docs |
Guia e referência DNS |
/report |
Denúncia de URL suspeita |
/api/analytics?domain=… |
Contadores públicos da origem consultada |
POST /api/reports |
Recebimento de denúncias para revisão |
/healthz |
Estado do processo |
Links antigos como /#builder são encaminhados no navegador para a nova rota.
- Gerador de CNAME: URL de destino, status HTTP, caminho e query da origem e
campos
utm_source,utm_medium,utm_campaign,utm_contenteutm_term. Valida os limites de tamanho do DNS antes de copiar. - Analytics por redirecionamento: contadores diários para o domínio de origem selecionado, com separação entre respostas permanentes e temporárias. Os dados ficam em Deno KV; são públicos para quem conhece o domínio e representam respostas do servidor, não visitantes únicos.
- Denúncias:
/reportrecebe URLs suspeitas e gera um protocolo. O operador revisa os envios; não há bloqueio automático. - Idiomas: interface em português, inglês e espanhol; descrições históricas do projeto preservadas em 12 idiomas.
Os registros gerados ficam salvos somente neste navegador para facilitar consultas. Gerar um registro não altera seu DNS.
Requer Deno 2. Na raiz do repositório:
git clone https://github.com/UnitedOpen-Source/redirect.center.git
cd redirect.center
deno task devAbra http://localhost:3000. A primeira execução baixa
as dependências e cria .data/analytics.sqlite. Para usar outra porta, defina
LISTEN_PORT antes do comando.
deno task test # suíte completa, incluindo testes que consultam DNS
deno task start # inicia sem observar arquivos
deno task reports # lista denúncias para revisão local pelo operador| Variável | Padrão | Uso |
|---|---|---|
FQDN |
localhost |
Domínio técnico do serviço e sufixo dos CNAMEs |
ENTRY_IP |
127.0.0.1 |
IPv4 indicado nos registros A |
LISTEN_PORT |
3000 |
Porta HTTP |
LISTEN_IP |
0.0.0.0 |
Endereço de escuta |
PROJECT_NAME |
Desvio |
Nome exibido na interface |
ENVIRONMENT |
dev1 |
Nome do ambiente |
LOGGER_LEVEL |
debug |
Nível de log |
Para uma instalação pública, configure FQDN, ENTRY_IP, DNS do serviço, TLS
quando necessário e escrita persistente em .data. Há exemplos de Docker e
systemd em Desenvolvimento e publicação. O serviço não
altera DNS externo automaticamente.
- Guia de uso, DNS, UTMs e analytics
- Desenvolvimento, API de denúncias e publicação
- Visão geral da documentação
- Textos originais nos 12 idiomas
- Revisão das issues e PRs do projeto original
This project exists thanks to all the people who contribute. [Contribute].
Udlei Nati 💻 📖 🤔 🚇 |
|---|
Thank you to all our backers! 🙏 [Become a backer]
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]