
apm v11.2.0
مدير كلمات مرور محلي للجميع
لماذا APM؟
- سريع وسهل التعلّم — لا حاجة لحفظ الأوامر أو الأعلام. يطلب منك APM ما يحتاجه. تتوفر أيضًا أعلام سطر الأوامر للمستخدمين المتقدمين الذين يريدون أقصى سرعة.
- معرفة صفرية — لا يتم تخزين كلمة المرور الرئيسية أبدًا. تُشتق ثلاثة مفاتيح منفصلة بحجم 32 بايت باستخدام Argon2id. لا أحد غيرك يستطيع فك تشفير خزنتك.
- تشفير مزدوج — اختر AES-256-GCM أو XChaCha20-Poly1305. سلامة مزدوجة الطبقة عبر HMAC-SHA256 فوق مصادقة AEAD.
- محمول — ملف خزنة واحد، ملف تنفيذي واحد. خذ خزنتك إلى أي مكان.
- سحابة اختيارية — زامن مع Google Drive أو GitHub أو Dropbox. اختياري بالكامل؛ لا حاجة لحساب لاستخدام APM.
- جاهز للذكاء الاصطناعي — خادم MCP أصلي مع رموز محدودة النطاق حتى يتمكن Claude أو Cursor أو أي وكيل متوافق مع MCP من الوصول إلى خزنتك بأمان.
- جاهز للفرق — تحكم كامل بالوصول القائم على الأدوار، وأقسام، وسير عمل الموافقات، وخزائن مشتركة في
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 بمعرفة صفرية — لا يتم تخزين كلمة المرور الرئيسية أبدًا
- شفرات AEAD مزدوجة: AES-256-GCM وXChaCha20-Poly1305
- فحص سلامة مزدوج الطبقة بـ HMAC-SHA256
- أربعة ملفات أمان قابلة للضبط:
standard،hardened،paranoid،legacy - تقييم ثقة لكل سر (0–100) بناءً على العمر والوصول ومستوى الصلاحيات
- سجل تدقيق مقاوم للتلاعب مخزّن خارج الخزنة
الخزنة
- ملف خزنة مشفّر واحد — محمول عبر أي جهاز
- مساحات للتقسيم المنطقي (مثل المجلدات)
- بحث ضبابي مع متصفح تفاعلي وتنقل بلوحة المفاتيح
- مفتش البيانات الوصفية: تاريخ الإنشاء، آخر وصول، عدد مرات الوصول، درجة الثقة
TOTP
- مؤقتات عد تنازلي مباشرة في قائمة تفاعلية
- ترتيب مخصص دائم
- نسخ مباشر:
pm totp github - تكامل مع خادم التعبئة التلقائية لحقن رموز التحقق بخطوتين تلقائيًا
المزامنة السحابية
- Google Drive (OAuth2 PKCE)، GitHub (PAT)، Dropbox (OAuth2 PKCE)
- مشفّر من الطرف إلى الطرف — لا يرى المزودون النص الصريح أبدًا
.apmignoreلتصفية الإدخالات لكل مزود- حل التعارضات: الكتابة فوق، الإبقاء على المحلي، أو الإلغاء
- مزامنة تلقائية في الخلفية
الجلسات
- فتح/إغلاق صريح مع انتهاء صلاحية قابل للضبط ومهلة عدم النشاط
- جلسات مؤقتة مفوّضة للأتمتة ووصول وكلاء الذكاء الاصطناعي
خادم MCP
- خادم Model Context Protocol أصلي
- رموز أذونات محدودة النطاق:
read،secrets،write،admin - ضوابط المعاملات لعمليات الكتابة: معاينة → موافقة → إيصال
- يعمل مع Claude Desktop وCursor وWindsurf وأي عميل MCP
الاسترداد
| العامل | الأمر |
|---|---|
| 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)
- تحكم بالوصول قائم على الأدوار مع أدوار متعددة
- أقسام بنطاقات تشفير معزولة
- سير عمل الموافقات للإدخالات الحساسة
- خزائن مشتركة لمشاركة بيانات الاعتماد بين عدة مستخدمين
ملفات الأمان
| الملف | ذاكرة Argon2 | التكرارات | التوازي | حالة الاستخدام |
|---|---|---|---|---|
standard | 64 MB | 3 | 2 | معظم الأجهزة |
hardened | 256 MB | 5 | 4 | محطات العمل (≥8 GB RAM) |
paranoid | 512 MB | 6 | 4 | الخوادم (≥16 GB RAM) |
legacy | PBKDF2 | 600,000 | 1 | التوافق مع الإصدارات السابقة |
يكتشف APM تلقائيًا أنوية المعالج والذاكرة لديك للتوصية بالملف الأمثل أثناء pm setup.
حالة التطوير والتاريخ
(هذه ملاحظة من المالك) اعتبارًا من 30 مارس 2026، أعمل حاليًا على واجهة رسومية لـ APM. في البداية بدأ كتطبيق سطر أوامر. تشرح المشكلة #38 كل شيء بالتفصيل. بشكل عام، أريد أن يصل APM إلى شريحة سكانية أكبر. سأبقي الواجهة الرسومية منفصلة في مستودع apm-gui أو أنشئ منظمة وأنقل كلا المستودعين إليها.
بدأت APM كمشروع شخصي بحق. بدأ في أمسية عشوائية، عندما أردت إنشاء مدير كلمات المرور الخاص بي. كنت قد سئمت من zoho password، لأنني استخدمته لرموز TOTP. كان بطيئًا بشكل لا يصدق في العمل، وكنت أستخدم ملفات نصية صريحة لرموزي، وهو أمر غير آمن.
حتى الآن، لا أخطط للتخلي عن المشروع أو إيقافه. سيبقى فعّالًا لفترة طويلة. أحاول تحسينه كل يوم وأستخدمه كل يوم. أحيانًا، قد يكون المستودع غير نشط، وذلك عندما أختبر التطبيق وأجري تجارب عليه.
هيكل الإصدارات
| الطبقة | مستقرة؟ | الخزنة آمنة؟ | الغرض |
|---|---|---|---|
| Canary | ❌ | ❌ | معاينة الميزات الأبكر — قد تُفسد الخزائن |
| Alpha | ❌ | ✅ | ميزات غير مستقرة، سلامة الخزنة محفوظة |
| Beta | ✅ | ✅ | ميزات مختبرة بالكامل، طرح حذر |
| Stable | ✅ | ✅ | إصدارات جاهزة للإنتاج |
احتفظ دائمًا بنسخة احتياطية من خزنتك قبل تجربة إصدارات Canary. ملاحظة: بالنسبة لبعض الإصدارات، قد لا تُصدر بعض الطبقات اعتمادًا على مدى سرعة وسهولة إصدارها دون إنشاء طبقات أكثر من اللازم.
التوثيق
التوثيق الكامل على aaravmaloo.github.io/apm