Torna agli aggiornamenti
New releaseSep 4, 2026

easywall v2.14.0

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.

Test Build Sicurezza Copertura

Ultima release Versione Go GPL-3.0 Discord Supporta su Ko-fi

Demo live · Documentazione · Changelog

nftables tramite 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 cliccare su Conferma, e non confermare è ciò che ripristina le vecchie regole.

Macchina a stati: la modifica porta a In sospeso, l'applicazione porta a Attivo, la conferma entro la finestra porta a Confermato, e lasciar scadere la finestra porta a Annullato, da dove le modifiche in sospeso 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 parla 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'originale easywall — Python, Flask, iptables tramite subprocess — che è stato archiviato nel 2022 dopo una CVE. Entrambe le cause principali sono sparite: i privilegi vivono in un processo diverso, e il percorso di applicazione costruisce struct Go invece di una riga di comando. Come funziona →

Installazione

Albero decisionale: solo 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 e 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

# Dal sorgente — Go 1.27+, 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 mette in sospeso le prime regole.

Cosa ottieni

PorteTCP e UDP, singole o a intervalli, con instradamento anti brute-force 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, scan, bogons, frammenti, broadcast/multicast/anycast
Port forwardingReindirizzamenti NAT con selezione del protocollo
Regole personalizzatenftables grezzi, con controllo della sintassi prima dell'applicazione
Esportazione / importazioneL'intero set di regole come JSON
Registro di controlloCosa è cambiato e quando, un oggetto JSON per riga
Coesistenza con DockerPossiede table inet easywall, non tocca nient'altro
English, Deutsch, FrançaisCommutabile nell'interfaccia, anche prima dell'accesso. Una lingua può essere parziale: ciò che manca viene mostrato in inglese, e il divario viene segnalato anziché nascosto
Chiaro e scuroSegue il sistema operativo, con interruttore manuale; entrambi verificati per il contrasto

Costruito con

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

Ottenere aiuto

Una domanda, o qualcosa che non si comporta come previstoDiscord
Un bug, o una funzionalità che desideriIssue GitHub
Una vulnerabilità di sicurezzaAdvisory di sicurezzanon Discord, e non un'issue pubblica

Contribuire

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

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

Licenza

GPL-3.0 — vedi LICENSE.

Categorie