العودة إلى التحديثات
New releaseAug 6, 2026

easywall v2.4.1

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

آلة الحالات: التعديل يؤدي إلى Staged، والتطبيق يؤدي إلى Live، والتأكيد ضمن النافذة الزمنية يؤدي إلى Confirmed، وترك النافذة تنتهي يؤدي إلى Rolled back، ومن هناك تظل التعديلات المرحلية متاحة.

البنية

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

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

إعادة كتابة كاملة لـ easywall الأصلي — Python وFlask وiptables عبر عملية فرعية — الذي أُرشِف في عام 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.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. الزيارة الأولى تُنشئ الحساب وتجهّز القواعد الأولى.

ما الذي تحصل عليه

المنافذTCP وUDP، مفردة أو نطاقًا، مع توجيه هجمات القوة العمياء على SSH لكل قاعدة
القائمة السوداء والقائمة البيضاءIPv4 وIPv6 وCIDR، تُقيَّم قبل أي قاعدة منافذ
وحدات الحمايةاثنتا عشرة وحدة، خمس منها مفعّلة افتراضيًا — الفيضانات، والمسح، وعناوين bogon، وتجزئة الحزم، والبث/البث المتعدد/أي كاست
إعادة توجيه المنافذتحويلات NAT مع اختيار البروتوكول
قواعد مخصصةnftables خام، تُفحص صياغتها قبل تطبيقها
تصدير / استيرادمجموعة القواعد بأكملها بصيغة JSON
سجل التدقيقما الذي تغيّر ومتى، كائن JSON واحد لكل سطر
التعايش مع Dockerيملك table inet easywall، ولا يلمس أي شيء آخر
الإنجليزية والألمانيةقابلة للتبديل من الواجهة، حتى قبل تسجيل الدخول
الوضع الفاتح والداكنيتبع نظام التشغيل، مع مفتاح يدوي؛ وكلاهما مُتحقَّق من تباينه

بُني بـ

Go 1.26، ملف ثنائي واحد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 كيلوبايت — تعمل دون اتصال بالإنترنت
CIgovulncheck وgosec وCodeQL و-race، ومجموعة اختبارات تكامل ضد نواة حقيقية

خارطة الطريق

الصحة أولًا: جدار حماية يفعل بصمت أقل مما يقول أسوأ من جدار حماية يفعل أقل ويقول ذلك.

2.6اختبارات تكامل تتحقق من المعنى، لا من عدد القواعد
2.7الهوية — مستخدم في بروتوكول المقبس، ثم أحداث تسجيل الدخول، ثم حسابات متعددة، ثم 2FA
2.8REST API بمصادقة عبر الرموز، مع ACME كخيار، ووكيل عكسي موثوق اختياري
2.9عدّ اختياري لعمليات التثبيت

لماذا يأتي كل منها في وقته، وما الذي سيرسله العدّ: خارطة الطريق ←

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

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

المساهمة

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

المشكلات الأمنية: ليست كقضية عامة — استخدم التنبيهات الأمنية في GitHub.

الترخيص

GPL-3.0 — انظر LICENSE.

الفئات