# إنشاء كلمة مرور عشوائية بطول 20 حرفًا
python main.py random -l 20
# إنشاء عبارة مرور من 4 كلمات
python main.py phrase -w 4 --capitalize
# إنشاء عبارة مرور ليتسبيك
python main.py leet -w 3 -s _
# إنشاء مع تحليل الإنتروبيا
python main.py --show-entropy random -l 16
# تشغيل الوضع التفاعلي
python main.py --interactive
# استخدام ملف تعريف محدد مسبقًا (Strong)
python main.py --preset strong --show-entropy
أمثلة الاستخدام
كلمات المرور العشوائية
root@kitploit:~
# كلمة مرور أساسية بطول 16 حرفًا
python main.py random
# 24 حرفًا، أحرف فقط
python main.py random -l 24 --no-symbols --no-digits
# سهلة القراءة (بدون 0/O، 1/l/I)
python main.py --easy-read random -l 20
# مع الحد الأدنى من المتطلبات
python main.py random -l 16 --min-upper 2 --min-digits 2 --min-symbols 1
# الوضع المتوازن (معظمها أحرف، رموز أقل)
python main.py random -l 24 --balanced
عبارات المرور
root@kitploit:~
# عبارة مرور قياسية من 4 كلمات
python main.py phrase -w 4
# مكتوبة بحرف كبير وفاصل شرطة سفلية
python main.py phrase -w 5 -s _ --capitalize
# حالة بديلة (إنتروبيا عالية)
python main.py phrase -w 4 -s . --alternate
# الإخراج: aPpLe.bAnAnA.cHeRrY.dAtE
# حروف كبيرة مع فاصل شرطة (إنتروبيا عالية)
python main.py phrase -w 4 -s . --uppercase
# الإخراج: APPLE-BANANA-CHERRY-DATE
# نسخة ليتسبيك (استبدال ذكي بنسبة 50٪)
python main.py leet -w 4 -s -
# الإخراج: 4PPl3.8@N@[email protected]
# عبارة مرور ذات سمة (باستخدام 'animals.txt')
python main.py phrase -w 4 --capitalize --wordlist data/wordlists/animals.txt
# الإخراج: Tiger-Falcon-Shark-Wolf
مفاتيح البرامج (A x B)
root@kitploit:~
# 5 أجزاء كل منها 5 أحرف
python main.py license --segments 5 --segment-length 5
# 4 أجزاء كل منها 8 أحرف
python main.py license --segments 4 --segment-length 8
رموز المطورين
root@kitploit:~
# سر JWT لـ HS256
python main.py jwt --bits 256
# مفتاح API بتنسيق Base64
python main.py base64 -b 32 --url-safe
# رمز UUID (v4 عشوائي)
python main.py uuid --upper
# UUID v7 (قائم على الوقت، قابل للفرز)
python main.py uuid --ver 7
# أو اختصار
python main.py uuid --v7
# UUID قصير (مشفر بـ Base58، ~22 حرفًا)
python main.py uuid --short
# إنشاء UUID v7 باستخدام الاختصار
python main.py u --v7
# إنشاء 10 UUID v4 قصيرة
python main.py uuid --v4 --short -n 10
# تحويل صوتي ناتو
python main.py phonetic --text "PassForge"
# الإخراج: Papa-Alpha-Sierra-Sierra-Foxtrot-Oscar-Romeo-Golf-Echo
الأمان والتسجيل
root@kitploit:~
# تحليل كلمة مرور موجودة
python main.py analyze "p@ssword123"
# التسجيل في السجل
python main.py --log random -l 16
# عرض آخر 10 إدخالات في السجل (افتراضي)
python main.py history
# عرض جميع إدخالات السجل (يتم فك تشفيرها فورًا)
python main.py history --all
# عرض السجل مع تنقيح كلمات المرور
python main.py history --redact
# تصدير السجل (بالتنقيح افتراضيًا)
python main.py history --export backup.json
# تصدير السجل (نص عادي - يتطلب الحذر)
python main.py history --export secrets.csv --no-redact
# إخراج JSON للبرمجة النصية
python main.py --json jwt --bits 256
مرجع الأوامر
العلامة
الوصف
--preset
استخدام ملف تعريف أمان محدد مسبقًا (strong, memorable, dev, pin, web, wifi, key)
-i, --interactive
تشغيل وضع القائمة التفاعلي
--paranoid
تمكين الوضع البارانويدي (جمع الإنتروبيا يدويًا)
--json
الإخراج بتنسيق JSON
--show-entropy
عرض تحليل الإنتروبيا (مفعل افتراضيًا في المشغلات)
--check-strength
تشغيل تحليل نمط zxcvbn
-c, --clipboard
نسخ النتيجة إلى الحافظة
--confirm-copy
المطالبة بتأكيد نسخ النتيجة إلى الحافظة
--clipboard-timeout
المسح التلقائي للحافظة بعد N ثانية (افتراضي: 30)
--log
تسجيل كلمة المرور في السجل (مشفر بـ AES-128)
--no-color
تعطيل الإخراج الملون
--easy-read
استبعاد الأحرف الغامضة (0/O, 1/l/I)
--easy-say
أحرف قابلة للنطق فقط (بدون رموز)
خيارات خاصة بالمولد
العشوائي (random, r)
العلامة
الافتراضي
الوصف
-l, --length
16
طول كلمة المرور (4-1024)
--no-uppercase
-
استبعاد الأحرف الكبيرة
--no-lowercase
-
استبعاد الأحرف الصغيرة
--no-digits
-
استبعاد الأرقام
--no-symbols
-
استبعاد الرموز
--include
-
أحرف إضافية لتضمينها
--exclude
-
أحرف لاستبعادها
--no-repeats
-
لا تكرار للأحرف
--min-upper
0
الحد الأدنى من الأحرف الكبيرة
--min-lower
0
الحد الأدنى من الأحرف الصغيرة
--min-digits
0
الحد الأدنى من الأرقام
--min-symbols
0
الحد الأدنى من الرموز
--balanced
-
نسبة متوازنة (60/20/20)
-n, --count
1
العدد المراد توليده
عبارة المرور (phrase, p)
العلامة
الافتراضي
الوصف
-w, --words
4
عدد الكلمات (2-64)
-s, --separator
-
فاصل الكلمات
--capitalize
-
جعل كل كلمة تبدأ بحرف كبير
--uppercase
-
جميع الكلمات بأحرف كبيرة
--alternate
-
حالة بديلة (aLtErNaTe)
--wordlist
-
مسار قائمة كلمات مخصصة
-n, --count
1
العدد المراد توليده
ليتسبيك (leet, l)
العلامة
الافتراضي
الوصف
-w, --words
3
عدد الكلمات (2-64)
-s, --separator
-
فاصل الكلمات ( - _ . , )
-n, --count
1
العدد المراد توليده
رقم التعريف الشخصي (pin)
العلامة
الافتراضي
الوصف
-l, --length
6
طول الرقم الشخصي (4-64)
-n, --count
1
العدد المراد توليده
قابل للنطق (pronounce, pr)
العلامة
الافتراضي
الوصف
-l, --length
12
طول كلمة المرور (4-128)
-n, --count
1
العدد المراد توليده
UUID (uuid)
العلامة
الافتراضي
الوصف
--ver
4
إصدار UUID (1, 4, 7)
--short
-
تنسيق قصير (Base58)
--upper
-
إخراج بأحرف كبيرة (سداسي عشري فقط)
-n, --count
1
العدد المراد توليده
Base64 (base64, b64)
العلامة
الافتراضي
الوصف
-b, --bytes
32
عدد البايتات العشوائية
--url-safe
-
استخدام أحرف آمنة لعناوين URL
سر JWT (jwt)
العلامة
الافتراضي
الوصف
--bits
256
طول البت (256, 384, 512)
--hex
-
الإخراج كسلسلة سداسية عشرية
مفتاح WiFi (wifi)
العلامة
الافتراضي
الوصف
-l, --length
24
طول المفتاح (8-63، الافتراضي: 24)
--simple
-
أبجدي رقمي فقط (بدون رموز)
مفتاح الترخيص (license)
العلامة
الافتراضي
الوصف
--segments
4
عدد الأجزاء (2-64)
--segment-length
4
أحرف لكل جزء (2-32)
رموز الاسترداد (recovery)
العلامة
الافتراضي
الوصف
-n, --count
10
عدد الرموز (5-20، الافتراضي: 10)
-l, --length
10
طول الرمز (أرقام أو كلمات، الافتراضي: 10/3)
--words
-
استخدام رموز قائمة على الكلمات
سر OTP (otp)
العلامة
الافتراضي
الوصف
--digits
6
طول الرمز (6 أو 8)
--period
30
الفترة الزمنية بالثواني
--qr
-
إظهار رمز QR في الطرفية
النمط (pattern)
العلامة
الافتراضي
الوصف
--grid
3
حجم الشبكة (مثل 3x3)
الصوتي (phonetic, ph)
العلامة
الافتراضي
الوصف
--text
-
النص المراد تحويله إلى أبجدية ناتو
-l, --length
8
طول التسلسل العشوائي (4-64)
السجل (history)
العلامة
الافتراضي
الوصف
--last
10
عرض آخر N إدخال (1-100، الافتراضي: 10)
--all, -a
-
عرض جميع إدخالات السجل (يتجاوز --last)
--search
-
تصفية السجل بكلمة مفتاحية
--redact
-
تنقيح كلمات المرور في إخراج الطرفية
--export
-
تصدير السجل إلى ملف (JSON/CSV)
--no-redact
-
لا تقم بتنقيح كلمات المرور في التصدير (انتباه!)
--clear
-
مسح جميع إدخالات السجل
دليل الإنتروبيا
يوفر PassForge تقرير إنتروبيا شامل يشمل حجم مجموعة الأحرف الخام، وبّتات شانون، وتقديرات وقت القوة القسرية.
الإنتروبيا (بت)
القوة
حالة الاستخدام
< 28
ضعيف جدًا
لا تستخدم أبدًا
28-36
ضعيف
أمان منخفض فقط
36-60
معقول
الحسابات القياسية
60-80
قوي
البيانات الحساسة
80-128
قوي جدًا
أنظمة الأمان العالية
> 128
ممتاز
البنية التحتية الحرجة
ملاحظة: للحصول على شرح تفصيلي لكل نوع مولد، راجع LITERATURE.md.
# تشغيل جميع الاختبارات
python -m pytest tests/ -v
# تشغيل فئة اختبار محددة
python -m pytest tests/test_generators.py::TestRandomPasswordGenerator -v
# تشغيل مع تغطية
python -m pytest tests/ --cov=src --cov-report=html
جميع اختبارات الوحدة الـ 53 تغطي:
جميع أوضاع المولدات الـ 15 المتخصصة
حاسبات الإنتروبيا وقوة zxcvbn
المسح التلقائي للحافظة والتخزين الآمن
منطق توليد رمز QR ASCII
تحميل الإعدادات والملفات المحددة مسبقًا
الإعدادات
يدعم PassForge ملفات الإعدادات بتنسيق YAML أو JSON.
مواقع ملفات الإعدادات (يتم البحث بالترتيب):
./passforge.yaml أو ./passforge.json
./.passforge.yaml أو ./.passforge.json
~/.passforge/config.yaml أو ~/.passforge/config.json
راجع passforge.example.json لجميع الخيارات المتاحة.
بناء ملف تنفيذي مستقل
يمكن تجميع PassForge إلى ملف تنفيذي مستقل واحد باستخدام PyInstaller.
Windows
root@kitploit:~
# باستخدام نص البناء
passforge_build.bat
# أو يدويًا
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py
Linux/macOS
root@kitploit:~
# باستخدام نص البناء
chmod +x passforge_build.sh
./passforge_build.sh
# أو يدويًا
pip install pyinstaller
pyinstaller --onefile --name passforge --console main.py
سيتم إنشاء الملف التنفيذي في مجلد dist/ (~7MB، بدون تبعيات).
🌐 PassForge Web (إضافة PWA)
يتضمن PassForge الآن واجهة ويب حديثة وسريعة الاستجابة (PWA) توفر طريقة مرئية لتوليد وإدارة كلمات المرور مع الحفاظ على التكافؤ التام مع إصدار CLI.
الميزات الرئيسية
واجهة شريط جانبي: تنقل سهل بين جميع أنواع المولدات.
منزلقات مرئية: ضبط الأطوال وأعداد الكلمات بمنزلقات تفاعلية.
دعم QR: إنشاء رمز QR فوري لمشاركة كلمات المرور أو أسرار OTP.
الوضع الداكن/الفاتح: جماليات متميزة مع تبديل سمة متكيف مع النظام.
قابل للتثبيت: دعم تثبيت PWA على Windows و Linux والأجهزة المحمولة.
سجل مشترك: يستخدم نفس ملف السجل المشفر مثل CLI.
تشغيل PWA
لبدء تشغيل الواجهة، قم بتشغيل نص المشغل الخاص بنظام تشغيلك:
Windows: passforge_pwa.bat
Linux/macOS: passforge_pwa.sh
[!IMPORTANT]
تعزيز الأمان (v34+): تستخدم PWA الآن معالج SecureStaticFiles الذي يمنع بشكل صريح وصول المتصفح إلى ملفات Python المصدرية والسجلات والمفاتيح التشفيرية. يتم حماية الوصول إلى السجل من خلال مصافحة مفتاح API داخلي. يتضمن المنطق الأمامي أيضًا أغلفة دفاعية لأصول CDN الخارجية لضمان الوظائف حتى إذا تم حظر CDN.
[!TIP]
توفر البناء: يتم تضمين ملفات PWA في توزيعات الكود المصدري و ZIP/Tarball. لا يتم تضمين PWA في الملف الثنائي .exe الفردي.
سيعمل المشغل تلقائيًا على تثبيت التبعيات الضرورية (fastapi, uvicorn)، ويبدأ خادمًا محليًا على http://127.0.0.1:8093، ويفتح المتصفح الخاص بك.