
واجهة ويب لجدار الحماية nftables على لينكس، مكتوبة بلغة Go. تلغي عملية التطبيق نفسها بعد 120 ثانية ما لم تؤكدها — لن تتمكن من حبس نفسك خارج النظام. تثبيت عبر Debian و Docker.
جدار الحماية الخاص بك. قواعدك الخاصة. بلا مفاجآت.
عرض حي · التوثيق · سجل التغييرات
nftables عبر واجهة ويب لا يمكنها أن تحجبك عن الوصول: كل تطبيق يتراجع عن نفسه ما لم تؤكده.
تعديل قاعدة لا يغيّر شيئًا. تطبيقها يغيّر كل شيء — لمدة 120 ثانية. إذا قطعت القواعد الجديدة اتصالك فلن تستطيع النقر على تأكيد، وعدم التأكيد هو ما يعيد القواعد القديمة.
عمليتان. العملية المكشوفة للشبكة لا تحمل أي صلاحية تستحق السرقة.
إعادة كتابة كاملة لـ easywall الأصلي — Python وFlask وiptables عبر
subprocess — الذي أُرشف في 2022 بعد ثغرة CVE. السببان الجذريان زالا:
الصلاحيات تعيش في عملية مختلفة، ومسار التطبيق يبني بنى Go
بدلًا من سطر أوامر. كيف يعمل ←
# 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/nftables | netlink مباشر، بلا subprocess لـ nft |
| Argon2id | golang.org/x/crypto، ملح 16 بايت لكل كلمة مرور |
| CSRF | net/http.CrossOriginProtection، أصلي في Go 1.25 |
| نظام التصميم | DESIGN.md + Tailwind v4 — بلا مكتبة واجهة طرف ثالث |
| الخطوط | Inter + JetBrains Mono، مُستضافة ذاتيًا، ~145 KB — تعمل دون اتصال بالشبكة |
| CI | govulncheck وgosec وCodeQL و-race، ومجموعة تكامل ضد نواة حقيقية |
| سؤال، أو شيء لا يعمل كما ينبغي | Discord |
| خطأ برمجي، أو ميزة تريدها | GitHub issues |
| ثغرة أمنية | Security advisory — ليس Discord، وليس issue عامًا |
الإعداد واصطلاحات الـ commit وقائمة مراجعة المراجعة: CONTRIBUTING.md.
أي شيء بصري يمر أولًا عبر DESIGN.md.