अपडेट पर वापस जाएँ
New releaseAug 6, 2026

easywall v2.4.1

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 एक वेब इंटरफ़ेस के माध्यम से जो आपको बाहर नहीं कर सकता: हर apply अपने आप वापस हो जाता है जब तक आप उसकी पुष्टि नहीं करते।

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

विचार

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

स्टेट मशीन: editing से Staged पर, applying से Live पर, विंडो के भीतर पुष्टि करने से Confirmed पर, और विंडो समाप्त होने देने से Rolled back पर पहुँचते हैं, जहाँ से staged संपादन अभी भी उपलब्ध हैं।

आर्किटेक्चर

दो प्रक्रियाएँ। नेटवर्क के संपर्क में आने वाली प्रक्रिया के पास चुराने लायक कोई विशेषाधिकार नहीं होता।

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

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

इंस्टॉल

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

फिर https://localhost:12227 खोलें। पहली यात्रा पर खाता सेट होता है और पहले नियम staged होते हैं

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

पोर्ट्सTCP और UDP, एकल या रेंज, प्रति-नियम SSH brute-force रूटिंग के साथ
ब्लैकलिस्ट और व्हाइटलिस्टIPv4, IPv6 और CIDR, किसी भी पोर्ट नियम से पहले मूल्यांकित
सुरक्षा मॉड्यूलबारह, पाँच डिफ़ॉल्ट रूप से चालू — floods, scans, bogons, fragments, broadcast/multicast/anycast
पोर्ट फ़ॉरवर्डिंगप्रोटोकॉल चयन के साथ NAT रीडायरेक्ट
कस्टम नियमरॉ nftables, apply होने से पहले syntax-जाँच किया गया
एक्सपोर्ट / इम्पोर्टपूरा नियम सेट JSON के रूप में
ऑडिट लॉगक्या बदला और कब, प्रति पंक्ति एक JSON ऑब्जेक्ट
Docker सह-अस्तित्वtable inet easywall का स्वामी है, और कुछ नहीं छूता
अंग्रेज़ी और जर्मनइंटरफ़ेस में स्विच करने योग्य, साइन-इन से पहले भी
लाइट और डार्कOS का अनुसरण करता है, मैनुअल टॉगल के साथ; दोनों कंट्रास्ट-जाँचे हुए

इनसे बना है

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

रोडमैप

शुद्धता पहले: एक फ़ायरवॉल जो चुपचाप जितना कहता है उससे कम करता है, उस फ़ायरवॉल से भी बदतर है जो कम करता है और यह बताता भी है।

2.6इंटीग्रेशन टेस्ट जो अर्थ की पुष्टि करते हैं, नियम संख्याओं की नहीं
2.7पहचान — socket प्रोटोकॉल में एक उपयोगकर्ता, फिर लॉगिन इवेंट, फिर कई खाते, फिर 2FA
2.8टोकन auth के साथ एक REST API, एक विकल्प के रूप में ACME, opt-in विश्वसनीय रिवर्स प्रॉक्सी
2.9इंस्टॉलेशन की एक opt-in गणना

प्रत्येक सुविधा उस समय क्यों आती है, और गणना क्या भेजेगी: रोडमैप →

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

कोई प्रश्न, या कुछ ठीक से काम नहीं कर रहाDiscord
कोई बग, या कोई ऐसी सुविधा जो आप चाहते हैंGitHub issues
कोई सुरक्षा भेद्यताSecurity advisoryनहीं Discord, और न कोई सार्वजनिक issue

योगदान

सेटअप, commit परंपराएँ और समीक्षा चेकलिस्ट: CONTRIBUTING.md। कोई भी दृश्य परिवर्तन पहले DESIGN.md से होकर गुजरता है।

सुरक्षा समस्याएँ: सार्वजनिक issue के रूप में नहींGitHub Security Advisories का उपयोग करें।

लाइसेंस

GPL-3.0 — देखें LICENSE

श्रेणियाँ