47 versãoões no total.

  1. 2.13.0
    • Portas TCP: opcao "preservar porta" no destino (FTP passivo).
  2. 2.12.0
    • Regras por Path: opcao "remover prefixo" (strip) para gateways.
  3. 2.11.0
    • Alterar backend principal do dominio + 404 limpo para gateways.
  4. 2.10.0
    • Dashboard: card contador do WAF.
  5. 2.9.0
    • Dashboard: graficos historicos de conexoes e in/out por servidor.
  6. 2.8.0
    • Cloudflare por dominio (flag CF por dominio).
  7. 2.7.1
    • Cloudflare modo Flexible: servir conteudo na :80 via loopback.
  8. 2.7.0
    • Integracao Cloudflare: IP real do visitante + lockdown + fix redirect loop.
  9. 2.6.0

    2.6.2]

    • WAF: CRS em disco, wizard de dominio, logs por dominio e backend HTTPS;
      correcoes no setup-waf.sh e no wizard sem WAF/restricao.
  10. 2.2.0
    • Triagem de falso-positivo do WAF.
  11. 2.1.0
    • WAF OWASP (Coraza) por dominio + gerenciamento de regras e logs.
  12. 1.10.0
    • Dashboard: card de Backends com conexoes, in/out e latencia ao vivo.
  13. 1.9.0
    • Ver IPs resolvidos + restricao de acesso em proxies TCP.
  14. 1.8.0
    • Endurecimento de seguranca para exposicao web.
  15. 1.7.0
    • Restricao de acesso por dominio via IP/CIDR + DDNS.
  16. 1.6.0

    1.6.1]

    • Portas TCP: editar proxy, enable/disable e status ao vivo; persistir secret
      key da sessao entre restarts.
  17. 1.5.0
    • Proxy de portas TCP (FTP, MySQL, SSH, etc.) na UI e API.
  18. 1.4.0
    • Tuning: sugestao de valores com base nos recursos do servidor.
  19. 1.3.0
    • Multiplos aliases + criacao inline de backend ao adicionar dominio.
  20. 1.2.0
    • Roteamento por path por dominio na interface.
  21. 1.0.0
    • Versao inicial com controle de versao.
  22. 2.28.1

    Corrigido

    • Regras: condicao de pais aceita varios paises (OU). Antes, "pais e CN" E
      "pais e RU" como duas condicoes nunca casava (as condicoes sao combinadas com
      E). Agora uma condicao aceita cn,ru (ou cn ru) e vira um ACL unico com
      varios -f — casa se o IP estiver em QUALQUER um dos paises. Com negacao,
      nao e br,pt bloqueia quem esta fora de todos. Placeholder do campo atualizado.
  23. 2.28.0

    Adicionado

    • Renovacao/emissao via DNS-01 (Cloudflare): na pagina Certificados, secao
      "Validacao DNS-01 (Cloudflare)" com botao de instalar o plugin
      (python3-certbot-dns-cloudflare) e campo do API token (guardado em
      /etc/haproxy/cloudflare-dns.ini, 600). No modal de gerar, escolha entre
      HTTP-01 e DNS-01; e botao "DNS" por linha para reemitir um cert
      existente via DNS-01 (converte a lineage — resolve dominios proxied na CF que
      davam 403 no HTTP-01, e serve wildcard). Depois de emitido, a renovacao daquela
      lineage usa DNS-01 automaticamente.

    Corrigido

    • Regerar cert adicionando dominio (ex.: +www) falhava com
      MissingCommandlineFlag ... --expand em modo nao-interativo. Todos os
      certbot certonly do painel (gerar, adicionar dominio, API, provision, DNS-01
      e reemissao) passam a usar --expand, permitindo expandir um cert existente
      sem travar.
  24. 2.27.7

    Corrigido / robustez

    • Resolucao de DNS nao depende mais do binario dig (que pode nao estar
      instalado): usa a resolucao nativa do Python (getaddrinfo), com fallback para
      getent/dig. Corrige a coluna DNS das lineages e a checagem de resolucao em
      servidores sem o dig.
    • Renovacao de certificado sem espera aleatoria: todos os certbot renew
      (todos, individual e API) usam --no-random-sleep-on-renew — sem isso o certbot
      dormia ate ~8min no modo nao-interativo e o botao estourava o timeout parecendo
      falha.
  25. 2.27.6

    Corrigido (importante / seguranca)

    • Deteccao de lineage orfa marcava certificados EM USO como orfaos quando o
      DNS falhava momentaneamente (resolver local sob rate-limit em consultas
      paralelas a dominios Cloudflare -> falso NXDOMAIN), permitindo apagar cert em
      uso. Agora uma lineage que esta no HAProxy nunca e orfa (o DNS vira apenas
      informacao); so aparece como candidata a remocao o que NAO esta no HAProxy.
      Alem disso, _dns_resolves tenta o resolver local e cai para 1.1.1.1/8.8.8.8
      antes de reportar NXDOMAIN.
  26. 2.27.5

    Adicionado

    • Renovar certificado individual: botao por linha na pagina Certificados que
      roda certbot renew --cert-name <lineage> so daquele cert e publica no HAProxy,
      com um botao extra de forcar (--force-renewal, com aviso sobre o limite da
      Let's Encrypt). Antes so dava pra renovar todos de uma vez.
  27. 2.27.4

    Adicionado

    • Backends: metrica "Conexao (rede)" (ctime, tempo de connect TCP ate o
      backend, comparavel ao ping ICMP) ao lado de "Resp. Time (app)" (rtime, o
      tempo de processamento da aplicacao). Deixa visivel que a latencia alta esta na
      app do backend, nao na rede/proxy.
  28. 2.27.3

    Adicionado

    • GeoIP com MaxMind (menu Seguranca -> "GeoIP"): escolha da fonte das faixas
      por pais — ipdeny (padrao, sem conta) ou MaxMind GeoLite2 (mais preciso).
      Campo para a license key (guardada em /etc/haproxy/geoip.json, permissao
      600; em branco mantem a atual) e botao "Atualizar agora". No modo MaxMind baixa
      o GeoLite2-Country-CSV e gera as listas de CIDR por pais (geoip/<cc>.lst, mesmo
      formato do ipdeny — funciona em qualquer build do HAProxy). As regras com
      condicao Pais e o geoblock passam a usar a fonte escolhida automaticamente.
  29. 2.27.2

    Adicionado

    • Saude/uptime por dominio (Infraestrutura -> "Saude (uptime)"): checker em
      background a cada 60s que testa cada dominio pelo proprio HAProxy (loopback +
      SNI) e mostra status atual, latencia, uptime 24h/7d e ultima queda. Pagina
      com auto-refresh que pausa em segundo plano. Historico em domain_health no
      stats.db (retencao 7 dias).
    • Painel de Seguranca (Seguranca -> "Visao geral"): reune os contadores de
      regras, blocklist IP/UA, bloqueio temporario, rate-limit, WAF, whitelist e
      listas, com top IPs bloqueados, top dominios/paths com 403, regras
      que mais casaram
      e os eventos 403 recentes.

    Desempenho / manutencao

    • VACUUM semanal do stats.db (marcador persistido, nao roda a cada restart):
      recupera o espaco do arquivo apos a poda — sem isso o arquivo nunca encolhia.
  30. 2.27.1

    Corrigido

    • Modo global da Cloudflare dava 503. Aplicar o loopback do SSL Flexible
      globalmente (a todo trafego vindo da CF) causava 503. O modo global agora faz
      apenas o IP real do visitante (set-src via CF-Connecting-IP) para todo
      trafego vindo de um IP do Cloudflare — cobre sites em Full/Full(strict) sem loop
      e sem 503. O loopback do Flexible e o redirect voltaram a ser por-dominio
      (chave CF no dominio), so necessarios nos poucos sites em Flexible.