अपडेट पर वापस जाएँ
New releaseSep 4, 2026

easywall v2.14.0

Linux पर nftables फ़ायरवॉल के लिए वेब इंटरफ़ेस, Go में लिखा गया। apply स्वयं को 120 सेकंड के बाद पूर्ववत कर लेता है जब तक आप इसकी पुष्टि नहीं करते — आप स्वयं को लॉक आउट नहीं कर सकते। Debian और Docker इंस्टॉल।

साझा करें

easywall

आपका फ़ायरवॉल। आपके नियम। कोई आश्चर्य नहीं।

Tests Build Security Coverage

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

लाइव डेमो · दस्तावेज़ · चेंजलॉग

एक वेब इंटरफ़ेस के माध्यम से nftables जो आपको बाहर नहीं लॉक कर सकता: हर लागू करना स्वयं को वापस ले लेता है जब तक आप इसकी पुष्टि नहीं करते।

easywall डैशबोर्ड: स्वीकृति स्थिति, लंबित परिवर्तन और अंतिम लागू करने के साथ फ़ायरवॉल स्थिति; TCP पोर्ट, UDP पोर्ट, ब्लॉकलिस्ट, अनुमति सूची, कस्टम नियम और फ़ॉरवर्डिंग की गिनती करने वाली टाइलें; और हाल की गतिविधि की सूची।

विचार

किसी नियम को संपादित करने से कुछ नहीं बदलता। उसे लागू करने से सब कुछ बदल जाता है — 120 सेकंड के लिए। यदि नए नियम आपका कनेक्शन काट देते हैं तो आप पुष्टि करें पर क्लिक नहीं कर सकते, और पुष्टि न करना ही पुराने नियमों को वापस ले आता है।

स्टेट मशीन: संपादन से स्टेज्ड तक, लागू करने से लाइव तक, विंडो के भीतर पुष्टि करने से कन्फर्म्ड तक, और विंडो समाप्त होने देने से रोल्ड बैक तक, जहाँ से स्टेज्ड संपादन अभी भी उपलब्ध हैं।

आर्किटेक्चर

दो प्रक्रियाएँ। जो नेटवर्क के लिए खुली है उसके पास चुराने लायक कोई विशेषाधिकार नहीं है।

ब्राउज़र easywall-web से HTTPS पर बात करता है, जो बिना विशेषाधिकार के चलता है; easywall-web एक Unix सॉकेट पर टाइप्ड JSON के माध्यम से easywall-core से बात करता है, जो root के रूप में चलता है और nftables टेबल inet easywall से netlink के माध्यम से संवाद करता है।

मूल easywall — Python, Flask, subprocess के माध्यम से iptables — का पूर्ण पुनर्लेखन, जिसे एक CVE के बाद 2022 में संग्रहीत (archived) कर दिया गया था। दोनों मूल कारण अब समाप्त हो चुके हैं: विशेषाधिकार एक अलग प्रक्रिया में रहते हैं, और apply पथ कमांड लाइन के बजाय Go structs बनाता है। यह कैसे काम करता है →

इंस्टॉल करें

निर्णय वृक्ष: केवल देख रहे हैं तो डेमो मोड की ओर; Debian या Ubuntu है तो .deb पैकेज की ओर; पहले से कंटेनर चला रहे हैं तो Docker की ओर; अन्यथा स्रोत से बिल्ड करें।
# 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.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

फिर https://localhost:12227 खोलें। पहली विज़िट खाता सेट अप करती है और पहले नियम तैयार करती है।

आपको क्या मिलता है

पोर्टTCP और UDP, एकल या रेंज, प्रति-नियम SSH ब्रूट-फ़ोर्स रूटिंग के साथ
ब्लॉकलिस्ट और अनुमति सूचीIPv4, IPv6 और CIDR, किसी भी पोर्ट नियम से पहले मूल्यांकित
सुरक्षा मॉड्यूलबारह, डिफ़ॉल्ट रूप से पाँच चालू — फ्लड, स्कैन, बोगॉन, फ़्रैगमेंट, ब्रॉडकास्ट/मल्टीकास्ट/एनीकास्ट
पोर्ट फ़ॉरवर्डिंगप्रोटोकॉल चयन के साथ NAT रीडायरेक्ट
कस्टम नियमरॉ nftables, लागू होने से पहले सिंटैक्स-जाँचा गया
निर्यात / आयातपूरा नियम सेट JSON के रूप में
ऑडिट लॉगक्या बदला और कब, प्रति पंक्ति एक JSON ऑब्जेक्ट
Docker सहअस्तित्वtable inet easywall का स्वामी, किसी और चीज़ को नहीं छूता
अंग्रेज़ी, जर्मन, फ़्रेंचइंटरफ़ेस में स्विच करने योग्य, साइन-इन से पहले भी। कोई भाषा आंशिक हो सकती है: जो अनुपस्थित है वह अंग्रेज़ी में प्रदर्शित होता है, और अंतराल छिपाया नहीं बल्कि रिपोर्ट किया जाता है
लाइट और डार्कOS का अनुसरण करता है, मैन्युअल टॉगल के साथ; दोनों कंट्रास्ट-जाँचे गए

निर्मित

Go 1.27, एकल बाइनरीgo-chi/chi · html/template
google/nftables के माध्यम से nftablesटाइप्ड नियमों के लिए netlink; nft केवल कस्टम नियमों के लिए
Argon2idgolang.org/x/crypto, प्रति पासवर्ड 16-बाइट सॉल्ट
CSRFnet/http.CrossOriginProtection, Go 1.25 नेटिव
डिज़ाइन सिस्टमDESIGN.md + Tailwind v4 — कोई तृतीय-पक्ष UI लाइब्रेरी नहीं
फ़ॉन्टInter + JetBrains Mono, स्व-होस्टेड, ~145 KB — एयर-गैप्ड वातावरण में काम करता है
CIgovulncheck, gosec, CodeQL, -race, और वास्तविक कर्नेल के विरुद्ध एक इंटीग्रेशन सूट

सहायता प्राप्त करना

श्रेणियाँ