Uma versão otimizada em PHP do wa-js-api-server projetada especificamente para rodar em hospedagens compartilhadas comuns (cPanel, HostGator, Locaweb) sem a necessidade de Node.js ou VPS.
Este microserviço gera meta tags (OpenGraph) e pré-visualizações de imagens de links da web. Ele foi recriado em PHP puro com arquitetura moderna e serve como "Drop-in Replacement" transparente para o sistema nativo do WPPConnect.
- 100% PHP Nativo: Esqueça instâncias rodando 24h em Node.js ou a necessidade de instalar o Puppeteer/Chromium.
- Esteganografia em PNG Dinâmico (
fetch-data.png): Assim como no original, o JSON extraído é encodado de forma imperceptível nos canais R, G e B dos pixels de um minúsculo PNG transparente gerado nativamente via extensãoGD. O WPPConnect lê esses pixels no navegador do cliente sem causar quebra de segurança ou CORS. - Hack de Memória IP (Anti-CDN): Exclusivo desta versão! CDNs e proxies (como Cloudflare ou LiteSpeed Cache) costumam apagar a Query String (o parâmetro
?url=) de rotas que terminam em.png. Para contornar essa falha de servidores, desenvolvemos um algoritmo de Memória por IP: Ao ler a rota.jsonmilissegundos antes, o servidor anota e transfere a URL para o resgate do.png. Funciona de forma mágica em qualquer provedor! - Sistema de Cache Local: Evita o banimento/bloqueio por parte dos sites alvo. Todo site raspado via cURL fica no cache local
/cachepor 24 horas. - Proxy Anti-CORS (
download-image): Baixa imagens seguras para os clientes sem risco de bloqueio cross-origin.
Qualquer hospedagem compartilhada rodando:
- PHP 7.4+ (Recomendado 8.0+)
- Extensões Nativas habilitadas:
cURL,GD,DOMeJSON. - Apache ou Nginx com suporte a leitura de arquivos
.htaccess.
A instalação não requer acesso SSH ou terminal. Basta usar o FileZilla (FTP) ou o Gerenciador de Arquivos do cPanel.
- Baixe os arquivos e transfira todo o conteúdo desta pasta para dentro de um diretório na sua hospedagem (ex:
public_html/link-preview). - É de extrema importância que os arquivos ocultos (especialmente os dois
.htaccess, um na raiz e um dentro depublic/) sejam transferidos juntos. - Se você não utiliza o Composer na hospedagem, não se preocupe: o arquivo
public/index.phpconta com um Autoloader Nativo (Fallback) embutido que fará a leitura das classes da pastasrc/no padrão PSR-4 automaticamente. - O sistema irá gerar uma pasta
cache/automaticamente no primeiro acesso. (Certifique-se de que o PHP tenha permissão de escrita, chmod 755 ou 777 se necessário).
Após subir para sua hospedagem, tudo funcionará transparente. Na inicialização (ou configuração) da biblioteca WPPConnect, mude a URL base de Link Preview para apontar para a sua hospedagem:
Onde antes estava o seu servidor em Node (ex: http://localhost:3000), aponte direto para o diretório raiz da hospedagem que abriga os nossos arquivos PHP.
A mágica do .htaccess que criamos manterá as rotas no mesmo formato que a biblioteca cliente em JavaScript espera consumir:
- JSON:
GET https://seu-dominio.com/link-preview/v1/link-preview/fetch-data.json?url=... - Esteganografia:
GET https://seu-dominio.com/link-preview/v1/link-preview/fetch-data.png?url=... - Proxy:
GET https://seu-dominio.com/link-preview/v1/link-preview/download-image?url=...
public/index.php- Ponto de entrada (Front Controller) e Autoloader fallback.src/Router.php- Tratativa HTTP, Roteamento e Hack da Memória IP.src/LinkPreviewService.php- Extrator usando ext-curl e DOMDocument (Disfarce User-Agent WhatsApp).src/PngEncoder.php- Conversão algorítmica de texto JSON para binário PNG R/G/B.src/FileCache.php- Controlador de arquivos locais (.txt e .json).