اختيار الإعدادات المسبقة
الإعدادات المسبقة هي تكوينات أولية. اختر إعدادًا مسبقًا، ثم راجع الخيارات الفعلية لإصدار المشوِّش المحدد.
شاهد
Which Obfuscator.io Preset Should I Use? VM Low vs Default vs High
في الإصدار 8.0.0 وما بعده، يُوصى بالإعداد المسبق VM Default نقطةَ بداية للإنتاج. يناسب VM Low التقييم الأولي لأن VM Self Defending وVM Debug Protection معطّلان فيه. تفعّل إعدادات VM المسبقة الأخرى كليهما. في خطة Free لا تعرض لوحة التحكم إلا VM Low؛ أما إعدادات VM المسبقة الأخرى وخيارات VM الخاصة بها فتتطلب خطة مدفوعة.
VM (8.0.0 وما بعده)
| optionsPreset | ما الذي يتغير |
|---|---|
vm-low-obfuscation | يبدأ VM Low بدفاعات VM أقل ويترك stringArray وvmBytecodeArrayEncoding معطَّلين. استخدمه لتقييم تشويش VM، لا أساسًا لبناء الاختبار. |
vm-default | يجمع VM Default بين VM وحماية String Array والدفاعات المتقدمة. ابدأ به للإنتاج. |
vm-high-obfuscation | يضيف VM High خيارات Stateful Opcodes وStack Encoding وCompact Dispatcher. قِس التكلفة على كودك. |
vm-ultra-high-obfuscation | يُبقي VM Ultra High على Stateful Opcodes وStack Encoding لكن دون Compact Dispatcher، ويضيف تسطيح تدفق التحكم وتحويلات أساسية إضافية. يؤدي ذلك إلى انخفاض كبير في الأداء أثناء التشغيل. |
في الإصدار 8.0.0 وما بعده، يعطي vm-anti-llm (VM Anti-LLM) وvm-medium-obfuscation (VM Medium) الخيارات نفسها التي يعطيها vm-default، ولم يعودا خيارين منفصلين في لوحة التحكم. قد تعرضهما الإصدارات القديمة بصورة مستقلة.
التشويش الأساسي
| optionsPreset | selfDefending | debugProtection | disableConsoleOutput |
|---|---|---|---|
default | false | false | false |
low-obfuscation | true | false | true |
medium-obfuscation | true | false | true |
high-obfuscation | true | true | true |
قد تزيد الإعدادات المسبقة الأثقل حجم الناتج ووقت التنفيذ. قِس وقت البدء والمسارات المتكررة وحجم الحزمة المضغوطة لكودك بدل الاعتماد على معاملات تباطؤ ثابتة. لحماية دوال محددة، راجع استهداف دوال بعينها.
لبناء عبر API، اجلب خيارات إعداد مسبق مدمج لإصدار المشوِّش الذي تستخدمه من نقطة نهاية الإعدادات المسبقة، وأرسلها بوصفها options (انظر مرجع API).
الإعدادات المسبقة المخصصة
الإعدادات المسبقة المدمجة هي نقاط انطلاق. كلما عدّلت شيئًا فوق أحدها، احفظ النتيجة بدلًا من إعادة بنائها في المرة التالية: اختر إعداد مسبق جديد في مكتبة الإعدادات المسبقة أعلى لوحة الخيارات. يخزّن الإعداد المسبق كل خيار كما هو مضبوط الآن، تحت اسم تختاره ووصف اختياري؛ ولا يخزّن إصدار المشوِّش، لذا يُطبَّق الإصدار المحدد وقت البناء. تظهر الإعدادات المسبقة التي حفظتها ضمن مخصصة. الإعدادات المسبقة المخصصة متاحة في خطط Pro وما فوق، بحد أقصى 20 لكل حساب.
انقر على بطاقة أي إعداد مسبق لتطبيقه على لوحة الخيارات. وبمجرد أن تغيّر خيارًا، يُوسَم الإعداد المسبق المطبَّق بأنه مُعدَّل: يعيد التراجع عن التغييرات خياراته كما كانت، وفي إعداداتك المسبقة الخاصة يحفظ تحديث الإعداد المسبق التغييرات فيه. وقبل أن يستبدل إعداد مسبق آخر تغييرات غير محفوظة، يُطلب منك التأكيد. التعديل والنسخ والحذف موجودة في قائمة الإعداد المسبق. الترتيب الشائع هو إعداد مسبق واحد للإنتاج ونسخة اختبار منه تضيف التجاوزات الواردة في الاختبار وCI، كي يُجري البناءان التحويلات نفسها.
حقلان إضافيان في نافذة الحفظ يأخذان الإعداد المسبق إلى ما هو أبعد من لوحة التحكم الخاصة بك:
- مشاركة مع فريقي ينشره إلى فريقك، حيث يمكن أن يصبح أيضًا الإعداد الافتراضي للفريق. لا يرى هذا المفتاح إلا مالك الفريق. انظر الإعدادات المسبقة المشتركة.
- الاسم المستعار لواجهة API يتيح للبناء استخدام الإعداد المسبق بالاسم: في حزمة
javascript-obfuscator(الإصدار 5.8.0 فأحدث)، يؤدي ضبطoptionsPresetعلى الاسم المستعار إلى جلب خيارات الإعداد المسبق وقت البناء، فتبقى الإعدادات في لوحة التحكم ويصل أي تغيير فيها إلى البناء التالي دون أي إيداع في المستودع. أما طلب API المباشر فيجلب الخيارات من نقطة نهاية الإعدادات المسبقة في طلب منفصل (انظر مرجع API). انظر استخدام حزمة NPM.
