
mboxshell v0.7.1
mboxShell. عارض طرفية سريع لملفات MBOX مهما كان حجمها. افتح رسائل البريد الإلكتروني من النسخ الاحتياطية لـGmail Takeout (50GB+) وابحث فيها وصدّرها دون تحميلها في الذاكرة. مبني بلغة Rust.
mboxShell
عارض طرفي سريع لملفات MBOX بأي حجم. افتح وابحث وصدّر رسائل البريد الإلكتروني من نسخ Gmail Takeout الاحتياطية (50 GB+) دون تحميلها في الذاكرة.
لماذا يوجد هذا المشروع
عند تصدير بريدك الإلكتروني من Gmail باستخدام Google Takeout، تحصل على ملف واحد أو أكثر بامتداد .mbox قد يزن عشرات الجيجابايت — بالإضافة إلى صندوق بريد آخر لكل مجموعة Google تملكها، وهو أمر يسهل تفويته وقد يكون أكبر من تصدير Gmail نفسه. لا يوجد أداة طرفية متعددة المنصات تتيح لك فتح هذه الملفات والبحث فيها وتصفحها بكفاءة دون تحميلها بالكامل في الذاكرة.
تم بناء mboxShell لحل هذه المشكلة: افتح ملف MBOX بحجم 50 GB في ثوانٍ، وتنقّل عبر مئات الآلاف من الرسائل بسلاسة، وابحث حسب المرسل أو التاريخ أو المحتوى، وصدّر ما تحتاجه. كل ذلك من الطرفية، بدون واجهة رسومية، وبدون خادم، وبدون تبعيات خارجية.
حالات الاستخدام
- تصفح نسخ Gmail الاحتياطية (Google Takeout) مع تسمياتها الأصلية
- اقرأ المجموعات التي تملكها، التي يصدّرها Takeout كصناديق بريد خاصة بها — وغالبًا ما تكون أكبر الملفات في الأرشيف
- حلّل أرشيفات البريد على الخوادم، أثناء عمليات الترحيل أو التدقيق
- ابحث في الرسائل داخل ملفات MBOX من أي مصدر (Thunderbird، خوادم Unix، إلخ)
- صدّر الرسائل إلى EML أو CSV أو نص عادي لمزيد من المعالجة
- استخرج المرفقات فرديًا أو دفعة واحدة
- دمج ملفات MBOX متعددة في ملف واحد، مع إزالة التكرارات
أيضًا على Mac: mboxViewer
إذا كنت تفضل تجربة رسومية أصلية على macOS، اطّلع على mboxViewer — تطبيق Mac أصلي بناه الفريق نفسه. يوفر واجهة على نمط صندوق البريد المألوف لفتح ملفات MBOX وتصفحها والبحث فيها دون استيرادها أبدًا إلى عميل بريد. اسحب وأفلت ملف .mbox الخاص بك، وستحصل على وصول فوري إلى جميع رسائلك ومرفقاتك وتسمياتك في نافذة نظيفة أصلية على macOS. مثالي للمستخدمين الذين يريدون قوة محرك التحليل في mboxShell مع راحة واجهة رسومية سطح مكتبية.
أيضًا في متصفحك: Online Mbox Viewer
هل تحتاج إلى إلقاء نظرة على ملف MBOX دون تثبيت أي شيء؟ جرّب Online Mbox Viewer — تطبيق ويب مجاني بترخيص MIT من المؤلف نفسه. يفتح ويعرض ملفات .mbox بالكامل في متصفحك: لا يتم رفع أي شيء إلى أي خادم، لذا يبقى بريدك الإلكتروني على جهازك. مثالي لإلقاء نظرة سريعة من أي جهاز. الكود المصدري على github.com/dcarrero/online-mbox-viewer.
الميزات
- لا يحمّل الملف في الذاكرة أبدًا. يستخدم إدخال/إخراج تدفقي بمخزن مؤقت بحجم 1 MB. ملف MBOX بحجم 100 GB يستخدم تقريبًا نفس الـ ~500 MB من الذاكرة العشوائية مثل ملف بحجم 1 GB (فقط فهرس البيانات الوصفية يبقى في الذاكرة).
- فهرسة دائمة. الفتح الأول ينشئ فهرسًا ثنائيًا (
.mboxshell.idx) بحيث تستغرق عمليات الفتح اللاحقة أقل من ثانية. - دعم كامل لـ Gmail. يكتشف ويعرض
X-Gmail-Labelsكمجلدات افتراضية في لوحة جانبية، مما يتيح لك التصفية حسب Inbox وSent وStarred والتسميات المخصصة، إلخ. - صناديق بريد Google Groups. يقرأ ملفات
topics.mboxالتي يرفقها أرشيف Takeout لكل مجموعة تملكها، ويسميها باسم المجموعة بدلًا من اسم الملف الذي لا معنى له، ويعرض المجموعة كتسمية افتراضية، ويجمع المحادثات حسب المعرّف الدقيقX-GM-THRID. - ترميزات صحيحة. يفكّ ترميز الكلمات المشفرة وفق RFC 2047، ويدعم UTF-8 وISO-8859-1 وWindows-1252 وKOI8-R وأي مجموعة محارف يتعرف عليها
encoding_rs. - تجميع المحادثات. يجمع الرسائل في سلاسل باستخدام خوارزمية JWZ (نفس الخوارزمية المستخدمة في Netscape/Mozilla)، أو معرّف المحادثة الخاص بصندوق البريد عندما يكون متاحًا.
- بحث متقدم. تصفية حسب الحقل (
from:،subject:،date:،body:،has:attachment،label:، إلخ)، ونطاقات التاريخ، ومرشحات الحجم، ومعاملات AND/OR، والنفي. - تصدير مرن. تصدير فردي أو جماعي إلى EML أو CSV (متوافق مع Excel) أو نص عادي أو HTML أو MBOX جديد أو Maildir. استخراج المرفقات المفكوكة الترميز.
- ملف تنفيذي واحد. بدون بيئة تشغيل، وبدون تبعيات. ملف تنفيذي بحجم ~5 MB يعمل على Linux وmacOS وWindows.
- واجهة طرفية كاملة. تنقل بلوحة المفاتيح (بنمط vi)، وثلاثة أنماط تخطيط، وشريط بحث تفاعلي، واختصارات قابلة للتخصيص.
- ثنائي اللغة. الواجهة متاحة بالإنجليزية والإسبانية، ويتم اكتشافها تلقائيًا من إعدادات اللغة في النظام.
التثبيت
ملفات تنفيذية جاهزة (موصى به)
نزّل أحدث إصدار لمنصتك من صفحة Releases:
| المنصة | الملف التنفيذي |
|---|---|
| Linux x86_64 | mboxshell-linux-x86_64 |
| Linux ARM64 | mboxshell-linux-aarch64 |
| Linux RISC-V 64 | mboxshell-linux-riscv64 |
| FreeBSD x86_64 | mboxshell-freebsd-x86_64 |
| macOS Intel | mboxshell-macos-x86_64 |
| macOS Apple Silicon | mboxshell-macos-aarch64 |
| Windows x86_64 | mboxshell-windows-x86_64.exe |
| Windows ARM64 | mboxshell-windows-arm64.exe |
بعد التنزيل، اجعله قابلًا للتنفيذ وانقله إلى مسار PATH الخاص بك:
# Linux / macOS
chmod +x mboxshell-*
sudo mv mboxshell-* /usr/local/bin/mboxshell
# Or place it in a user-local directory
mv mboxshell-* ~/.local/bin/mboxshell
على Windows، انقل mboxshell-windows-x86_64.exe إلى مجلد في PATH الخاص بك، أو شغّله مباشرة.
البناء من المصدر
المتطلبات: Rust 1.85 أو أحدث.
# Clone and build
git clone https://github.com/dcarrero/mboxshell.git
cd mboxshell
cargo build --release
# The binary is at target/release/mboxshell
# Install it system-wide:
sudo cp target/release/mboxshell /usr/local/bin/
# Or for the current user only:
cp target/release/mboxshell ~/.local/bin/
الترجمة المتقاطعة لمنصات أخرى
# Add the target you need
rustup target add aarch64-apple-darwin # macOS Apple Silicon
rustup target add x86_64-unknown-linux-gnu # Linux x86_64
rustup target add aarch64-unknown-linux-gnu # Linux ARM64
# Build for a specific target
cargo build --release --target aarch64-apple-darwin
التثبيت عبر Cargo
cargo install --git https://github.com/dcarrero/mboxshell.git
البدء السريع
# Open an MBOX file in the terminal UI
mboxshell mail.mbox
# Index and show statistics
mboxshell index mail.mbox
mboxshell stats mail.mbox
# Search from the command line
mboxshell search mail.mbox "from:[email protected] date:2024"
mboxshell search mail.mbox "has:attachment subject:invoice" --json
# Export messages
mboxshell export mail.mbox --format eml --output ./emails/
mboxshell export mail.mbox --format csv --output summary.csv
# Hand over only part of an archive: a new mailbox with just the matches
mboxshell export mail.mbox --format mbox --query "from:[email protected]" -o handover.mbox
# Convert to Maildir (read/replied/flagged state kept as Maildir flags)
mboxshell export mail.mbox --format maildir -o ~/Maildir/Archive
# Extract attachments
mboxshell attachments mail.mbox --output ./attachments/
# Merge multiple MBOX files (duplicates are removed by default)
mboxshell merge file1.mbox file2.mbox -o merged.mbox
# Merge tagging every message with the mailbox it came from
mboxshell merge Inbox.mbox Sent.mbox -o merged.mbox --source-header
# Generate shell completions
mboxshell completions bash > /etc/bash_completion.d/mboxshell
mboxshell completions zsh > ~/.zfunc/_mboxshell
mboxshell completions fish > ~/.config/fish/completions/mboxshell.fish