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

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

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

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

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

المساهمة

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

القضايا الأمنية: ليست كقضية عامة — استخدم GitHub Security Advisories.

الترخيص

GPL-3.0 — انظر LICENSE.

الفئات