Voltar às atualizações
New releaseAug 6, 2026

easywall v2.4.1

Interface web para o firewall nftables no Linux, escrita em Go. A aplicação é desfeita após 120 segundos, a menos que você a confirme — você não consegue se bloquear. Instalação via Debian e Docker.

Compartilhar

easywall

Sua firewall. Suas regras. Sem surpresas.

Tests Build Security Coverage

Latest release Go version GPL-3.0 Discord Support on Ko-fi

Demonstração ao vivo · Documentação · Changelog

nftables por meio de uma interface web que não pode trancar você para fora: toda aplicação é revertida sozinha, a menos que você a confirme.

O painel do easywall: status da firewall com estado de aceitação, alterações pendentes e última aplicação; cartões que contam portas TCP, portas UDP, blacklist, whitelist, regras personalizadas e encaminhamento; e uma lista de atividade recente.

A ideia

Editar uma regra não muda nada. Aplicá-la muda tudo — por 120 segundos. Se as novas regras cortarem sua conexão, você não poderá clicar em Confirmar, e não confirmar é o que traz as regras antigas de volta.

Máquina de estados: editar leva a Staged (preparado), aplicar leva a Live (ativo), confirmar dentro da janela leva a Confirmed (confirmado), e deixar a janela expirar leva a Rolled back (revertido), de onde as edições preparadas ainda estão disponíveis.

Arquitetura

Dois processos. O que fica exposto à rede não possui nenhum privilégio que valha a pena roubar.

O navegador conversa via HTTPS com easywall-web, que roda sem privilégios; easywall-web envia JSON tipado por um socket Unix para easywall-core, que roda como root e fala netlink com a tabela inet easywall do nftables.

Uma reescrita completa do easywall original — Python, Flask, iptables via subprocess — que foi arquivado em 2022 após um CVE. As duas causas raiz desapareceram: os privilégios vivem em um processo diferente, e o caminho de aplicação constrói structs Go em vez de uma linha de comando. Como funciona →

Instalação

Árvore de decisão: só para conhecer leva ao modo demo; Debian ou Ubuntu leva ao pacote .deb; já roda contêineres leva ao Docker; caso contrário, compilar a partir do código-fonte.
# Debian / Ubuntu — amd64 and arm64
ARCH=$(dpkg --print-architecture)
wget https://github.com/jp1337/easywall/releases/latest/download/easywall_$ARCH.deb
sudo dpkg -i easywall_$ARCH.deb && sudo apt-get install -f

# Docker
git clone https://github.com/jp1337/easywall.git && cd easywall && docker compose up -d

# From source — Go 1.26+, nftables
git clone https://github.com/jp1337/easywall.git && cd easywall
make build && sudo make install
sudo systemctl enable --now easywall-core easywall-web

Depois abra https://localhost:12227. A primeira visita configura a conta e prepara as primeiras regras.

O que você obtém

PortasTCP e UDP, único ou em intervalo, com roteamento de força bruta SSH por regra
Blacklist e whitelistIPv4, IPv6 e CIDR, avaliados antes de qualquer regra de porta
Módulos de proteçãoDoze, cinco ativados por padrão — floods, scans, bogons, fragments, broadcast/multicast/anycast
Encaminhamento de portasRedirecionamentos NAT com seleção de protocolo
Regras personalizadasnftables puro, com verificação de sintaxe antes da aplicação
Exportar / importarTodo o conjunto de regras como JSON
Log de auditoriaO que mudou e quando, um objeto JSON por linha
Coexistência com DockerPossui a table inet easywall e não toca em mais nada
Inglês e alemãoAlternável na interface, inclusive antes do login
Claro e escuroSegue o sistema operacional, com alternância manual; ambos com contraste verificado

Construído com

Go 1.26, binário únicogo-chi/chi · html/template
nftables via google/nftablesnetlink direto, sem subprocesso nft
Argon2idgolang.org/x/crypto, salt de 16 bytes por senha
CSRFnet/http.CrossOriginProtection, nativo no Go 1.25
Sistema de designDESIGN.md + Tailwind v4 — sem biblioteca de UI de terceiros
FontesInter + JetBrains Mono, auto-hospedadas, ~145 KB — funciona sem conexão com a internet
CIgovulncheck, gosec, CodeQL, -race e uma suíte de integração contra um kernel real

Roadmap

Correção em primeiro lugar: uma firewall que silenciosamente faz menos do que promete é pior do que uma que faz menos e admite isso.

2.6Testes de integração que verificam o significado, não contagens de regras
2.7Identidade — um usuário no protocolo de socket, depois eventos de login, depois múltiplas contas, depois 2FA
2.8Uma API REST com autenticação por token, ACME como opção, proxy reverso confiável opt-in
2.9Uma contagem opt-in de instalações

Por que cada um vem quando vem, e o que a contagem enviaria: Roadmap →

Como obter ajuda

Uma pergunta ou algo que não está se comportando como esperadoDiscord
Um bug ou uma funcionalidade que você desejaGitHub issues
Uma vulnerabilidade de segurançaAviso de segurançanão Discord, nem um issue público

Contribuindo

Configuração, convenções de commit e o checklist de revisão: CONTRIBUTING.md. Qualquer coisa visual passa primeiro por DESIGN.md.

Problemas de segurança: não como um issue público — use GitHub Security Advisories.

Licença

GPL-3.0 — veja LICENSE.

Categorias