
apm v11.0.0
مدير كلمات مرور محلي التركيز وغني بالميزات
لماذا APM؟
- سريع وسهل التعلّم — لا حاجة لحفظ الأوامر أو الخيارات (flags). يطلب منك APM كل ما يحتاجه. تتوفر أيضًا خيارات سطر الأوامر (CLI flags) للمستخدمين المحترفين الذين يريدون أقصى سرعة.
- تصميم zero-knowledge — لا يتم تخزين كلمة المرور الرئيسية أبدًا. يتم اشتقاق ثلاثة مفاتيح منفصلة بحجم 32 بايت باستخدام Argon2id. لا أحد غيرك يمكنه فك تشفير خزنتك.
- تشفير مزدوج — اختر AES-256-GCM أو XChaCha20-Poly1305. طبقة سلامة مزدوجة عبر HMAC-SHA256 فوق مصادقة AEAD.
- قابل للنقل — ملف خزنة واحد وملف ثنائي واحد. خذ خزنتك إلى أي مكان.
- سحابة اختيارية — مزامنة مع Google Drive أو GitHub أو Dropbox. اختيارية بالكامل؛ لا يتطلب استخدام APM أي حساب.
- قابل للتوسعة — نظام إضافات (plugins) قائم على manifest مع أكثر من 100 صلاحية دقيقة، وخطافات دورة حياة (lifecycle hooks)، وسوق إضافات.
- جاهز للذكاء الاصطناعي — خادم MCP مدمج مع رمزات بنطاق محدود (scoped tokens) بحيث يمكن لـ Claude أو Cursor أو أي وكيل متوافق مع MCP الوصول إلى خزنتك بأمان.
- جاهز للفرق — تحكم كامل بالوصول (RBAC)، وأقسام (departments)، وسير عمل موافقات، وخزائن مشتركة في
pm-team.
بدء سريع
go build -o pm .
pm setup # initialize vault and choose security profile
pm unlock # start a session
pm add # add a secret (interactive)
pm get github # fuzzy search and retrieve
pm lock # end session
إصدار الفريق:
cd team
go build -o pm-team .
أنواع الأسرار
يدعم APM أكثر من 25 نوعًا من الأسرار المنظمة مع حقول مُتحقَّق منها ومنطق عرض خاص بكل نوع:
| # | النوع | # | النوع |
|---|---|---|---|
| 1 | كلمة المرور | 14 | سجل Docker |
| 2 | TOTP | 15 | سر CI/CD |
| 3 | الهوية الحكومية | 16 | ملاحظة آمنة |
| 4 | السجل الطبي | 17 | رمزات الاسترداد |
| 5 | معلومات السفر | 18 | شهادة |
| 6 | جهة اتصال | 19 | بيانات بنكية |
| 7 | Wi-Fi | 20 | مستند |
| 8 | مفتاح API | 21 | ترخيص برمجي |
| 9 | رمز | 22 | عقد قانوني |
| 10 | مفتاح SSH | 23 | صورة |
| 11 | إعداد SSH | 24 | ملف صوتي |
| 12 | بيانات اعتماد السحابة | 25 | ملف فيديو |
| 13 | Kubernetes |
الميزات
الأمان
- اشتقاق مفاتيح Argon2id بتصميم zero-knowledge — لا يتم تخزين كلمة المرور الرئيسية أبدًا
- شفرات AEAD مزدوجة: AES-256-GCM وXChaCha20-Poly1305
- فحص سلامة مزدوج الطبقات عبر HMAC-SHA256
- أربعة ملفات أمان قابلة للضبط:
standardوhardenedوparanoidوlegacy - تقييم ثقة لكل سر (0–100) بناءً على العمر والوصول ومستوى الامتياز
- سجل تدقيق مقاوم للعبث (tamper-evident) مخزّن خارج الخزنة
الخزنة
- ملف خزنة واحد مشفّر — قابل للنقل على أي جهاز
- مساحات للعزل المنطقي (مثل المجلدات)
- بحث تقريبي (fuzzy search) مع مستعرض تفاعلي وتنقل بلوحة المفاتيح
- عارض البيانات الوصفية: تاريخ الإنشاء، آخر وصول، عدد مرات الوصول، درجة الثقة
TOTP
- مؤقتات عدّ تنازلي مباشرة في قائمة تفاعلية
- ترتيب مخصص دائم
- نسخ مباشر:
pm totp github - تكامل مع برنامج خفي (daemon) للتعبئة التلقائية لحقن رمزات التحقق الثنائي (2FA) تلقائيًا
المزامنة السحابية
- Google Drive (OAuth2 PKCE) وGitHub (PAT) وDropbox (OAuth2 PKCE)
- مشفرة من طرف إلى طرف — لا يرى مقدمو الخدمات النص الصريح أبدًا
.apmignoreلتصفية العناصر لكل مزود خدمة- حل التعارضات: استبدال، أو الاحتفاظ بالنسخة المحلية، أو إلغاء
- مزامنة تلقائية في الخلفية
الجلسات
- فتح/قفل صريح مع انتهاء صلاحية قابل للضبط ومهلة خمول (inactivity timeout)
- جلسات مؤقتة مفوَّضة للأتمتة ووصول وكلاء الذكاء الاصطناعي
خادم MCP
- خادم Model Context Protocol مدمج
- رمزات صلاحيات بنطاق محدود:
readوsecretsوwriteوadmin - ضوابط أمان للمعاملات في عمليات الكتابة: معاينة → موافقة → إيصال
- يعمل مع Claude Desktop وCursor وWindsurf وأي عميل MCP
الإضافات
- نظام إضافات قائم على manifest
- أكثر من 100 صلاحية دقيقة عبر الخزنة والشبكة والنظام والتشفير وواجهة المستخدم والسحابة
- نظام خطافات (hooks) لأحداث دورة حياة الخزنة
- سوق إضافات عبر مزودي الخدمات السحابية
الاسترداد
| العامل | الأمر |
|---|---|
| OTP عبر البريد الإلكتروني | pm auth email |
| مفتاح الاسترداد | pm auth recover |
| حصص النصاب (Shamir) | pm auth quorum-setup |
| مفتاح مرور WebAuthn | pm auth passkey register |
| رمزات استرداد لمرة واحدة | pm auth codes generate |
الاستيراد / التصدير
| الصيغة | استيراد | تصدير |
|---|---|---|
| JSON | pm import json | pm export json |
| CSV | pm import csv | pm export csv |
| TXT | pm import txt | pm export txt |
محرك السياسات
name: corporate-standard
password_policy:
min_length: 14
require_uppercase: true
require_numbers: true
require_symbols: true
rotation_policy:
rotate_every_days: 90
notify_before_days: 14
pm policy load ./policies/
إصدار الفريق (pm-team)
- RBAC مع أدوار متعددة
- أقسام بنطاقات تشفير معزولة
- سير عمل موافقات للعناصر الحساسة
- خزائن مشتركة لمشاركة بيانات الاعتماد بين عدة مستخدمين
ملفات الأمان
| الملف | ذاكرة Argon2 | التكرارات | التوازي | حالة الاستخدام |
|---|---|---|---|---|
standard | 64 MB | 3 | 2 | معظم الأجهزة |
hardened | 256 MB | 5 | 4 | محطات العمل (ذاكرة ≥8 جيجابايت) |
paranoid | 512 MB | 6 | 4 | الخوادم (ذاكرة ≥16 جيجابايت) |
legacy | PBKDF2 | 600,000 | 1 | التوافق مع الإصدارات السابقة |
يكتشف APM تلقائيًا أنوية المعالج وذاكرة الوصول العشوائي (RAM) لديك ليوصي بالملف الأمثل أثناء pm setup.
حالة التطوير والتاريخ
(هذه الملاحظة من المالك) اعتبارًا من 30 مارس 2026، أعمل حاليًا على الواجهة الرسومية (GUI) لتطبيق APM. في البداية بدأ التطبيق كتطبيق بواجهة سطر أوامر (CLI). توضح المشكلة #38 كل شيء بالتفصيل. بشكل عام، أريد أن يصل APM إلى شريحة أكبر من المستخدمين. سأبقي الواجهة الرسومية منفصلة في مستودع apm-gui أو أنشئ منظمة وأنقل المستودعين إليها.
بدأت مشروع APM كمشروع شخصي بحت. بدأ في أمسية عشوائية عندما أردت إنشاء مدير كلمات مرور خاص بي. لقد سئمت من zoho password لأنني استخدمته لرمزات TOTP. كان بطيئًا بشكل مذهل لدرجة أنه لم يعمل بشكل صحيح أبدًا، وكنت أستخدم ملفات نصية صريحة (plaintext) لرمزاتي، وهو أمر غير آمن.
حتى الآن، لا أخطط للتخلي عن المشروع أو إيقافه. سيظل يعمل لفترة طويلة. أحاول تحسينه كل يوم واستخدامه يوميًا. في بعض الأحيان، قد يكون المستودع غير نشط، وهذا هو الوقت الذي أختبر فيه التطبيق وأجرب عليه.
هيكل الإصدارات
| المستوى | مستقر؟ | آمن للخزنة؟ | الغرض |
|---|---|---|---|
| Canary | ❌ | ❌ | أقدم معاينة للميزات — قد يتلف الخزائن |
| Alpha | ❌ | ✅ | ميزات غير مستقرة، مع الحفاظ على سلامة الخزنة |
| Beta | ✅ | ✅ | ميزات مختبرة بالكامل، طرح بحذر |
| Stable | ✅ | ✅ | إصدارات جاهزة للإنتاج |
احرص دائمًا على عمل نسخة احتياطية من خزنتك قبل تجربة إصدارات Canary. ملاحظة: بالنسبة لبعض الإصدارات، قد لا يتم طرح بعض المستويات اعتمادًا على مدى سرعة وسهولة إصدارها دون إنشاء مستويات أكثر من اللازم.
التوثيق
التوثيق الكامل على aaravmaloo.github.io/apm
المساهمة
نرحب بالمساهمات. راجع CONTRIBUTING.md للإرشادات.
الترخيص
رخصة GPL-3.0 © Aarav Maloo