لماذا الهجرة الآن
في 2026، ارتفع اشتراك 1Password الفردي المدفوع سنوياً من 35.88 دولاراً/سنة إلى 47.88 دولاراً/سنة، أي بزيادة 33%. وفي يناير 2026، رفع Bitwarden.com بدوره سعر خطته المميزة من 10 دولارات إلى 19.80 دولار سنوياً — ما يقارب الضعف. أوضح هذان الارتفاعان المتقاربان الجدوى الاقتصادية من الاستضافة الذاتية للمطوّرين الذين يمتلكون بالفعل خادم VPS: يعمل Vaultwarden، المكتوب بلغة Rust والأخفّ بكثير من خادم Bitwarden الرسمي، دون أي رسوم ترخيص برمجي، بتكلفة شهرية ثابتة.
الاعتراض الأكثر شيوعاً — «إدارة مدير كلمات المرور بنفسي أمر محفوف بالمخاطر» — لا يصمد أمام بنية Vaultwarden. يتم التشفير كلياً من جانب العميل باستخدام AES-256-CBC مع اشتقاق مفتاح PBKDF2 أو Argon2id: فلا يرى الخادم كلمات مرورك في صورة نص صريح قط، حتى في حال اختراق الجهاز بالكامل.
ما يوفّره Vaultwarden للمطوّر
- تشفير AES-256-CBC من جانب العميل — لا تغادر كلمات مرورك جهازك في صورة نص صريح، بصرف النظر عن تهيئة الخادم.
- توافق كامل مع جميع عملاء Bitwarden الرسميين: إضافات المتصفح، وتطبيقات iOS وAndroid وسطح المكتب وCLI، دون أي تعديلات.
- بصمة ذاكرة خفيفة — صُمّم Vaultwarden، المكتوب بلغة Rust، للاستضافة الذاتية حيث لا يناسب خادم Bitwarden الرسمي الأثقل استهلاكًا للموارد.
- تكلفة ثابتة — يكفي خادم VPS بمعالج 1 vCPU و512 ميغابايت للاستخدام الشخصي أو الفريق الصغير، دون اشتراك متغيّر.
- تحكّم كامل في البيانات — يبقى النسخ الاحتياطي والاستعادة واختيار مركز البيانات ومدة الاحتفاظ بين يديك.
- دعم متعدد الملفات الشخصية والمؤسسات — يدعم Vaultwarden إدارة المؤسسات ومشاركة الخزنات تماماً مثل Bitwarden.com.
- تحديثات منفصلة — أنت من يختار توقيت تحديث الخادم؛ بينما يدير عملاء Bitwarden الرسميون دورة إصدارهم الخاصة.
المتطلبات الأساسية قبل البدء
قبل بدء الهجرة، تأكّد من توفّر جميع العناصر التالية.
من جانب الخادم: خادم VPS بمعالج vCPU واحد على الأقل و512 ميغابايت من ذاكرة الوصول العشوائي، مع تثبيت Docker وDocker Compose، واسم نطاق يشير إلى IP الخادم، ووكيل عكسي (Caddy أو Nginx) مهيّأ لإنهاء TLS. يغطّي مقال نشر Vaultwarden على VPS نشر Vaultwarden بالكامل — يفترض هذا الدليل أن نسختك قيد التشغيل ومتاحة عبر HTTPS.
من جانب جهازك المحلي: 1Password v8 أو أحدث (ضروري للتصدير بصيغة .1pux)، وBitwarden CLI (bw) مثبّتاً عبر npm (npm install -g @bitwarden/cli) أو الملف الثنائي الرسمي، وNode.js إصدار 22 أو أعلى إذا اخترت التثبيت عبر npm.
الخطوة 1 — تصدير خزنة 1Password
فتح نافذة التصدير
على macOS، افتح 1Password وانتقل إلى ملف → تصدير. على Windows، انقر على علامة الحذف (…) في أعلى الشريط الجانبي، ثم على تصدير. اختر الحساب المراد تصديره — إذا كان لديك عدة خزنات، يمكنك تصدير الحساب بأكمله في عملية واحدة.
اختيار صيغة 1PUX
في مربع الحوار، أدخل كلمة مرور حساب 1Password لتأكيد العملية. ثم اختر صيغة 1Password Unencrypted Export (.1pux). تحافظ هذه الصيغة المستندة إلى JSON على البنية الكاملة — الحقول المخصصة والملاحظات الآمنة والهويات وكلمات مرور التطبيقات — خلافًا لـ CSV التي لا تصدّر سوى عناصر تسجيل الدخول وكلمات المرور، دون الحقول المخصصة.
حفظ الملف في مكان آمن
اختر مجلداً محلياً مشفّراً (مع تفعيل FileVault أو BitLocker) لتخزين ملف
.1pux. يحتوي هذا الملف على جميع أسرارك في صورة نص صريح منظّم — لا تتركه في مجلد التنزيلات ولا ترسله عبر البريد الإلكتروني. بعد اكتمال الهجرة، احذفه بشكل آمن.
الخطوة 2 — الاستيراد عبر Bitwarden CLI
توجيه CLI نحو نسخة Vaultwarden
يشير
bwافتراضياً إلىbitwarden.com. أعد توجيهه نحو نسختك قبل أي عملية أخرى:bw config server https://vault.votre-domaine.comتحقّق من الاستجابة: يجب أن يعرض CLI «Saved setting
config.»تسجيل الدخول وفتح الخزنة
قم بالمصادقة ببيانات اعتماد Vaultwarden (البريد الإلكتروني + كلمة المرور الرئيسية المُنشأة عند الإعداد الأولي):
bw login [email protected]سيطلب CLI كلمة مرورك الرئيسية بشكل تفاعلي. بعد تسجيل الدخول، افتح الخزنة وصدِّر مفتاح الجلسة:
export BW_SESSION=$(bw unlock --raw)تستخدم جميع الأوامر اللاحقة هذا المتغيّر ضمنياً للوصول إلى الخزنة المفكوكة التشفير.
تشغيل استيراد ملف .1pux
استورد ملف تصدير 1Password باستخدام صيغة
1password1pux:bw import 1password1pux /chemin/vers/export.1puxيردّ CLI بالرسالة
Imported /chemin/vers/export.1pux، وإذا اضطر إلى استبعاد عناصر فإنه يسردها مع السبب. إذا كان حساب 1Password يحتوي على عدة خزنات، تُستورد جميعها في خزنة Bitwarden واحدة، وتُنشأ المجلدات انطلاقًا من أول وسم (tag) لكل عنصر، لا من خزنات 1Password.إذا فشل الاستيراد، تحقّق من أن الملف يحمل الامتداد
.1pux(لا يفكّ CLI ضغط الأرشيف إلا بهذا الامتداد) وأنك تستخدم إصداراً حديثاً من CLI (bw --version).التحقّق من الاستيراد في عميل Bitwarden
افتح إضافة Bitwarden للمتصفح أو تطبيق سطح المكتب، ووجِّه الخادم نحو نسخة Vaultwarden الخاصة بك، ثم سجّل الدخول. تصفّح خزناتك وتحقّق من عيّنة من كلمات المرور — ولا سيما الإدخالات ذات الحقول المخصصة والملاحظات الآمنة والهويات. لا تُستورد المرفقات: أضفها يدويًا. ولا تتضمّن تصديرات 1Password لسطح المكتب مفاتيح المرور (passkeys): أعد إنشاءها على كل موقع.
الخطوة 3 — Vaultwarden على خادم VPS
إذا لم تكن نسخة Vaultwarden لديك مُنشأة بعد، اتبع دليل نشر Vaultwarden على VPS الذي يغطّي تهيئة Docker بالكامل. باختصار، ثلاث نقاط لا غنى عنها قبل استيراد أي شيء:
HTTPS إلزامي. يرفض عملاء Bitwarden الاتصال بخادم بدون TLS صالح. يكفي Caddy أو Nginx مع Let's Encrypt (certbot)؛ تأكّد من إمكانية الوصول إلى نطاقك عبر https:// قبل تهيئة CLI.
متغيّر DOMAIN صحيح. في ملف docker-compose.yml، يجب أن يطابق المتغيّر DOMAIN=https://vault.votre-domaine.com تماماً URL الذي أعلنته في bw config server، بدون شرطة مائلة في النهاية.
نسخ احتياطي للحجم قبل الاستيراد. تكتب عملية الاستيراد في قاعدة بيانات SQLite الخاصة بـ Vaultwarden (/data/db.sqlite3). خذ لقطة من حجم Docker قبل تشغيل bw import حتى تتمكن من التراجع إذا سار الاستيراد بشكل خاطئ.
إغلاق التسجيل بعد ذلك. بعد إنشاء حسابك، اضبط SIGNUPS_ALLOWED=false وأعد إنشاء الحاوية، وإلا أمكن لأي شخص يصل إلى نسختك أن يفتح فيها حسابًا. وإذا فعّلت صفحة الإدارة، فيجب أن يكون ADMIN_TOKEN تجزئة Argon2 مولَّدة بالأمر vaultwarden hash، لا رمزًا بنص صريح.
1Password مقابل Bitwarden.com مقابل Vaultwarden
مرّر الجدول أفقيًا
| المعيار | 1Password | Bitwarden.com | Vaultwarden (self-hosted) |
|---|---|---|---|
| التكلفة السنوية (فردي) | 47.88 دولاراً/سنة منذ 2026 | 19.80 دولاراً/سنة منذ يناير 2026 (مميز) | تكلفة VPS فقط |
| التحكّم في البيانات | خوادم 1Password | خوادم Bitwarden | VPS الخاص بك، مركز بياناتك |
| التشفير | AES-256-GCM من جانب العميل | AES-256-CBC من جانب العميل | AES-256-CBC من جانب العميل (متطابق) |
| عملاء الجوال الرسميون | تطبيقات 1Password المخصصة | iOS، Android، سطح المكتب، إضافة | عملاء Bitwarden الرسميون، بدون تعديل |
| إضافة المتصفح | إضافة 1Password | إضافة Bitwarden | إضافة Bitwarden (نفس الملف الثنائي) |
| التحديثات | تلقائية (SaaS) | تلقائية (SaaS) | يدوية (أنت تختار التوقيت) |
| ذاكرة وصول عشوائي مطلوبة للخادم | غير مطبّق (SaaS) | غير مطبّق (SaaS) | منخفضة (خادم خفيف مكتوب بلغة Rust) |
النسخ الاحتياطي واختبار الاستعادة
بعد اكتمال الاستيراد، أعدّ نسخاً احتياطية تلقائية لحجم Vaultwarden قبل إلغاء تفعيل حساب 1Password. يغطّي دليل النسخ الاحتياطي بـ Restic على VPS استراتيجية 3-2-1 مُكيَّفة مع Docker. اختبر الاستعادة على جهاز منفصل — لا مجرد التحقّق من وجود ملف النسخة الاحتياطية — قبل اعتبار الهجرة منجزة. خزنة كلمات مرور بدون استعادة مُختبَرة ليست نسخة احتياطية حقيقية.
استكشاف الأخطاء وإصلاحها — أخطاء شائعة
خطأ Proper importer type required. عند الاستيراد. الصيغة التي يتوقعها CLI هي بالضبط 1password1pux (متصلة، بأحرف صغيرة). تأكّد من عدم استخدام 1password وحده أو 1pux — فلا أحد منهما صيغة ملف معترف بها (صيغة 1PIF القديمة الخاصة بـ 1Password 7 وما قبله اسمها 1password1pif). استعرض الصيغ المتاحة بالأمر: bw import --formats | grep 1password.
خطأ ERR_CERT_AUTHORITY_INVALID في العملاء. يشترط عملاء Bitwarden شهادة TLS موقَّعة من جهة موثوقة — ولا تُقبل الشهادة الموقَّعة ذاتيًا إلا إذا وثق كل جهاز بالجهة التي أصدرتها. تحقّق من أن Let's Encrypt أصدر شهادة صالحة لنطاقك وأنها غير منتهية الصلاحية.
حساب Bitwarden.com قائم. إذا استوردت من حساب Bitwarden.com قائم قبل التحوّل إلى Vaultwarden، تبقى عناصرك مشفّرة بمفتاح الحساب السحابي. بعد bw config server نحو نسختك، أنشئ حساباً محلياً جديداً: لا يُهاجر CLI مفتاح التشفير بين النسختين.
يتوقف الاستيراد عند إدخال مفتاح SSH. في بعض إصدارات CLI، كان مفتاح SSH واحد غير مطابق للمعايير في ملف 1pux يُفشل الاستيراد كله (Failed to parse key، المشكلة bitwarden/clients #20432). منذ الإصدار 2026.8.0 من CLI (أغسطس 2026)، يُستبعد العنصر المعيب ويُذكر، ويُستورد الباقي؛ أعد إنشاء هذا المفتاح يدويًا. حدِّث باستخدام: npm install -g @bitwarden/cli@latest.
مغادرة 1Password بثقة
بعد التحقّق من الاستيراد في Vaultwarden — افتح كل نوع من العناصر (بيانات تسجيل دخول، ملاحظات، هويات، بطاقات) في عميل Bitwarden وتحقّق من عيّنة تمثيلية — يمكنك إلغاء تفعيل حساب 1Password. لا تنتظر انتهاء اشتراكك لحذف ملف .1pux المحلي.
للمضي قُدُماً في تأمين بنيتك التحتية، يغطّي مقالا تقوية خادم Linux الأولي وPassbolt للفرق الخطوات التالية.