Skip to content
Esta página foi traduzida com IA e pode conter imprecisões. Ajude a melhorar no GitHub.

Gately v0.6.6 lançado ​

12 de novembro de 2026

Baixar v0.6.6 · GitHub Release

Esta versão se concentra no reforço de segurança. A atualização é recomendada para todos os usuários.

Correções de segurança ​

  • Cabeçalhos de origem forjados: antes, só eram removidos os cabeçalhos com o nome exato, como X-Real-Ip, enquanto backends PHP, WSGI e CGI tratam X_Forwarded_For ou X_Real_IP como a mesma variável do cabeçalho real, de modo que um visitante podia informar a esses backends qualquer endereço de cliente ou esquema. Agora os cabeçalhos de origem e de porta de origem enviados pelo visitante, incluindo as variantes com sublinhado, são sempre removidos antes do encaminhamento. As subrequisições de autenticação por encaminhamento recebem o mesmo tratamento, e o próprio Gately grava X-Original-URI, de modo que serviços de autenticação que liberam caminhos com base nele não são mais enganados por um valor do visitante.
  • Limitação de login nos serviços de arquivos: as verificações de senha de WebDAV, FTP e SMB não tinham limite de tentativas. Agora uma origem com 10 falhas em 15 minutos é recusada até o fim da janela (IPv6 agrupado por /64; um login bem-sucedido não zera a contagem). Credenciais verificadas recentemente não ocupam vaga, e sondagens anônimas de SMB não são contadas.
  • Restauração: ao restaurar o arquivo de conta, é usada uma nova chave de sessão, de modo que um backup antigo não reativa tokens revogados depois pelo logout ou por «Sair de todos os dispositivos». Backups que, descompactados, passam de 128 MB ou contêm mais de 256 arquivos são recusados.
  • Outros: a importação de configuração do nginx limita a profundidade de aninhamento de blocos (um arquivo muito aninhado esgotava a pilha e encerrava o processo); cabeçalhos Host com mais de 300 bytes recebem 400; os nomes de usuário gravados no registro de auditoria e nos logs em logins com falha são cortados em 64 caracteres.
  • Dependências: correções de segurança da biblioteca padrão do Go 1.26.11; atualizados golang.org/x/net, klauspost/compress e andybalholm/brotli; o cliente SMB das montagens de armazenamento passou para o cloudsoda/go-smb2, que tem manutenção (GO-2026-5051).

Contas e sessões ​

  • Revogação de sessões no servidor: ao sair, o token é revogado, e «Configurações → Conta e segurança → Sessões de login» ganhou «Sair de todos os dispositivos» (POST /api/account/sessions/revoke), que encerra de uma vez todas as sessões criadas por senha, Passkey, login de terceiros e gateway do fnOS. Os tokens de API não são afetados.
  • Limites de requisições de saída (restrictOutbound, desativado por padrão): quando ativado, as requisições de saída para endereços configurados pelo administrador (webhooks, notificações, assinaturas de listas de IP, callbacks de DDNS, verificação de atualizações, login de terceiros etc.) recusam endereços de loopback, privados e de link local (incluindo 169.254.169.254). A verificação usa o IP resolvido a cada conexão, cobrindo também redirecionamentos e DNS rebinding. Upstreams do proxy reverso, Wake-on-LAN, montagens de armazenamento e outros recursos de rede interna não são afetados.
  • Proteção contra requisições lentas: a porta de administração limita a leitura do corpo da requisição por endpoint. Endpoints comuns devem terminar em 60 segundos; endpoints de arquivos grandes (restauração de backup, pacotes de atualização, upload de arquivos) não têm limite de tempo total, mas precisam continuar enviando a 4 KiB/s ou mais em média.

Serviço Web ​

  • Remover o prefixo do caminho em backends por caminho (#86): um backend por caminho pode remover seu prefixo antes de encaminhar com a opção «Remover o prefixo de caminho ao encaminhar», de modo que /api/zyqd/abc chega ao backend como /abc, precedido pelo caminho que o endereço do backend tiver. Isso equivale ao proxy_pass http://backend/; do nginx, e as importações do nginx fazem a conversão automaticamente.
  • Porta de origem do visitante (#83): com «Adicionar X-Forwarded-*» ativado, X-Real-Port e X-Forwarded-For-Port são enviados ao backend. Quando o Gately fica atrás de uma CDN ou de um proxy reverso, as configurações globais aceitam um «Cabeçalho da porta real».
  • Gately em duas camadas (#81): quando a instância externa executa apenas o WAF e a interna cuida do login, defina a mesma chave de marca de autenticação nas duas e ative «Confiar na marca de autenticação do backend» no site externo; os visitantes autenticados pela instância interna também pulam o WAF externo.

Veja Serviço Web e WAF.

Backup e restauração (#85) ​

Ao restaurar uma configuração, agora é possível «Manter a conta de administrador atual»: a conta, os tokens de API e o login de terceiros da interface de administração mantêm seus valores atuais, e o backup pode omitir account.json, o que ajuda a trazer a configuração de outra instância. Veja Configuração · Backup e restauração.

Correções ​

  • DDNS (#84): registros dynv6 cujo domínio principal é dynv6.net com subdomínio xxxx não falham mais com 404 ao sincronizar nem ao excluir o registro do provedor; a zona xxxx.dynv6.net é associada automaticamente.

Desempenho ​

  • A lista de bloqueios não reconstrói mais sua lista CIDR a cada alteração quando tem muitos bloqueios; o roteamento de sites só compara domínios curinga depois de não encontrar o domínio exato; registros expirados de limite de taxa e de falhas de login são limpos no máximo uma vez por segundo.
  • A autenticação básica de sites e o WebDAV guardam em cache por 10 minutos as verificações bcrypt bem-sucedidas, reduzindo o custo de CPU por requisição de cerca de 85 ms para microssegundos.
  • O encaminhamento de portas reutiliza os buffers de cópia quando splice não pode ser usado; a lista de conexões ao vivo constrói apenas as 500 linhas retornadas; a remoção de cabeçalhos de origem não aloca mais memória.
  • As estatísticas de sites, o estado e os logs do Docker e a lista de sessões de terminal da interface web deixam de ser consultados enquanto a aba do navegador está oculta.

Notas de atualização ​

  • Docker: baixe a nova imagem e recrie o contêiner; OpenWrt: instale o novo .apk / .ipk por cima do anterior; fnOS: instale o novo .fpk na Central de Aplicativos; as demais instalações podem atualizar online em Configurações do sistema.
  • As sessões já abertas continuam válidas após a atualização; use «Sair de todos os dispositivos» quando todos os dispositivos precisarem fazer login de novo.

Distribuído sob a licença Apache-2.0.