المهارات routeros-app-yaml
📦

routeros-app-yaml

آمن ⚙️ الأوامر الخارجية🌐 الوصول إلى الشبكة

كتابة تكوينات YAML لحاويات RouterOS

إنشاء والتحقق من صحة تكوينات YAML لتطبيقات حاويات MikroTik RouterOS. تساعدك هذه المهارة في تعريف الخدمات والمنافذ ومجلدات التخزين والشبكات لنظام /app في RouterOS دون الحاجة لمعرفة docker-compose.

يدعم: Claude Codex Code(CC)
🥉 73 برونزي
1

تنزيل ZIP المهارة

2

رفع في Claude

اذهب إلى Settings → Capabilities → Skills → Upload skill

3

فعّل وابدأ الاستخدام

اختبرها

استخدام "routeros-app-yaml". إنشاء YAML لـ /app لحاوية Home Assistant مع تخزين مستمر على المنفذ 8123

النتيجة المتوقعة:

  • ملف YAML يحتوي على أقسام name و services و volumes و networks.
  • تستخدم خدمة الويب صورة ghcr.io/home-assistant/home-assistant مع تعيين المنفذ 8123.
  • يتم تركيب مجلد تخزين مسمى home-assistant-config على /config.
  • تم تعيين سياسة إعادة التشغيل إلى always للموثوقية.

استخدام "routeros-app-yaml". عرض الفرق بين تنسيقات المنافذ القديمة والجديدة في YAML لـ RouterOS

النتيجة المتوقعة:

  • يستخدم نمط OCI القديم شرطة مائلة قبل البروتوكول: 8080:80/tcp
  • يستخدم نمط RouterOS 7.23 الجديد نقطتين رأسيتين: 8080:80:web:tcp
  • كلا التنسيقين صالح. يجب تفضيل نمط النقطتين الرأسية في النشر الجديد من الإصدار 7.23beta2.
  • تعمل صيغة الكائن الطويلة مع حقول target و published و protocol في جميع الإصدارات.

التدقيق الأمني

آمن
v2 • 4/16/2026

All 159 static analysis findings are false positives. The skill contains only documentation and YAML configuration examples for RouterOS container applications. There is no executable code, no actual shell commands, no network requests, and no credential handling. The static scanner flagged YAML examples in markdown code blocks as security risks (for example, backticks in YAML values, example URLs in documentation, and placeholder IP addresses in configuration samples). After manual review, no genuine security issues were found.

2
الملفات التي تم فحصها
453
الأسطر التي تم تحليلها
5
النتائج
2
إجمالي عمليات التدقيق
مشكلات منخفضة المخاطر (3)
False positive: External command detection in YAML documentation
The static scanner flagged 132 locations as external command execution. These are YAML configuration examples and markdown documentation, not executable code. Examples include shell commands in YAML entrypoint values (for example, nginx -g daemon off in SKILL.md line 32 and references/examples.md line 31) and backtick-formatted text in markdown. No actual command execution exists.
False positive: Network pattern detection in documentation URLs
The static scanner flagged 13 locations as network risks including hardcoded URLs, hardcoded IP addresses, and fetch API calls. All are documentation examples: example.com URLs in YAML samples (references/examples.md lines 19, 21), example IP addresses like 192.168.1.1 in port mapping examples (SKILL.md line 110, references/examples.md line 145), and TypeScript fetch snippets showing RouterOS REST API usage (SKILL.md lines 216, 222). No actual network requests are made by this skill.
False positive: Blocker patterns misidentified in YAML content
The static scanner flagged weak cryptographic algorithms, Windows SAM database references, LLM role token injection, and system reconnaissance patterns. None of these patterns exist in the actual file content. The scanner likely misidentified YAML property names or markdown formatting as security threats.

عوامل الخطر

⚙️ الأوامر الخارجية (132)
references/examples.md:5-12 references/examples.md:12-16 references/examples.md:16-105 references/examples.md:105-109 references/examples.md:109-134 references/examples.md:134-138 references/examples.md:138-161 references/examples.md:161-165 references/examples.md:165-176 references/examples.md:31 SKILL.md:8 SKILL.md:8 SKILL.md:8 SKILL.md:12 SKILL.md:15 SKILL.md:16 SKILL.md:17 SKILL.md:19 SKILL.md:25 SKILL.md:26 SKILL.md:30 SKILL.md:32 SKILL.md:33 SKILL.md:33 SKILL.md:33 SKILL.md:39 SKILL.md:40 SKILL.md:41 SKILL.md:42 SKILL.md:43 SKILL.md:43 SKILL.md:44 SKILL.md:44 SKILL.md:45 SKILL.md:45 SKILL.md:46 SKILL.md:47 SKILL.md:48 SKILL.md:49 SKILL.md:50 SKILL.md:51 SKILL.md:52 SKILL.md:56-61 SKILL.md:61-67 SKILL.md:67 SKILL.md:67-71 SKILL.md:71 SKILL.md:71 SKILL.md:71-72 SKILL.md:72 SKILL.md:72-73 SKILL.md:73-74 SKILL.md:74-75 SKILL.md:75-76 SKILL.md:76-77 SKILL.md:77 SKILL.md:77 SKILL.md:77-78 SKILL.md:78 SKILL.md:78-79 SKILL.md:79 SKILL.md:79-80 SKILL.md:80 SKILL.md:80 SKILL.md:80 SKILL.md:80 SKILL.md:80-81 SKILL.md:81-82 SKILL.md:82-83 SKILL.md:83-84 SKILL.md:84-85 SKILL.md:85-86 SKILL.md:86-87 SKILL.md:87 SKILL.md:87-88 SKILL.md:88-89 SKILL.md:89-90 SKILL.md:90-91 SKILL.md:91-92 SKILL.md:92-93 SKILL.md:93-101 SKILL.md:101-103 SKILL.md:103-106 SKILL.md:106-111 SKILL.md:111-115 SKILL.md:115-117 SKILL.md:117-120 SKILL.md:120-125 SKILL.md:125-129 SKILL.md:129-136 SKILL.md:136-141 SKILL.md:141-145 SKILL.md:145-153 SKILL.md:153-154 SKILL.md:154-155 SKILL.md:155-156 SKILL.md:156-157 SKILL.md:157-163 SKILL.md:163-165 SKILL.md:165-181 SKILL.md:181-185 SKILL.md:185-193 SKILL.md:193-197 SKILL.md:197-199 SKILL.md:199-208 SKILL.md:208-210 SKILL.md:210-214 SKILL.md:214-216 SKILL.md:216-222 SKILL.md:222-227 SKILL.md:227-229 SKILL.md:229-237 SKILL.md:237 SKILL.md:237-238 SKILL.md:238-240 SKILL.md:240-245 SKILL.md:245-252 SKILL.md:252-254 SKILL.md:254-259 SKILL.md:259 SKILL.md:259-260 SKILL.md:260 SKILL.md:260 SKILL.md:260 SKILL.md:260-265 SKILL.md:265-267 SKILL.md:267-268 SKILL.md:268 SKILL.md:268-269 SKILL.md:269 SKILL.md:269-273 SKILL.md:273-274
🌐 الوصول إلى الشبكة (13)
تم تدقيقه بواسطة: claude عرض سجل التدقيق →

درجة الجودة

41
الهندسة المعمارية
100
قابلية الصيانة
87
المحتوى
32
المجتمع
99
الأمان
100
الامتثال للمواصفات

ماذا يمكنك بناءه

تعريف تطبيق حاوية لـ RouterOS

يكتب مسؤول الشبكة YAML لنشر مجموعة مراقبة تتضمن Grafana و Prometheus على جهاز توجيه MikroTik باستخدام نظام /app الفرعي.

ترحيل مشاريع docker-compose إلى RouterOS

يقوم المطور بتعديل تكوين docker-compose موجود إلى صيغة YAML الخاصة بـ /app في RouterOS، مع ضبط صيغة المنافذ وإزالة الخصائص غير المدعومة.

إنشاء متجر تطبيقات لنشر الفريق

يبني مهندس النظام ملف YAML بصيغة tikappstore يحتوي على تطبيقات مهيأة مسبقاً لنشر متسق عبر عدة أجهزة RouterOS.

جرّب هذه الموجهات

إنشاء تعريف /app أساسي
اكتب ملف YAML لـ /app في RouterOS يشغّل حاوية nginx على المنفذ 8080 مع مجلد تخزين مسمى للبيانات المستمرة.
تحويل docker-compose إلى YAML لـ RouterOS
حوّل ملف docker-compose هذا إلى صيغة YAML الخاصة بـ /app في RouterOS. أبرز أي خصائص غير مدعومة أو تعمل بشكل مختلف.
إنشاء تطبيق متعدد الخدمات
اكتب YAML لـ /app في RouterOS يحتوي على واجهة ويب وقاعدة بيانات PostgreSQL وذاكرة تخزين مؤقت Redis. تضمين تركيبات مجلدات التخزين المناسبة وعزل الشبكة وفحوصات الحالة.
بناء ملف متجر تطبيقات
أنشئ ملف YAML لمتجر تطبيقات RouterOS يحتوي على ثلاثة تطبيقات: خادم ويب، ومدير قاعدة بيانات، ولوحة مراقبة. يجب أن يحتوي كل منها على فئات وبيانات وصفية مناسبة.

أفضل الممارسات

  • استخدم دائماً الامتداد .tikapp.yaml لتعريفات تطبيقات RouterOS المخصصة لتمييزها عن ملفات YAML العامة.
  • استخدم.variant *.editor.json من المخطط أثناء التطوير للحصول على إكمال تلقائي أفضل، ثم تحقق من الصحة مقابل *.latest.json قبل النشر.
  • اختبر YAML على جهاز RouterOS CHR الافتراضي قبل النشر على الأجهزة الفعلية لاكتشاف أخطاء المخطط مبكراً.

تجنب

  • افتراض التوافق الكامل مع docker-compose. يدعم /app في RouterOS مجموعة فرعية فقط من خصائص compose ويتعامل مع بعضها بشكل مختلف.
  • استخدام المفتاح version على المستوى الأعلى. يتجاهل RouterOS هذا المفتاح ولا يخدم أي غرض في YAML الخاص بـ /app.
  • خلط أنماط تنسيق المنافذ ضمن سلسلة منفذ واحدة. يجب أن يستخدم كل إدخال منفذ إما نمط OCI القديم أو نمط النقطتين الرأسية الجديد حصرياً.

الأسئلة المتكررة

ما إصدار RouterOS الذي أحتاجه لـ YAML الخاص بـ /app؟
المسار /app مدمج بدءاً من RouterOS 7.21. يتطلب إنشاء تطبيق مخصص عبر /app/add الإصدار 7.22 أو أحدث. يجب أيضاً تثبيت حزمة container الإضافية.
هل YAML الخاص بـ /app في RouterOS هو نفسه docker-compose؟
لا. يبدو YAML الخاص بـ /app في RouterOS مشابهاً لـ docker-compose لكنه يدعم خصائص أقل. بعض الخصائص مثل deploy و resources غير مدعومة. كما يختلف صيغة تعيين المنافذ بينهما.
ما امتداد الملف الذي يجب استخدامه لملفات YAML الخاصة بـ /app؟
استخدم .tikapp.yaml لتعريفات التطبيقات الفردية و .tikappstore.yaml لملفات متجر التطبيقات. تساعد هذه الاصطلاحات الأدوات والمحررات في تطبيق المخطط الصحيح.
كيف تعمل العناصر النائبة في YAML الخاص بـ RouterOS؟
يتم توسيع العناصر النائبة مثل [accessIP] و [accessPort] و [containerIP] و [routerIP] في وقت النشر بواسطة RouterOS. تظهر في تعيينات المنافذ وقيم البيئة ومحتوى التكوين.
هل يمكنني استخدام متغيرات بيئة بأسماء بأحرف صغيرة؟
يتطلب مخطط التحقق الصارم أسماء متغيرات بيئة بأحرف كبيرة تطابق النمط [A-Z_][A-Z0-9_]*. استخدم variant المحرر من المخطط إذا كنت بحاجة إلى أسماء متغيرات بأحرف مختلطة.
كيف أضيف تطبيقاً مخصصاً إلى RouterOS؟
استخدم أمر CLI المسمى /app/add مع المعلمة yaml-url التي تشير إلى عنوان URL لملف YAML الخاص بك. بدلاً من ذلك، استخدم نقطة نهاية PUT في REST API على /app مع yaml-url في جسم الطلب.

تفاصيل المطور

المؤلف

tikoci

الترخيص

MIT

مرجع

main

بنية الملفات