يحتوي هذا المستودع على ملحق Chrome الذي يدمج مدير كلمات المرور مع Chrome.
يوجد مجلدين في هذا المستودع يحتويان على:
لاستخدام الامتداد، يتعين عليك تثبيت الامتداد في متصفح chrome أو chromium وتطبيق python الأصلي (chrome_pass).
تم اختبار هذه التعليمات في Ubuntu 24.04 وDebian 12 (الدودة المثقفة):
sudo apt-get install pass python3 python3-pip
pip install --user chrome-pass==1.0.1
chrome_pass install
احصل على الامتداد من سوق Chrome الإلكتروني.
لتقليل تعقيد التعليمات البرمجية لهذا الامتداد، هناك بعض الافتراضات المتعلقة بكيفية تنظيم مخزن كلمات المرور. لكي يتمكن هذا الملحق من سرد كلمات المرور الخاصة بك وفك تشفيرها، يجب اتباع هذه الافتراضات:
يفترض هذا الامتداد أن مخزن كلمات المرور موجود داخل مجلد .password-store داخل دليلك الرئيسي:
$HOME/.password-store
في حالة وجود مخزن كلمات المرور في مكان آخر، يمكنك محاولة استخدام رابط رمزي للتغلب على هذا القيد أو تعيين متغير البيئة PASSWORD_STORE_DIR
للإشارة إلى موقع مخزن كلمات المرور.
يفترض هذا المكون الإضافي أن الجزأين الأخيرين من كل مسار كلمة مرور يتبعان هذا الهيكل:
[Service URL]/[Username]
على سبيل المثال، للاحتفاظ ببعض حسابات Gmail وAmazon:
~/.password-store/
├── mail.google.com
│ ├── me@gmailcom
│ ├── [email protected]
│ └── [email protected]
└── Amazon
├── www.amazon.com
│ ├── [email protected]
│ └── [email protected]
└── www.amazon.co.jp
├── [email protected]
└── [email protected]
يمكن أن تحتوي مساراتك على أي عدد تريده من الأجزاء طالما أن المسارين الأخيرين يتبعان البنية المذكورة أعلاه. ويجب أن يتطابق الجزء [عنوان URL للخدمة] مع عنوان URL للصفحة التي تشاهدها لأنه يتم استخدامه لتحديد كلمة المرور المقابلة من المتجر.
إذا قام ملف المرور بتكوين pass-otp، فسيقوم chrome-pass بإنشاء رمز TOTP وملء أي مدخلات نصية رقمية في النموذج به.
بالنسبة لحسابات IAM، لا نحتاج فقط إلى اسم المستخدم وكلمة المرور لتسجيل الدخول، بل نحتاج أيضًا إلى معرف الحساب المكون من 12 رقمًا أو الاسم المستعار. بالنسبة لهذه الحسابات، يتمتع chrome-pass ببعض المنطق الخاص ليتمكن من ملء جميع المعلومات في صفحة تسجيل الدخول.
Password Store
├── signin.aws.amazon.com
│ ├── [email protected]
│ ├── [email protected]
│ ├── 183413992345
│ ├── 550312930456-username1
│ ├── 550312930456-username2
│ └── accountalias
signin.aws.amazon.com
وهو عنوان URL لتسجيل الدخول إلى وحدة التحكم.pass edit ...
وأضف زوجين من المفاتيح/القيمة في أي مكان بعد سطر كلمة المرور:username=[IAM username]
account=[12 digit AWS account id or alias]
username
لملء حقل اسم المستخدم، account
لملء حقل معرف الحساب، password
التي تم فك تشفيرها لملء حقل كلمة المرور. يبحث ملحق chrome-pass عن أي أزواج مفاتيح/قيمة في ملفات تمرير gpg ويملأ أي حقل إدخال HTML بمعرف يساوي key
value
المقابلة.
بالإضافة إلى ذلك، إذا تم تعيين value
على قيم العناصر النائبة الخاصة التالية، فسيتم استبدالها بما يلي:
pass__user
: تم استبداله بـ [Username]
المستخرج من الجزء الأخير من مسار المرور.pass__password
: تم استبداله بكلمة المرور التي تم فك تشفيرها.pass__otpauth
: يتم استبداله برمز pass-otp إذا كان متاحًا. ملحوظة
تحتوي مفاتيح العناصر النائبة الخاصة على شرطة سفلية مزدوجة __
.
يسمح هذا لـ chrome-pass بالعمل مع بعض نماذج تسجيل الدخول غير القياسية مثل نموذج تسجيل الدخول إلى معرف Apple. تفتقر صفحة تسجيل الدخول هذه إلى عنصر النموذج وتعتمد على جافا سكريبت للعمل. لحسن الحظ، تحتوي حقول إدخال اسم المستخدم وكلمة المرور بتنسيق HTML على معرفات محددة جيدًا يمكننا تعيينها في ملف chrome-pass للسماح له بالعمل:
# chrome-pass for Apple ID login from.
account_name_text_field=pass__user
password_text_field=pass__password
ستؤدي إضافة أزواج المفاتيح/القيمة أعلاه إلى ملف مرور حساب Apple إلى توجيه ملحق chrome-pass لملء أي حقل إدخال HTML بمعرف account_name_text_field
باسم المستخدم وأي حقل إدخال HTML بمعرف password_text_field
بكلمة المرور التي تم فك تشفيرها.
هذا مخصص للمطورين فقط أو الأشخاص الذين يرغبون في رؤية الكود المصدري قبل الوثوق بكلمات المرور الخاصة بهم لبعض الامتدادات المكتوبة بواسطة شخص غير معروف.
داخل Chrome، افتح عنوان URL chrome://extensions، وتحقق من وضع المطور ثم قم بتحميل المسار إلى مجلد الامتداد باستخدام زر تحميل الامتداد غير المضغوط . بعد تحميل الامتداد في Chrome، قم بتدوين معرف الامتداد .
بعد ذلك نحتاج إلى تثبيت البرنامج النصي المجمّع chrome_pass وتثبيت بيان تطبيق المضيف الأصلي:
cd application
pip install --upgrade setuptools build --user
python -m build
pip install . --user
chrome_pass install [extension ID]
استبدل الحقول المخصصة otpoauth
بـ pass__otpauth
أثناء تمرير الملفات. ستتم إزالة الحقل المخصص otpoauth
ولن يعمل في الإصدارات المستقبلية.
التطبيق الأصلي والامتداد 0.5.1 غير متوافقين مع الإصدار السابق. تأكد من أن كلاهما 0.5.1 حتى يعملا بشكل صحيح.
تمت إعادة تسمية البرنامج النصي nativePass
إلى chrome_pass
.
يستخدم الإصدار 0.5.0 من chrome-pass أدوات الإعداد بدلاً من الأدوات لحزم التطبيق الأصلي وتثبيته. عند التثبيت قد تحصل على أخطاء مثل:
ERROR: Cannot uninstall 'chrome-pass'. It is a distutils installed project and
thus we cannot accurately determine which files belong to it which would lead
to only a partial uninstall.
في هذه الحالة، من الضروري إزالة تثبيت الإصدارات الأقدم من الحزمة يدويًا:
nativePass
. ابحث عنه باستخدام which nativePass
.chrome_pass-0.X.0...
إذا لم يتمكن الامتداد لسبب ما من الحصول على قائمة أسماء المستخدمين من مخزن كلمات المرور الخاص بك، فإن الأسباب الأكثر احتمالاً هي:
لقد وجد أن تطبيق chrome_pass غير قادر على فك تشفير كلمات مرور gpg مع بعض الإصدارات الأحدث من python-gnupg. يمكنني التحقق من أن البرنامج المساعد يعمل دون مشاكل عند استخدام وحدة gnupg الإصدار 0.3.9 الموجود افتراضيًا في Ubuntu 16.04LTS.
راجع المشكلة ذات الصلة للحصول على التفاصيل على: Github.
إذا كان المكون الإضافي يعمل عند تشغيل Chrome من داخل محطة طرفية، ولكنه لا يعمل عند تشغيله من Spotlight أو أي مشغل آخر، فتأكد من تعيين متغير بيئة PATH بشكل صحيح بواسطة المشغل.
راجع المشكلة ذات الصلة للحصول على التفاصيل على: Github