العودة إلى التحديثات
New releaseSep 4, 2026

easywall v2.14.0

واجهة ويب لجدار الحماية nftables على لينكس، مكتوبة بلغة Go. تلغي عملية التطبيق نفسها بعد 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 ثانية. إذا قطعت القواعد الجديدة اتصالك فلن تتمكن من النقر على تأكيد، وعدم التأكيد هو ما يعيد القواعد القديمة.

آلة الحالات: التعديل يؤدي إلى مُجهَّز، والتطبيق يؤدي إلى نشط، والتأكيد خلال النافذة يؤدي إلى مؤكَّد، وترك النافذة تنتهي يؤدي إلى تراجع، ومن هناك تظل التعديلات المُجهَّزة متاحة.

البنية

عمليتان. العملية المكشوفة للشبكة لا تحمل أي صلاحية تستحق السرقة.

يتحدث المتصفح عبر HTTPS إلى easywall-web، الذي يعمل دون امتيازات؛ ويتحدث easywall-web عبر JSON مُحدد النوع عبر مقبس Unix إلى easywall-core، الذي يعمل بصلاحيات الجذر ويتواصل عبر netlink مع جدول nftables في inet easywall.

إعادة كتابة كاملة لـ easywall الأصلي — Python وFlask وiptables عبر subprocess — والذي تمت أرشفته في 2022 بعد ثغرة CVE. السببان الجذريان كلاهما زالا: فالامتيازات تعيش في عملية مختلفة، ومسار التطبيق يبني هياكل Go بدلاً من سطر أوامر. كيف يعمل ←

التثبيت

شجرة قرار: مجرد الاطلاع يؤدي إلى وضع العرض التجريبي؛ 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، تُقيَّم قبل أي قاعدة منفذ
وحدات الحمايةاثنتا عشرة وحدة، خمس منها مفعّلة افتراضيًا — الفيضانات، والمسح، وعناوين bogon، والقطع، والبث/البث المتعدد/البث الموجّه
إعادة توجيه المنافذإعادة توجيه NAT مع اختيار البروتوكول
قواعد مخصصةnftables خام، يُفحص تركيبه قبل تطبيقه
التصدير / الاستيرادمجموعة القواعد كاملة بصيغة JSON
سجل التدقيقما الذي تغيّر ومتى، كائن JSON واحد لكل سطر
التعايش مع Dockerيملك table inet easywall، ولا يمسّ أي شيء آخر
الإنجليزية، الألمانية، الفرنسيةقابلة للتبديل في الواجهة، بما في ذلك قبل تسجيل الدخول. قد تكون اللغة جزئية: ما ينقصها يُعرَض بالإنجليزية، ويُبلَّغ عن الفجوة بدلًا من إخفائها
الوضع الفاتح والداكنيتبع نظام التشغيل، مع مفتاح تبديل يدوي؛ وكلاهما مُختبَر التباين

مبني باستخدام

Go 1.27، ملف تنفيذي واحدgo-chi/chi · html/template
nftables عبر google/nftablesnetlink للقواعد المُنمَّطة؛ nft للقواعد المخصصة فقط
Argon2idgolang.org/x/crypto، ملح بحجم 16 بايت لكل كلمة مرور
CSRFnet/http.CrossOriginProtection، أصلي في Go 1.25
نظام التصميمDESIGN.md + Tailwind v4 — دون أي مكتبة واجهة مستخدم خارجية
الخطوطInter + JetBrains Mono، مستضافة ذاتيًا، ~145 KB — تعمل دون اتصال بالشبكة
CIgovulncheck وgosec وCodeQL و-race، ومجموعة اختبارات تكامل على نواة حقيقية

الحصول على المساعدة

سؤال، أو شيء لا يعمل كما ينبغيDiscord
خطأ برمجي، أو ميزة تريدهاGitHub issues
ثغرة أمنيةSecurity advisory — ليس Discord، وليس مشكلة عامة

المساهمة

الإعداد واصطلاحات الالتزام وقائمة مراجعة الكود: CONTRIBUTING.md. أي شيء بصري يمر أولًا عبر DESIGN.md.

الفئات