Torna agli aggiornamenti
New releaseAug 6, 2026

easywall v2.4.1

Interfaccia web per il firewall nftables su Linux, scritta in Go. L'applicazione si annulla da sola dopo 120 secondi a meno che non la confermi: non puoi rimanere bloccato fuori. Installazione Debian e Docker.

Condividi

easywall

Il tuo firewall. Le tue regole. Nessuna sorpresa.

Tests Build Security Coverage

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

Demo live · Documentazione · Changelog

nftables attraverso un'interfaccia web che non può chiuderti fuori: ogni applicazione si annulla da sola a meno che tu non la confermi.

La dashboard di easywall: stato del firewall con stato di accettazione, modifiche in sospeso e ultima applicazione; riquadri che contano porte TCP, porte UDP, blacklist, whitelist, regole personalizzate e forwarding; e un elenco di attività recenti.

L'idea

Modificare una regola non cambia nulla. Applicarla cambia tutto — per 120 secondi. Se le nuove regole interrompono la tua connessione, non puoi fare clic su Conferma, e non confermare è ciò che riporta in vigore le vecchie regole.

Macchina a stati: la modifica porta a Staged, l'applicazione porta a Live, la conferma entro la finestra porta a Confirmed, e lasciar scadere la finestra porta a Rolled back, da cui le modifiche in attesa sono ancora disponibili.

Architettura

Due processi. Quello esposto alla rete non detiene alcun privilegio che valga la pena rubare.

Il browser parla HTTPS con easywall-web, che gira senza privilegi; easywall-web scambia JSON tipizzato su un socket Unix con easywall-core, che gira come root e parla netlink con la tabella nftables inet easywall.

Una riscrittura completa dell'easywall originale — Python, Flask, iptables tramite subprocess — che è stato archiviato nel 2022 dopo una CVE. Entrambe le cause profonde sono sparite: i privilegi risiedono in un processo diverso, e il percorso di apply costruisce struct Go invece di una riga di comando. Come funziona →

Installazione

Albero decisionale: semplice curiosità porta alla modalità demo; Debian o Ubuntu porta al pacchetto .deb; contenitori già in esecuzione porta a Docker; altrimenti compila dal sorgente.
# 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

Poi apri https://localhost:12227. La prima visita configura l'account e prepara le prime regole.

Cosa ottieni

PorteTCP e UDP, singole o in un intervallo, con instradamento anti-forza bruta SSH per regola
Blacklist e whitelistIPv4, IPv6 e CIDR, valutate prima di qualsiasi regola sulle porte
Moduli di protezioneDodici, cinque attivi per impostazione predefinita — flood, scansioni, bogon, frammenti, broadcast/multicast/anycast
Port forwardingReindirizzamenti NAT con selezione del protocollo
Regole personalizzatenftables grezzo, controllato sintatticamente prima di essere applicato
Esportazione / importazioneL'intero set di regole come JSON
Log di auditCosa è cambiato e quando, un oggetto JSON per riga
Coesistenza con DockerPossiede table inet easywall, non tocca nient'altro
Inglese e tedescoSelezionabili nell'interfaccia, anche prima dell'accesso
Chiaro e scuroSegue il sistema operativo, con un interruttore manuale; entrambi verificati per il contrasto

Costruito con

Go 1.26, binario singologo-chi/chi · html/template
nftables tramite google/nftablesnetlink diretto, nessun sottoprocesso nft
Argon2idgolang.org/x/crypto, salt da 16 byte per password
CSRFnet/http.CrossOriginProtection, nativo in Go 1.25
Sistema di designDESIGN.md + Tailwind v4 — nessuna libreria UI di terze parti
FontInter + JetBrains Mono, self-hosted, ~145 KB — funziona anche in ambienti air-gapped
CIgovulncheck, gosec, CodeQL, -race e una suite di integrazione contro un kernel reale

Roadmap

Prima la correttezza: un firewall che fa silenziosamente meno di quanto dichiara è peggiore di uno che fa meno e lo dice.

2.6Test di integrazione che verificano il significato, non il numero di regole
2.7Identità — un utente nel protocollo socket, poi eventi di login, poi più account, poi 2FA
2.8Una REST API con autenticazione tramite token, ACME come opzione, reverse proxy affidabile opt-in
2.9Un conteggio opt-in delle installazioni

Perché ognuna arriva quando arriva, e cosa invierebbe il conteggio: Roadmap →

Supporto

Una domanda, o qualcosa che non si comporta come dovrebbeDiscord
Un bug, o una funzionalità che desideriGitHub issues
Una vulnerabilità di sicurezzaSecurity advisorynon Discord, e non una issue pubblica

Contribuire

Configurazione, convenzioni sui commit e checklist di revisione: CONTRIBUTING.md. Qualsiasi elemento visivo passa prima da DESIGN.md.

Problemi di sicurezza: non come issue pubblica — usa GitHub Security Advisories.

Licenza

GPL-3.0 — vedi LICENSE.

Categorie