n8n-whatsapp-media-decrypt
v1.0.0
Published
Custom n8n node for decrypting WhatsApp encrypted media files (.enc)
Maintainers
Readme
WhatsApp Media Decrypt - n8n Custom Node
إضافة مخصصة لـ n8n لفك تشفير ملفات WhatsApp المشفرة (.enc) باستخدام mediaKey.
🧱 ما هي هذه الإضافة؟
هذه إضافة مخصصة (Custom Node) لـ n8n تتيح لك فك تشفير ملفات WhatsApp المشفرة تلقائياً باستخدام مفتاح الوسائط (mediaKey). تعمل الإضافة مع جميع أنواع ملفات الوسائط في WhatsApp مثل:
- الرسائل الصوتية (Audio Messages)
- الرسائل المرئية (Video Messages)
- الصور (Image Messages)
- المستندات (Document Messages)
- الملصقات (Sticker Messages)
📋 المتطلبات
- Node.js 18+
- n8n framework
- مفتاح الوسائط (mediaKey) للملف المشفر
- رابط الملف المشفر (.enc)
ملاحظة مهمة: هذا المشروع يتطلب n8n framework. وحدات n8n-workflow و n8n-core متوفرة كـ peerDependencies وستكون متاحة عند تشغيل المشروع داخل بيئة n8n.
🚀 التثبيت
التثبيت كـ Custom Node في n8n موجود
انسخ مجلد
WhatsAppDecryptإلى مجلد nodes في مشروع n8n الخاص بك:n8n/packages/nodes-base/nodes/WhatsAppDecrypt/أضف المكتبات المطلوبة إلى package.json:
{ "dependencies": { "axios": "^1.6.0", "whatsapp-media-decrypt": "^1.0.0" } }ابني المشروع:
npm run build
التثبيت كـ Standalone Package
استنسخ هذا المشروع:
git clone <repository-url> cd n8n-whatsapp-media-decryptثبت المكتبات:
npm installابني المشروع:
npm run buildاربط الحزمة مع n8n:
npm link cd /path/to/your/n8n npm link n8n-whatsapp-media-decrypt
🛠️ كيفية الاستخدام
المدخلات المطلوبة:
- Media URL (مطلوب): رابط الملف المشفر (.enc)
- Media Key (مطلوب): مفتاح الوسائط (base64 encoded)
- Media Type (مطلوب): نوع الرسالة (audioMessage, videoMessage, etc.)
- Output Format (اختياري): تنسيق الإخراج (Binary Data أو Base64 String)
- File Extension (اختياري): امتداد الملف المطلوب
المخرجات:
- Binary Data: الملف المفكوك كـ binary data (افتراضي)
- Base64 String: الملف المفكوك كـ base64 string
- Metadata: معلومات إضافية عن الملف (الحجم، التوقيت، إلخ)
مثال على الاستخدام:
// في n8n workflow
{
"url": "https://example.com/encrypted-media.enc",
"mediaKey": "base64-encoded-media-key",
"mediaType": "audioMessage",
"outputFormat": "binary",
"fileExtension": ".ogg"
}📁 هيكل المشروع
src/
├── nodes/
│ └── WhatsAppDecrypt/
│ ├── WhatsAppDecrypt.node.ts
│ └── whatsapp.svg
└── index.ts🔧 التطوير
أوامر التطوير:
# بناء المشروع
npm run build
# تطوير مع watch mode
npm run dev
# فحص الكود
npm run lint
# إصلاح مشاكل الكود
npm run lint:fixإضافة ميزات جديدة:
- عدّل الملف
src/nodes/WhatsAppDecrypt/WhatsAppDecrypt.node.ts - أضف المعاملات الجديدة في
propertiesarray - عدّل منطق التنفيذ في
executemethod - ابني المشروع واختبر التغييرات
🐛 استكشاف الأخطاء
مشاكل شائعة:
"Cannot find module 'whatsapp-media-decrypt'"
- تأكد من تثبيت المكتبة:
npm install whatsapp-media-decrypt
- تأكد من تثبيت المكتبة:
"Failed to download file"
- تحقق من صحة رابط الملف
- تأكد من الاتصال بالإنترنت
"Decryption failed"
- تحقق من صحة mediaKey
- تأكد من نوع الرسالة الصحيح
"Invalid media type"
- استخدم أحد الأنواع المدعومة: audioMessage, videoMessage, imageMessage, documentMessage, stickerMessage
🤝 المساهمة
المساهمات مرحب بها! يرجى:
- إنشاء fork للمشروع
- إنشاء branch للميزة الجديدة
- تطبيق التغييرات مع اختبارات
- إرسال Pull Request
📝 الترخيص
MIT License
📞 الدعم
إذا واجهت مشاكل أو لديك أسئلة، يرجى:
- فتح issue في GitHub
- التحقق من الوثائق
- مراجعة المشاكل الشائعة في قسم استكشاف الأخطاء
ملاحظة مهمة: هذه الإضافة للأغراض التعليمية والتطويرية. تأكد من الامتثال لشروط خدمة WhatsApp وقوانين الخصوصية المحلية عند استخدامها.
