EasyOnline Git Manager – פריסת תוספים מ-GitHub ללא מאמץ

פריסת תוספים ותבניות WordPress ישירות מ-GitHub – ללא העלאות ZIP ידניות

EasyOnline Git Manager הוא תוסף מקצועי שמאפשר לך לפרוס ולעדכן תוספים ותבניות WordPress ישירות מ-GitHub בלחיצה אחת. שכחו מהעלאות ZIP ידניות, טעויות בגרסאות ואיבוד סינכרון – עכשיו הכל מתבצע באופן אוטומטי ומאובטח.

התוסף מתאים למפתחים, סוכנויות דיגיטל וצוותים שעובדים עם מאגרי קוד פרטיים ורוצים לשמור על תהליך פריסה מסודר ויעיל.

✨ למה לבחור ב-EasyOnline Git Manager?

  • 🔐 אבטחה מתקדמת – הצפנת AES-256-CBC לאסימונים, אימות ZIP, הגנה מפני Directory Traversal ו-Rate Limiting
  • 📦 תמיכה ב-Monorepos – פריסה של תוספים מתוך תיקיות משנה במאגר אחד גדול
  • 🚀 פריסה מהירה – הורדה, חילוץ והתקנה אוטומטית בלחיצת כפתור אחת
  • 🔄 הפעלה אוטומטית – אפשרות להפעיל תוסף/תבנית באופן אוטומטי לאחר הפריסה
  • 🕐 מעקב אחר פריסות – תיעוד מלא של כל פריסה עם תאריך ושעה
  • 🌍 תמיכה רב-לשונית – ממשק בעברית, אנגלית, ערבית, גרמנית, הינדי, קוריאנית, רוסית וסינית

🔒 מאפייני אבטחה

התוסף פותח עם דגש מיוחד על אבטחת מידע ועמידה בתקני WordPress המחמירים ביותר:

  • הצפנת אסימוני GitHub – כל אסימון אישי (Personal Access Token) מוצפן באמצעות AES-256-CBC עם מפתח גזירה מאימות WordPress
  • אימות קובצי ZIP – בדיקת Content-Type וחתימת Magic Bytes למניעת העלאת קבצים זדוניים
  • הגנה מפני Directory Traversal – אימות שכל נתיב תיקייה תקין ולא כולל רצפי ../
  • Rate Limiting – הגבלה של 10 פריסות ל-5 דקות למשתמש למניעת שימוש לרעה
  • אימות Nonce – כל פעולת ניהול דורשת Nonce תקף למניעת CSRF
  • בדיקות הרשאות – רק משתמשים עם הרשאת manage_options יכולים לגשת לתוסף

📥 התקנה ותצורה

שלב 1: התקנת התוסף

  1. העתיקו את תיקיית git-manager לתוך wp-content/plugins
  2. הפעילו את EasyOnline Git Manager דרך תוספים → תוספים מותקנים
  3. פריט תפריט חדש Git Manager יופיע בלוח הבקרה של WordPress

שלב 2: חיבור ל-GitHub

  1. היכנסו לGit Manager → GitHub connection
  2. צרו Personal Access Token ב-GitHub עם הרשאת repo (למאגרים פרטיים)
  3. הדביקו את האסימון בשדה המיוחד ושמרו
  4. הגדירו את ה-Default Owner, Default Repository ושאר ההגדרות לפי הצורך

שלב 3: הוספת פרויקט

  1. גללו לסעיף Add new project
  2. הזינו את המאגר בפורמט owner/repo
  3. הגדירו את ה-Local Slug (שם התיקייה המקומית)
  4. אם המאגר כולל תוסף בתוך תיקיה משנית, ציינו את הנתיב (כמו plugins/my-plugin)
  5. סמנו האם להפעיל אוטומטית אחרי הפריסה
  6. לחצו על Add project

שלב 4: פריסת התוסף

  1. בחרו את הפרויקט שרצונכם לפרוס מהרשימה Connected projects
  2. לחצו על Deploy now
  3. התוסף יוריד את הארכיון מ-GitHub, יחלץ אותו, יעתיק ל-wp-content/plugins או wp-content/themes ויפעיל במידת הצורך

⚙️ הגדרות מתקדמות

הגדרהתיאור
Personal Access Tokenשמירת אסימון GitHub (עם הרשאת repo למאגרים פרטיים)
Default Ownerהגדרת ברירת מחדל ל-Owner/Org בעת הוספת פרויקט
Default Repositoryמילוי אוטומטי של שדה המאגר לפרויקטים חדשים
SSL Verificationאימות תעודת SSL (מומלץ לפרודקשן)
Default Branch/Tagמילוי מראש של שדה ה-Branch או Tag
Default Content Typeבחירה בין Plugin או Theme כברירת מחדל
Theme/Plugin Base Pathsנתיבי משנה אופציונליים למילוי אוטומטי (ללא ../)
Default Plugin Entry Fileקובץ הכניסה הראשי לתוסף (אם לא מוגדר ידנית)
Default Auto-Activationסימון אוטומטי של הפעלה לאחר פריסה

מפתחים יכולים לשנות את ההרשאה הנדרשת דרך הפילטר easyonline_git_manager_capability.

🛠️ שימוש למפתחים

התוסף בנוי עם ארכיטקטורה מודולרית וניתן להרחיב אותו בקלות:

  • מחלקות ליבה: Plugin, Admin_Page, Repository_Store, GitHub_Client, Installer
  • הרחבת ה-GitHub_Client – ניתן להתאים את המחלקה לעבודה עם GitLab, Bitbucket או ספקי Git אחרים
  • אפשרויות במסד הנתונים: easyonline_git_manager_settings, easyonline_git_manager_repositories
  • תרגומים – אנגלית היא שפת ברירת המחדל, כולל תרגום מלא לעברית ועוד 6 שפות נוספות

🐛 פתרון בעיות נפוצות

❌ Repository not found
ודאו שהמאגר קיים ב-GitHub, שהאסימון תקף ושיש לו הרשאת repo למאגרים פרטיים.

❌ Activation failed
בדקו את הודעת השגיאה, נסו להפעיל את התוסף ידנית דרך מסך התוספים ובדקו את לוגי ה-PHP בשרת.

❌ Archive structure mismatch
ודאו שהנתיב שציינתם בשדה Subdirectory מכוון בדיוק לתיקיית התוסף/תבנית במאגר.

❌ Rate limit exceeded
יותר מ-10 פריסות ב-5 דקות. המתינו מספר דקות ונסו שוב.

📝 שינויים ושדרוגים

גרסה 1.0.1

  • שיפורי אבטחה: הצפנת AES-256-CBC לאסימוני GitHub
  • אימות קובצי ZIP (Content-Type וחתימת Magic Bytes)
  • הוספת Rate Limiting (10 פריסות ל-5 דקות למשתמש)
  • הגנה משופרת מפני Directory Traversal עם אימות realpath()
  • מניעת Log Injection
  • שיפור אימות Nonce ובדיקות הרשאות
  • הוספת קובץ uninstall.php להסרה נקייה של התוסף
  • עדכון פרטי מחבר וכתובות

גרסה 1.0.0

  • שחרור ציבורי ראשון
  • ממשק אנגלי, תרגום מלא לעברית ותיעוד מוכן ל-WordPress.org
  • הוספת תיעוד פריסות, מתגי הפעלה אוטומטית ותמיכה בתיקיות משנה במאגר

📄 רישיון וזכויות

EasyOnline Git Manager משוחרר תחת רישיון GPL-2.0-or-later.

מחבר: אדיר ביטון | easyonline.co.il

🔗 קישורים שימושיים

💬 שאלות נפוצות

האם התוסף עובד עם מאגרים פרטיים?
כן! התוסף תומך במאגרים פרטיים דרך Personal Access Token של GitHub עם הרשאת repo.

האם ניתן לפרוס תוספים מתוך Monorepo?
בהחלט. ניתן לציין נתיב תיקייה משנית כדי לחלץ רק את החלק הרלוונטי מהמאגר.

האם האסימון שלי מאוחסן בצורה מאובטחת?
כן. האסימון מוצפן באמצעות AES-256-CBC לפני השמירה במסד הנתונים ומפוענח רק בעת שימוש.

האם התוסף עובד עם GitLab או Bitbucket?
כרגע התוסף תומך רק ב-GitHub, אבל הוא בנוי באופן מודולרי וניתן להרחיב את מחלקת GitHub_Client לתמיכה בספקים נוספים.

מה קורה אם הפריסה נכשלה?
התוסף יציג הודעת שגיאה מפורטת בממשק הניהול ויכתוב את הפרטים ללוג ה-PHP. ניתן לבדוק את הלוג לזיהוי מדויק של הבעיה.

📞 תמיכה ויצירת קשר

זקוקים לעזרה? יש הצעה לשיפור? נשמח לשמוע!

📧 אימייל: [email protected]
🌐 אתר: easyonline.co.il
💬 יצירת קשר: טופס יצירת קשר