שיתוף | תוסף כרום ייעודי לג'מיני (Gemini) עבור משתמשי נטפרי: חילוץ קישורים חסומים, שליחה בלחיצה לבדיקה, ומעקב אוטומטי למייל!
-
בס"ד
כידוע לכל מי שמשתמש ב-Google Gemini (ובפרט ביצירת סרטונים ב-Veo או תמונות ב-Imagen) תחת סינון נטפרי — ברגע שסרטון או תמונה נוצרים, הם נחסמים מיד כברירת מחדל לבדיקה (שגיאת רשת / HTTP 418). הבעיה העיקרית היא שבסרטונים ג'מיני מוחק מיד את אלמנט הנגן או עוטף אותו בכתובת זמנית (blob:), וכך כמעט בלתי אפשרי לחלץ את כתובת ה-URL המקורית כדי לשלוח אותה לפנייה בנטפרי.
בנוסף, גם לאחר ששולחים לבדיקה — צריך לעקוב ולבדוק כל הזמן ידנית האם הקובץ כבר נפתח.
כדי לפתור את זה אחת ולתמיד, פיתחתי תוסף כרום ייעודי וחינמי בשם עוזר ג'מיני לנטפרי (Gemini NetFree Helper) יחד עם סקריפט גוגל אוטומטי.עריכה:
התוסף עודכן:
https://mitmachim.top/post/1282644מה התוסף עושה?
- חילוץ כתובות URL חסומות בזמן אמת: התוסף דוגם את תעבורת הרשת ומפענח את פרוטוקול התקשורת של ג'מיני (כולל תשובות מוצפנות וכתובות
blob:). גם אם הסרטון נחסם תוך אלפית שנייה והנגן נעלם — התוסף לוכד את הכתובת האמיתית ומציג אותה מיד. - כפתור פנייה ישיר ויוקרתי לנטפרי: במקום שהסרטון ייעלם בשגיאה, מוזרק כרטיס מעוצב עם כפתור שיגור מהיר. לחיצה עליו מעתיקה את הקישור ופותחת ישירות את טופס הפנייה בנטפרי עם הכתובת והפרמטרים המתאימים.
- מעקב אוטומטי ושליחה למייל ברגע שנפתח (Google Apps Script): מעקב חכם ברקע ללא צריכת נקודות. ברגע שהתמונה או הסרטון נבדקים ומאושרים בנטפרי — נשלח אליכם מייל אוטומטי עם התמונה מצורפת והקישור המדויק!
- תמיכה מלאה בספריית המדיה של ג'מיני: כל התמונות בספרייה מוצגות בצורה נקייה וגלויה ב-100%. סרגל פעולות זכוכית קומפקטי מחליק מתחתית התמונה אך ורק במעבר עכבר (Hover) עם כפתורי העתקה, פנייה לנטפרי ושליחה למייל, מבלי לחסום את כפתור המחיקה של גוגל.
- פרטיות ובטיחות מלאה (קוד פתוח 100%): אין שרת חיצוני ואין שום איסוף נתונים. הכל רץ מקומית בדפדפן שלכם ובסקריפט ה-Google Apps Script האישי שלכם.
הוראות התקנה קצרות ופשוטות
שלב א': התקנת התוסף בדפדפן כרום
- הורידו את תיקיית התוסף המצורפת וחלצו את קובץ ה-ZIP.
- היכנסו בדפדפן לכתובת:
chrome://extensions/. - הפעילו בצד שמאל/ימין למעלה את המתג: מצב מפתח (Developer mode).
- לחצו על הכפתור: טען תוסף לא ארוז (Load unpacked) ובחרו בתיקייה שחילצתם.
- כעת היכנסו לאתר Google Gemini — התוסף כבר פעיל ומגן עליכם!
שלב ב': חיבור המעקב האוטומטי למייל (Google Apps Script - אופציונלי אך מומלץ מאוד)
- היכנסו לאתר Google Apps Script ולחצו על פרויקט חדש (New project).
- מחקו את הקוד הקיים והדביקו את כל התוכן מהקוד כאן
/** * Code.gs - סקריפט Google Apps Script לשליחה אוטומטית של תמונות וסרטונים מג'מיני למייל */ // 🟢 שלב חשוב: בחרו פונקציה זו למעלה ולחצו 'Run' (הפעל) פעם אחת כדי לאשר הרשאות! function authorizeScript() { var email = Session.getEffectiveUser().getEmail() || Session.getActiveUser().getEmail(); Logger.log("בודק הרשאות עבור חשבון: " + email); try { MailApp.sendEmail({ to: email, subject: "🛡️ עוזר ג'מיני לנטפרי - ההרשאות אושרו בהצלחה!", htmlBody: "<div dir='rtl'><h3>מעולה! ההרשאות אושרו בהצלחה בחשבון שלך.</h3><p>כעת חזור לעורך ולחץ על <strong>Deploy -> New deployment</strong> כדי לקבל את הקישור לתוסף.</p></div>" }); Logger.log("מייל אימות נשלח בהצלחה ל-" + email); } catch (err) { Logger.log("שגיאה: " + err); } } function doGet(e) { return ContentService .createTextOutput(JSON.stringify({ ok: true, message: "החיבור ל-Google Apps Script של עוזר ג'מיני לנטפרי פעיל ותקין!" })) .setMimeType(ContentService.MimeType.JSON); } function doPost(e) { try { if (!e || !e.postData || !e.postData.contents) { return jsonResponse({ ok: false, error: "לא התקבל תוכן בבקשה (Empty Payload)" }); } var data = JSON.parse(e.postData.contents); var recipient = (data.email && data.email.trim()) || Session.getEffectiveUser().getEmail() || Session.getActiveUser().getEmail(); if (!recipient) { return jsonResponse({ ok: false, error: "לא נמצאה כתובת מייל יעד. נא להזין כתובת מייל בהגדרות התוסף." }); } // 1. בדיקת חיבור מהתוסף if (data.action === "testConnection") { sendEmailSafe({ to: recipient, subject: "✅ בדיקת חיבור: עוזר ג'מיני לנטפרי מחובר למייל שלך!", htmlBody: [ '<div dir="rtl" style="font-family: Arial, sans-serif; padding: 20px; background: #f8fafc; border-radius: 12px; border: 1px solid #cbd5e1;">', '<h2 style="color: #0284c7; margin-top: 0;">🛡️ החיבור בין תוסף הכרום ל-Google Script פועל בהצלחה!</h2>', '<p style="font-size: 15px; color: #334155;">מעכשיו, ברגע שתמונה או סרטון שבמעקב ייפתחו בנטפרי, תקבל לכאן מייל אוטומטי עם הקובץ המצורף והקישור המדויק.</p>', '<p style="font-size: 12px; color: #64748b;">נשלח בתאריך: ' + new Date().toLocaleString('he-IL') + '</p>', '</div>' ].join('') }); return jsonResponse({ ok: true, message: "מייל בדיקה נשלח אל " + recipient }); } // 2. שליחת תמונה או סרטון שנפתחו בנטפרי if (data.action === "sendOpenedMedia") { var isVideo = data.type === "video"; var title = data.title || (isVideo ? "סרטון שנוצר בג'מיני" : "תמונה שנוצרה בג'מיני"); var mimeType = data.mimeType || (isVideo ? "video/mp4" : "image/png"); var ext = getExtensionFromMime(mimeType, isVideo); var fileName = "gemini_" + (isVideo ? "video_" : "image_") + new Date().getTime() + "." + ext; var mediaBlob = null; if (data.base64) { var decodedBytes = Utilities.base64Decode(data.base64); mediaBlob = Utilities.newBlob(decodedBytes, mimeType, fileName); } else if (data.url) { try { var fetchResp = UrlFetchApp.fetch(data.url, { muteHttpExceptions: true }); if (fetchResp.getResponseCode() === 200) { mediaBlob = fetchResp.getBlob().setName(fileName); } } catch (fetchErr) {} } var subject = (isVideo ? "🎬 הסרטון שלך מג'מיני נפתח בנטפרי: " : "🎨 התמונה שלך מג'מיני נפתחה בנטפרי: ") + title; var htmlParts = [ '<div dir="rtl" style="font-family: Arial, sans-serif; max-width: 640px; margin: 0 auto; padding: 20px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px;">', '<h2 style="color: #0284c7; margin-top: 0;">' + (isVideo ? '🎬 הסרטון נפתח בנטפרי!' : '🎨 התמונה נפתחה בנטפרי!') + '</h2>', '<p style="font-size: 14px; color: #1e293b;"><strong>תיאור / פרומפט:</strong> ' + escapeHtml(title) + '</p>' ]; var emailOptions = { to: recipient, subject: subject }; if (mediaBlob) { emailOptions.attachments = [mediaBlob]; if (!isVideo) { emailOptions.inlineImages = { openedGeminiImage: mediaBlob }; htmlParts.push( '<div style="margin: 16px 0; text-align: center;">', '<img src="cid:openedGeminiImage" alt="תמונה מג\'מיני" style="max-width: 100%; border-radius: 10px; border: 1px solid #cbd5e1;" />', '</div>' ); } } htmlParts.push( '<div style="background: #f8fafc; padding: 12px; border-radius: 8px; margin-top: 14px; font-size: 13px;">', '<p style="margin: 4px 0;"><strong>🔗 כתובת URL מדויקת:</strong><br/><a href="' + data.url + '" target="_blank" dir="ltr">' + data.url + '</a></p>', (data.pageUrl ? '<p style="margin: 8px 0 4px;"><strong>💬 קישור לשיחה בג\'מיני:</strong> <a href="' + data.pageUrl + '" target="_blank">פתח שיחה</a></p>' : ''), '</div>', '<p style="font-size: 11px; color: #94a3b8; margin-top: 16px;">נשלח אוטומטית על ידי תוסף עוזר ג\'מיני לנטפרי • ' + new Date().toLocaleString('he-IL') + '</p>', '</div>' ); emailOptions.htmlBody = htmlParts.join(''); sendEmailSafe(emailOptions); return jsonResponse({ ok: true, message: "המייל נשלח בהצלחה אל " + recipient, attached: Boolean(mediaBlob) }); } return jsonResponse({ ok: false, error: "פעולה לא מוכרת: " + data.action }); } catch (err) { return jsonResponse({ ok: false, error: err.toString() }); } } function sendEmailSafe(options) { try { MailApp.sendEmail(options); } catch (e) { if (typeof GmailApp !== 'undefined') { GmailApp.sendEmail(options.to, options.subject, '', options); } else { throw e; } } } function getExtensionFromMime(mime, isVideo) { if (!mime) return isVideo ? "mp4" : "png"; if (mime.indexOf("jpeg") !== -1 || mime.indexOf("jpg") !== -1) return "jpg"; if (mime.indexOf("webp") !== -1) return "webp"; if (mime.indexOf("gif") !== -1) return "gif"; if (mime.indexOf("webm") !== -1) return "webm"; if (mime.indexOf("mp4") !== -1) return "mp4"; return isVideo ? "mp4" : "png"; } function escapeHtml(str) { return String(str || "") .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, """); } function jsonResponse(obj) { return ContentService .createTextOutput(JSON.stringify(obj)) .setMimeType(ContentService.MimeType.JSON); }(או העתיקו אותו ישירות בלחיצה אחת מתוך לשונית "מדריך חיבור" בתוסף).
3. שמרו את הפרויקט (Ctrl+S / Cmd+S).
4. בשורת הפונקציות למעלה בחרו בפונקציהauthorizeScriptולחצו על Run (הפעל) כדי לאשר את הרשאות השליחה לחשבונכם (Advanced -> Go to... -> Allow).
5. לחצו על Deploy (פריסה) -> New deployment (פריסה חדשה):- סוג: Web app.
- תחת Execute as: בחרו Me (אני).
- תחת Who has access: בחרו Anyone (כל אחד).
- העתיקו את כתובת ה-Web App URL (המסתיימת ב-
/exec), הדביקו אותה בלשונית "הגדרות" בתוסף ולחצו על "שלח מייל בדיקה".
חשוב מאוד:
יש לעשות הקלטת תעבורה כאן
https://netfree.link/app/#/tools/traffic/record
ולשלוח לנטפרי את הכתובת של הסקריפט כדי שיפתחו אותו, כמובן לפרט ולהסביר על התוסף
קבצים מצורפים
מצורף קובץ ZIP מלא של הפרויקט, כולל קוד המקור, בדיקות הסימולציה והמדריך.
להוסיף p לאחר ההורדה
bb51b758-7cc5-43e7-9ca8-03ff0ab0b4d0-netfree-gemini-helper.zi
תמונות בספויילר



נשמח לשמוע משוב, הצעות לשיפור ורעיונות נוספים
- חילוץ כתובות URL חסומות בזמן אמת: התוסף דוגם את תעבורת הרשת ומפענח את פרוטוקול התקשורת של ג'מיני (כולל תשובות מוצפנות וכתובות
-
בס"ד
כידוע לכל מי שמשתמש ב-Google Gemini (ובפרט ביצירת סרטונים ב-Veo או תמונות ב-Imagen) תחת סינון נטפרי — ברגע שסרטון או תמונה נוצרים, הם נחסמים מיד כברירת מחדל לבדיקה (שגיאת רשת / HTTP 418). הבעיה העיקרית היא שבסרטונים ג'מיני מוחק מיד את אלמנט הנגן או עוטף אותו בכתובת זמנית (blob:), וכך כמעט בלתי אפשרי לחלץ את כתובת ה-URL המקורית כדי לשלוח אותה לפנייה בנטפרי.
בנוסף, גם לאחר ששולחים לבדיקה — צריך לעקוב ולבדוק כל הזמן ידנית האם הקובץ כבר נפתח.
כדי לפתור את זה אחת ולתמיד, פיתחתי תוסף כרום ייעודי וחינמי בשם עוזר ג'מיני לנטפרי (Gemini NetFree Helper) יחד עם סקריפט גוגל אוטומטי.עריכה:
התוסף עודכן:
https://mitmachim.top/post/1282644מה התוסף עושה?
- חילוץ כתובות URL חסומות בזמן אמת: התוסף דוגם את תעבורת הרשת ומפענח את פרוטוקול התקשורת של ג'מיני (כולל תשובות מוצפנות וכתובות
blob:). גם אם הסרטון נחסם תוך אלפית שנייה והנגן נעלם — התוסף לוכד את הכתובת האמיתית ומציג אותה מיד. - כפתור פנייה ישיר ויוקרתי לנטפרי: במקום שהסרטון ייעלם בשגיאה, מוזרק כרטיס מעוצב עם כפתור שיגור מהיר. לחיצה עליו מעתיקה את הקישור ופותחת ישירות את טופס הפנייה בנטפרי עם הכתובת והפרמטרים המתאימים.
- מעקב אוטומטי ושליחה למייל ברגע שנפתח (Google Apps Script): מעקב חכם ברקע ללא צריכת נקודות. ברגע שהתמונה או הסרטון נבדקים ומאושרים בנטפרי — נשלח אליכם מייל אוטומטי עם התמונה מצורפת והקישור המדויק!
- תמיכה מלאה בספריית המדיה של ג'מיני: כל התמונות בספרייה מוצגות בצורה נקייה וגלויה ב-100%. סרגל פעולות זכוכית קומפקטי מחליק מתחתית התמונה אך ורק במעבר עכבר (Hover) עם כפתורי העתקה, פנייה לנטפרי ושליחה למייל, מבלי לחסום את כפתור המחיקה של גוגל.
- פרטיות ובטיחות מלאה (קוד פתוח 100%): אין שרת חיצוני ואין שום איסוף נתונים. הכל רץ מקומית בדפדפן שלכם ובסקריפט ה-Google Apps Script האישי שלכם.
הוראות התקנה קצרות ופשוטות
שלב א': התקנת התוסף בדפדפן כרום
- הורידו את תיקיית התוסף המצורפת וחלצו את קובץ ה-ZIP.
- היכנסו בדפדפן לכתובת:
chrome://extensions/. - הפעילו בצד שמאל/ימין למעלה את המתג: מצב מפתח (Developer mode).
- לחצו על הכפתור: טען תוסף לא ארוז (Load unpacked) ובחרו בתיקייה שחילצתם.
- כעת היכנסו לאתר Google Gemini — התוסף כבר פעיל ומגן עליכם!
שלב ב': חיבור המעקב האוטומטי למייל (Google Apps Script - אופציונלי אך מומלץ מאוד)
- היכנסו לאתר Google Apps Script ולחצו על פרויקט חדש (New project).
- מחקו את הקוד הקיים והדביקו את כל התוכן מהקוד כאן
/** * Code.gs - סקריפט Google Apps Script לשליחה אוטומטית של תמונות וסרטונים מג'מיני למייל */ // 🟢 שלב חשוב: בחרו פונקציה זו למעלה ולחצו 'Run' (הפעל) פעם אחת כדי לאשר הרשאות! function authorizeScript() { var email = Session.getEffectiveUser().getEmail() || Session.getActiveUser().getEmail(); Logger.log("בודק הרשאות עבור חשבון: " + email); try { MailApp.sendEmail({ to: email, subject: "🛡️ עוזר ג'מיני לנטפרי - ההרשאות אושרו בהצלחה!", htmlBody: "<div dir='rtl'><h3>מעולה! ההרשאות אושרו בהצלחה בחשבון שלך.</h3><p>כעת חזור לעורך ולחץ על <strong>Deploy -> New deployment</strong> כדי לקבל את הקישור לתוסף.</p></div>" }); Logger.log("מייל אימות נשלח בהצלחה ל-" + email); } catch (err) { Logger.log("שגיאה: " + err); } } function doGet(e) { return ContentService .createTextOutput(JSON.stringify({ ok: true, message: "החיבור ל-Google Apps Script של עוזר ג'מיני לנטפרי פעיל ותקין!" })) .setMimeType(ContentService.MimeType.JSON); } function doPost(e) { try { if (!e || !e.postData || !e.postData.contents) { return jsonResponse({ ok: false, error: "לא התקבל תוכן בבקשה (Empty Payload)" }); } var data = JSON.parse(e.postData.contents); var recipient = (data.email && data.email.trim()) || Session.getEffectiveUser().getEmail() || Session.getActiveUser().getEmail(); if (!recipient) { return jsonResponse({ ok: false, error: "לא נמצאה כתובת מייל יעד. נא להזין כתובת מייל בהגדרות התוסף." }); } // 1. בדיקת חיבור מהתוסף if (data.action === "testConnection") { sendEmailSafe({ to: recipient, subject: "✅ בדיקת חיבור: עוזר ג'מיני לנטפרי מחובר למייל שלך!", htmlBody: [ '<div dir="rtl" style="font-family: Arial, sans-serif; padding: 20px; background: #f8fafc; border-radius: 12px; border: 1px solid #cbd5e1;">', '<h2 style="color: #0284c7; margin-top: 0;">🛡️ החיבור בין תוסף הכרום ל-Google Script פועל בהצלחה!</h2>', '<p style="font-size: 15px; color: #334155;">מעכשיו, ברגע שתמונה או סרטון שבמעקב ייפתחו בנטפרי, תקבל לכאן מייל אוטומטי עם הקובץ המצורף והקישור המדויק.</p>', '<p style="font-size: 12px; color: #64748b;">נשלח בתאריך: ' + new Date().toLocaleString('he-IL') + '</p>', '</div>' ].join('') }); return jsonResponse({ ok: true, message: "מייל בדיקה נשלח אל " + recipient }); } // 2. שליחת תמונה או סרטון שנפתחו בנטפרי if (data.action === "sendOpenedMedia") { var isVideo = data.type === "video"; var title = data.title || (isVideo ? "סרטון שנוצר בג'מיני" : "תמונה שנוצרה בג'מיני"); var mimeType = data.mimeType || (isVideo ? "video/mp4" : "image/png"); var ext = getExtensionFromMime(mimeType, isVideo); var fileName = "gemini_" + (isVideo ? "video_" : "image_") + new Date().getTime() + "." + ext; var mediaBlob = null; if (data.base64) { var decodedBytes = Utilities.base64Decode(data.base64); mediaBlob = Utilities.newBlob(decodedBytes, mimeType, fileName); } else if (data.url) { try { var fetchResp = UrlFetchApp.fetch(data.url, { muteHttpExceptions: true }); if (fetchResp.getResponseCode() === 200) { mediaBlob = fetchResp.getBlob().setName(fileName); } } catch (fetchErr) {} } var subject = (isVideo ? "🎬 הסרטון שלך מג'מיני נפתח בנטפרי: " : "🎨 התמונה שלך מג'מיני נפתחה בנטפרי: ") + title; var htmlParts = [ '<div dir="rtl" style="font-family: Arial, sans-serif; max-width: 640px; margin: 0 auto; padding: 20px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px;">', '<h2 style="color: #0284c7; margin-top: 0;">' + (isVideo ? '🎬 הסרטון נפתח בנטפרי!' : '🎨 התמונה נפתחה בנטפרי!') + '</h2>', '<p style="font-size: 14px; color: #1e293b;"><strong>תיאור / פרומפט:</strong> ' + escapeHtml(title) + '</p>' ]; var emailOptions = { to: recipient, subject: subject }; if (mediaBlob) { emailOptions.attachments = [mediaBlob]; if (!isVideo) { emailOptions.inlineImages = { openedGeminiImage: mediaBlob }; htmlParts.push( '<div style="margin: 16px 0; text-align: center;">', '<img src="cid:openedGeminiImage" alt="תמונה מג\'מיני" style="max-width: 100%; border-radius: 10px; border: 1px solid #cbd5e1;" />', '</div>' ); } } htmlParts.push( '<div style="background: #f8fafc; padding: 12px; border-radius: 8px; margin-top: 14px; font-size: 13px;">', '<p style="margin: 4px 0;"><strong>🔗 כתובת URL מדויקת:</strong><br/><a href="' + data.url + '" target="_blank" dir="ltr">' + data.url + '</a></p>', (data.pageUrl ? '<p style="margin: 8px 0 4px;"><strong>💬 קישור לשיחה בג\'מיני:</strong> <a href="' + data.pageUrl + '" target="_blank">פתח שיחה</a></p>' : ''), '</div>', '<p style="font-size: 11px; color: #94a3b8; margin-top: 16px;">נשלח אוטומטית על ידי תוסף עוזר ג\'מיני לנטפרי • ' + new Date().toLocaleString('he-IL') + '</p>', '</div>' ); emailOptions.htmlBody = htmlParts.join(''); sendEmailSafe(emailOptions); return jsonResponse({ ok: true, message: "המייל נשלח בהצלחה אל " + recipient, attached: Boolean(mediaBlob) }); } return jsonResponse({ ok: false, error: "פעולה לא מוכרת: " + data.action }); } catch (err) { return jsonResponse({ ok: false, error: err.toString() }); } } function sendEmailSafe(options) { try { MailApp.sendEmail(options); } catch (e) { if (typeof GmailApp !== 'undefined') { GmailApp.sendEmail(options.to, options.subject, '', options); } else { throw e; } } } function getExtensionFromMime(mime, isVideo) { if (!mime) return isVideo ? "mp4" : "png"; if (mime.indexOf("jpeg") !== -1 || mime.indexOf("jpg") !== -1) return "jpg"; if (mime.indexOf("webp") !== -1) return "webp"; if (mime.indexOf("gif") !== -1) return "gif"; if (mime.indexOf("webm") !== -1) return "webm"; if (mime.indexOf("mp4") !== -1) return "mp4"; return isVideo ? "mp4" : "png"; } function escapeHtml(str) { return String(str || "") .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, """); } function jsonResponse(obj) { return ContentService .createTextOutput(JSON.stringify(obj)) .setMimeType(ContentService.MimeType.JSON); }(או העתיקו אותו ישירות בלחיצה אחת מתוך לשונית "מדריך חיבור" בתוסף).
3. שמרו את הפרויקט (Ctrl+S / Cmd+S).
4. בשורת הפונקציות למעלה בחרו בפונקציהauthorizeScriptולחצו על Run (הפעל) כדי לאשר את הרשאות השליחה לחשבונכם (Advanced -> Go to... -> Allow).
5. לחצו על Deploy (פריסה) -> New deployment (פריסה חדשה):- סוג: Web app.
- תחת Execute as: בחרו Me (אני).
- תחת Who has access: בחרו Anyone (כל אחד).
- העתיקו את כתובת ה-Web App URL (המסתיימת ב-
/exec), הדביקו אותה בלשונית "הגדרות" בתוסף ולחצו על "שלח מייל בדיקה".
חשוב מאוד:
יש לעשות הקלטת תעבורה כאן
https://netfree.link/app/#/tools/traffic/record
ולשלוח לנטפרי את הכתובת של הסקריפט כדי שיפתחו אותו, כמובן לפרט ולהסביר על התוסף
קבצים מצורפים
מצורף קובץ ZIP מלא של הפרויקט, כולל קוד המקור, בדיקות הסימולציה והמדריך.
להוסיף p לאחר ההורדה
bb51b758-7cc5-43e7-9ca8-03ff0ab0b4d0-netfree-gemini-helper.zi
תמונות בספויילר



נשמח לשמוע משוב, הצעות לשיפור ורעיונות נוספים
- חילוץ כתובות URL חסומות בזמן אמת: התוסף דוגם את תעבורת הרשת ומפענח את פרוטוקול התקשורת של ג'מיני (כולל תשובות מוצפנות וכתובות
-
בס"ד
כידוע לכל מי שמשתמש ב-Google Gemini (ובפרט ביצירת סרטונים ב-Veo או תמונות ב-Imagen) תחת סינון נטפרי — ברגע שסרטון או תמונה נוצרים, הם נחסמים מיד כברירת מחדל לבדיקה (שגיאת רשת / HTTP 418). הבעיה העיקרית היא שבסרטונים ג'מיני מוחק מיד את אלמנט הנגן או עוטף אותו בכתובת זמנית (blob:), וכך כמעט בלתי אפשרי לחלץ את כתובת ה-URL המקורית כדי לשלוח אותה לפנייה בנטפרי.
בנוסף, גם לאחר ששולחים לבדיקה — צריך לעקוב ולבדוק כל הזמן ידנית האם הקובץ כבר נפתח.
כדי לפתור את זה אחת ולתמיד, פיתחתי תוסף כרום ייעודי וחינמי בשם עוזר ג'מיני לנטפרי (Gemini NetFree Helper) יחד עם סקריפט גוגל אוטומטי.עריכה:
התוסף עודכן:
https://mitmachim.top/post/1282644מה התוסף עושה?
- חילוץ כתובות URL חסומות בזמן אמת: התוסף דוגם את תעבורת הרשת ומפענח את פרוטוקול התקשורת של ג'מיני (כולל תשובות מוצפנות וכתובות
blob:). גם אם הסרטון נחסם תוך אלפית שנייה והנגן נעלם — התוסף לוכד את הכתובת האמיתית ומציג אותה מיד. - כפתור פנייה ישיר ויוקרתי לנטפרי: במקום שהסרטון ייעלם בשגיאה, מוזרק כרטיס מעוצב עם כפתור שיגור מהיר. לחיצה עליו מעתיקה את הקישור ופותחת ישירות את טופס הפנייה בנטפרי עם הכתובת והפרמטרים המתאימים.
- מעקב אוטומטי ושליחה למייל ברגע שנפתח (Google Apps Script): מעקב חכם ברקע ללא צריכת נקודות. ברגע שהתמונה או הסרטון נבדקים ומאושרים בנטפרי — נשלח אליכם מייל אוטומטי עם התמונה מצורפת והקישור המדויק!
- תמיכה מלאה בספריית המדיה של ג'מיני: כל התמונות בספרייה מוצגות בצורה נקייה וגלויה ב-100%. סרגל פעולות זכוכית קומפקטי מחליק מתחתית התמונה אך ורק במעבר עכבר (Hover) עם כפתורי העתקה, פנייה לנטפרי ושליחה למייל, מבלי לחסום את כפתור המחיקה של גוגל.
- פרטיות ובטיחות מלאה (קוד פתוח 100%): אין שרת חיצוני ואין שום איסוף נתונים. הכל רץ מקומית בדפדפן שלכם ובסקריפט ה-Google Apps Script האישי שלכם.
הוראות התקנה קצרות ופשוטות
שלב א': התקנת התוסף בדפדפן כרום
- הורידו את תיקיית התוסף המצורפת וחלצו את קובץ ה-ZIP.
- היכנסו בדפדפן לכתובת:
chrome://extensions/. - הפעילו בצד שמאל/ימין למעלה את המתג: מצב מפתח (Developer mode).
- לחצו על הכפתור: טען תוסף לא ארוז (Load unpacked) ובחרו בתיקייה שחילצתם.
- כעת היכנסו לאתר Google Gemini — התוסף כבר פעיל ומגן עליכם!
שלב ב': חיבור המעקב האוטומטי למייל (Google Apps Script - אופציונלי אך מומלץ מאוד)
- היכנסו לאתר Google Apps Script ולחצו על פרויקט חדש (New project).
- מחקו את הקוד הקיים והדביקו את כל התוכן מהקוד כאן
/** * Code.gs - סקריפט Google Apps Script לשליחה אוטומטית של תמונות וסרטונים מג'מיני למייל */ // 🟢 שלב חשוב: בחרו פונקציה זו למעלה ולחצו 'Run' (הפעל) פעם אחת כדי לאשר הרשאות! function authorizeScript() { var email = Session.getEffectiveUser().getEmail() || Session.getActiveUser().getEmail(); Logger.log("בודק הרשאות עבור חשבון: " + email); try { MailApp.sendEmail({ to: email, subject: "🛡️ עוזר ג'מיני לנטפרי - ההרשאות אושרו בהצלחה!", htmlBody: "<div dir='rtl'><h3>מעולה! ההרשאות אושרו בהצלחה בחשבון שלך.</h3><p>כעת חזור לעורך ולחץ על <strong>Deploy -> New deployment</strong> כדי לקבל את הקישור לתוסף.</p></div>" }); Logger.log("מייל אימות נשלח בהצלחה ל-" + email); } catch (err) { Logger.log("שגיאה: " + err); } } function doGet(e) { return ContentService .createTextOutput(JSON.stringify({ ok: true, message: "החיבור ל-Google Apps Script של עוזר ג'מיני לנטפרי פעיל ותקין!" })) .setMimeType(ContentService.MimeType.JSON); } function doPost(e) { try { if (!e || !e.postData || !e.postData.contents) { return jsonResponse({ ok: false, error: "לא התקבל תוכן בבקשה (Empty Payload)" }); } var data = JSON.parse(e.postData.contents); var recipient = (data.email && data.email.trim()) || Session.getEffectiveUser().getEmail() || Session.getActiveUser().getEmail(); if (!recipient) { return jsonResponse({ ok: false, error: "לא נמצאה כתובת מייל יעד. נא להזין כתובת מייל בהגדרות התוסף." }); } // 1. בדיקת חיבור מהתוסף if (data.action === "testConnection") { sendEmailSafe({ to: recipient, subject: "✅ בדיקת חיבור: עוזר ג'מיני לנטפרי מחובר למייל שלך!", htmlBody: [ '<div dir="rtl" style="font-family: Arial, sans-serif; padding: 20px; background: #f8fafc; border-radius: 12px; border: 1px solid #cbd5e1;">', '<h2 style="color: #0284c7; margin-top: 0;">🛡️ החיבור בין תוסף הכרום ל-Google Script פועל בהצלחה!</h2>', '<p style="font-size: 15px; color: #334155;">מעכשיו, ברגע שתמונה או סרטון שבמעקב ייפתחו בנטפרי, תקבל לכאן מייל אוטומטי עם הקובץ המצורף והקישור המדויק.</p>', '<p style="font-size: 12px; color: #64748b;">נשלח בתאריך: ' + new Date().toLocaleString('he-IL') + '</p>', '</div>' ].join('') }); return jsonResponse({ ok: true, message: "מייל בדיקה נשלח אל " + recipient }); } // 2. שליחת תמונה או סרטון שנפתחו בנטפרי if (data.action === "sendOpenedMedia") { var isVideo = data.type === "video"; var title = data.title || (isVideo ? "סרטון שנוצר בג'מיני" : "תמונה שנוצרה בג'מיני"); var mimeType = data.mimeType || (isVideo ? "video/mp4" : "image/png"); var ext = getExtensionFromMime(mimeType, isVideo); var fileName = "gemini_" + (isVideo ? "video_" : "image_") + new Date().getTime() + "." + ext; var mediaBlob = null; if (data.base64) { var decodedBytes = Utilities.base64Decode(data.base64); mediaBlob = Utilities.newBlob(decodedBytes, mimeType, fileName); } else if (data.url) { try { var fetchResp = UrlFetchApp.fetch(data.url, { muteHttpExceptions: true }); if (fetchResp.getResponseCode() === 200) { mediaBlob = fetchResp.getBlob().setName(fileName); } } catch (fetchErr) {} } var subject = (isVideo ? "🎬 הסרטון שלך מג'מיני נפתח בנטפרי: " : "🎨 התמונה שלך מג'מיני נפתחה בנטפרי: ") + title; var htmlParts = [ '<div dir="rtl" style="font-family: Arial, sans-serif; max-width: 640px; margin: 0 auto; padding: 20px; background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px;">', '<h2 style="color: #0284c7; margin-top: 0;">' + (isVideo ? '🎬 הסרטון נפתח בנטפרי!' : '🎨 התמונה נפתחה בנטפרי!') + '</h2>', '<p style="font-size: 14px; color: #1e293b;"><strong>תיאור / פרומפט:</strong> ' + escapeHtml(title) + '</p>' ]; var emailOptions = { to: recipient, subject: subject }; if (mediaBlob) { emailOptions.attachments = [mediaBlob]; if (!isVideo) { emailOptions.inlineImages = { openedGeminiImage: mediaBlob }; htmlParts.push( '<div style="margin: 16px 0; text-align: center;">', '<img src="cid:openedGeminiImage" alt="תמונה מג\'מיני" style="max-width: 100%; border-radius: 10px; border: 1px solid #cbd5e1;" />', '</div>' ); } } htmlParts.push( '<div style="background: #f8fafc; padding: 12px; border-radius: 8px; margin-top: 14px; font-size: 13px;">', '<p style="margin: 4px 0;"><strong>🔗 כתובת URL מדויקת:</strong><br/><a href="' + data.url + '" target="_blank" dir="ltr">' + data.url + '</a></p>', (data.pageUrl ? '<p style="margin: 8px 0 4px;"><strong>💬 קישור לשיחה בג\'מיני:</strong> <a href="' + data.pageUrl + '" target="_blank">פתח שיחה</a></p>' : ''), '</div>', '<p style="font-size: 11px; color: #94a3b8; margin-top: 16px;">נשלח אוטומטית על ידי תוסף עוזר ג\'מיני לנטפרי • ' + new Date().toLocaleString('he-IL') + '</p>', '</div>' ); emailOptions.htmlBody = htmlParts.join(''); sendEmailSafe(emailOptions); return jsonResponse({ ok: true, message: "המייל נשלח בהצלחה אל " + recipient, attached: Boolean(mediaBlob) }); } return jsonResponse({ ok: false, error: "פעולה לא מוכרת: " + data.action }); } catch (err) { return jsonResponse({ ok: false, error: err.toString() }); } } function sendEmailSafe(options) { try { MailApp.sendEmail(options); } catch (e) { if (typeof GmailApp !== 'undefined') { GmailApp.sendEmail(options.to, options.subject, '', options); } else { throw e; } } } function getExtensionFromMime(mime, isVideo) { if (!mime) return isVideo ? "mp4" : "png"; if (mime.indexOf("jpeg") !== -1 || mime.indexOf("jpg") !== -1) return "jpg"; if (mime.indexOf("webp") !== -1) return "webp"; if (mime.indexOf("gif") !== -1) return "gif"; if (mime.indexOf("webm") !== -1) return "webm"; if (mime.indexOf("mp4") !== -1) return "mp4"; return isVideo ? "mp4" : "png"; } function escapeHtml(str) { return String(str || "") .replace(/&/g, "&") .replace(/</g, "<") .replace(/>/g, ">") .replace(/"/g, """); } function jsonResponse(obj) { return ContentService .createTextOutput(JSON.stringify(obj)) .setMimeType(ContentService.MimeType.JSON); }(או העתיקו אותו ישירות בלחיצה אחת מתוך לשונית "מדריך חיבור" בתוסף).
3. שמרו את הפרויקט (Ctrl+S / Cmd+S).
4. בשורת הפונקציות למעלה בחרו בפונקציהauthorizeScriptולחצו על Run (הפעל) כדי לאשר את הרשאות השליחה לחשבונכם (Advanced -> Go to... -> Allow).
5. לחצו על Deploy (פריסה) -> New deployment (פריסה חדשה):- סוג: Web app.
- תחת Execute as: בחרו Me (אני).
- תחת Who has access: בחרו Anyone (כל אחד).
- העתיקו את כתובת ה-Web App URL (המסתיימת ב-
/exec), הדביקו אותה בלשונית "הגדרות" בתוסף ולחצו על "שלח מייל בדיקה".
חשוב מאוד:
יש לעשות הקלטת תעבורה כאן
https://netfree.link/app/#/tools/traffic/record
ולשלוח לנטפרי את הכתובת של הסקריפט כדי שיפתחו אותו, כמובן לפרט ולהסביר על התוסף
קבצים מצורפים
מצורף קובץ ZIP מלא של הפרויקט, כולל קוד המקור, בדיקות הסימולציה והמדריך.
להוסיף p לאחר ההורדה
bb51b758-7cc5-43e7-9ca8-03ff0ab0b4d0-netfree-gemini-helper.zi
תמונות בספויילר



נשמח לשמוע משוב, הצעות לשיפור ורעיונות נוספים
- חילוץ כתובות URL חסומות בזמן אמת: התוסף דוגם את תעבורת הרשת ומפענח את פרוטוקול התקשורת של ג'מיני (כולל תשובות מוצפנות וכתובות
-
@בא-נלמד תבקש אישור מנטפרי
תעשה הקלטת תעבורה
https://netfree.link/app/#/tools/traffic/record -
תודות לבקשת @לשכת-הרב
עודכן התוסף וכעת אין בעיה כלל עם נטפרי
הכל עובד מבוסס דפדפן ללא קישור לגוגל סקריפט
המערכת מבוססת פושים בשולחן העבודהשדרוג משמעותי: מעבר לגרסה עצמאית לחלוטין (ללא סקריפטים וללא כאבי ראש!)
בעקבות בעיות בהן נטפרי חוסם קישורי סקריפטים של גוגל (
Google Apps Script),מהיום אין צורך בשום סקריפט, אין צורך ב-Deploy ואין צורך באישורי הרשאות מסובכים:
- הכל רץ בתוך הדפדפן: התוסף עוקב ברקע ישירות מול נטפרי ובודק מתי הקבצים נפתחים.
- הורדה אוטומטית למחשב: ברגע שתמונה או סרטון נפתחים בנטפרי – הקובץ יורד אוטומטית ישירות לתיקיית ההורדות במחשב שלכם (
Downloads/NetFree_Gemini/). - התראות וצליל בזמן אמת: קופצת התראת שולחן עבודה עם צליל נעים והודעה בג'מיני שמעדכנת שהקובץ מוכן.
- ספריית מדיה נקייה ומהירה: פתרנו את עומס הכפתורים והתקיעות – התמונות שלכם נשארות גלויות לחלוטין והממשק קליל וצבעוני.
מה השתנה? גרסה קודמת לעומת גרסה 2.1.0 החדשה
מאפיין הגרסה הקודמת (מבוססת Google Script) הגרסה החדשה (עצמאית לחלוטין 100%) התקנה והגדרה דרשה פתיחת פרויקט ב-Google Apps Script, אישורי גישה מורכבים ופריסת Web App התקנה בלחיצה אחת – טוענים את התוסף לכרום והוא מוכן מיד לעבודה! תלות בחסימות נטפרי קישורי הסקריפט ( script.google.com) נחסמו לעיתים קרובות בפרופילי נטפרי שוניםאפס חסימות – פועל ישירות ומקומית מול נטפרי ללא שום שרתי צד שלישי קבלת הקבצים שליחה במייל (שדרשה המתנה, בדיקת ספאם והרשאות שליחה) הורדה אוטומטית ישירה למחשב לתיקיית Downloads/NetFree_Gemini/ברגע הפתיחההתראות פתיחה הסתמכות על קבלת מייל בלבד התראת שולחן עבודה חכמה + הודעה וצליל מובנה ישירות בתוך ג'מיני עומס ומראה בספרייה סרגלים כבדים שהסתירו את התמונות וגרמו להאטה בסריקת הדף ממשק נקי ומודרני – התמונות גלויות ב-100%, כפתורים במעבר עכבר בלבד, ואפס תקיעות
להורדה:
07fc1b00-f715-4ffb-be46-f1576ecf8b7c-netfree -gemini-helper.zi

-
תודות לבקשת @לשכת-הרב
עודכן התוסף וכעת אין בעיה כלל עם נטפרי
הכל עובד מבוסס דפדפן ללא קישור לגוגל סקריפט
המערכת מבוססת פושים בשולחן העבודהשדרוג משמעותי: מעבר לגרסה עצמאית לחלוטין (ללא סקריפטים וללא כאבי ראש!)
בעקבות בעיות בהן נטפרי חוסם קישורי סקריפטים של גוגל (
Google Apps Script),מהיום אין צורך בשום סקריפט, אין צורך ב-Deploy ואין צורך באישורי הרשאות מסובכים:
- הכל רץ בתוך הדפדפן: התוסף עוקב ברקע ישירות מול נטפרי ובודק מתי הקבצים נפתחים.
- הורדה אוטומטית למחשב: ברגע שתמונה או סרטון נפתחים בנטפרי – הקובץ יורד אוטומטית ישירות לתיקיית ההורדות במחשב שלכם (
Downloads/NetFree_Gemini/). - התראות וצליל בזמן אמת: קופצת התראת שולחן עבודה עם צליל נעים והודעה בג'מיני שמעדכנת שהקובץ מוכן.
- ספריית מדיה נקייה ומהירה: פתרנו את עומס הכפתורים והתקיעות – התמונות שלכם נשארות גלויות לחלוטין והממשק קליל וצבעוני.
מה השתנה? גרסה קודמת לעומת גרסה 2.1.0 החדשה
מאפיין הגרסה הקודמת (מבוססת Google Script) הגרסה החדשה (עצמאית לחלוטין 100%) התקנה והגדרה דרשה פתיחת פרויקט ב-Google Apps Script, אישורי גישה מורכבים ופריסת Web App התקנה בלחיצה אחת – טוענים את התוסף לכרום והוא מוכן מיד לעבודה! תלות בחסימות נטפרי קישורי הסקריפט ( script.google.com) נחסמו לעיתים קרובות בפרופילי נטפרי שוניםאפס חסימות – פועל ישירות ומקומית מול נטפרי ללא שום שרתי צד שלישי קבלת הקבצים שליחה במייל (שדרשה המתנה, בדיקת ספאם והרשאות שליחה) הורדה אוטומטית ישירה למחשב לתיקיית Downloads/NetFree_Gemini/ברגע הפתיחההתראות פתיחה הסתמכות על קבלת מייל בלבד התראת שולחן עבודה חכמה + הודעה וצליל מובנה ישירות בתוך ג'מיני עומס ומראה בספרייה סרגלים כבדים שהסתירו את התמונות וגרמו להאטה בסריקת הדף ממשק נקי ומודרני – התמונות גלויות ב-100%, כפתורים במעבר עכבר בלבד, ואפס תקיעות
להורדה:
07fc1b00-f715-4ffb-be46-f1576ecf8b7c-netfree -gemini-helper.zi

-
תודות לבקשת @לשכת-הרב
עודכן התוסף וכעת אין בעיה כלל עם נטפרי
הכל עובד מבוסס דפדפן ללא קישור לגוגל סקריפט
המערכת מבוססת פושים בשולחן העבודהשדרוג משמעותי: מעבר לגרסה עצמאית לחלוטין (ללא סקריפטים וללא כאבי ראש!)
בעקבות בעיות בהן נטפרי חוסם קישורי סקריפטים של גוגל (
Google Apps Script),מהיום אין צורך בשום סקריפט, אין צורך ב-Deploy ואין צורך באישורי הרשאות מסובכים:
- הכל רץ בתוך הדפדפן: התוסף עוקב ברקע ישירות מול נטפרי ובודק מתי הקבצים נפתחים.
- הורדה אוטומטית למחשב: ברגע שתמונה או סרטון נפתחים בנטפרי – הקובץ יורד אוטומטית ישירות לתיקיית ההורדות במחשב שלכם (
Downloads/NetFree_Gemini/). - התראות וצליל בזמן אמת: קופצת התראת שולחן עבודה עם צליל נעים והודעה בג'מיני שמעדכנת שהקובץ מוכן.
- ספריית מדיה נקייה ומהירה: פתרנו את עומס הכפתורים והתקיעות – התמונות שלכם נשארות גלויות לחלוטין והממשק קליל וצבעוני.
מה השתנה? גרסה קודמת לעומת גרסה 2.1.0 החדשה
מאפיין הגרסה הקודמת (מבוססת Google Script) הגרסה החדשה (עצמאית לחלוטין 100%) התקנה והגדרה דרשה פתיחת פרויקט ב-Google Apps Script, אישורי גישה מורכבים ופריסת Web App התקנה בלחיצה אחת – טוענים את התוסף לכרום והוא מוכן מיד לעבודה! תלות בחסימות נטפרי קישורי הסקריפט ( script.google.com) נחסמו לעיתים קרובות בפרופילי נטפרי שוניםאפס חסימות – פועל ישירות ומקומית מול נטפרי ללא שום שרתי צד שלישי קבלת הקבצים שליחה במייל (שדרשה המתנה, בדיקת ספאם והרשאות שליחה) הורדה אוטומטית ישירה למחשב לתיקיית Downloads/NetFree_Gemini/ברגע הפתיחההתראות פתיחה הסתמכות על קבלת מייל בלבד התראת שולחן עבודה חכמה + הודעה וצליל מובנה ישירות בתוך ג'מיני עומס ומראה בספרייה סרגלים כבדים שהסתירו את התמונות וגרמו להאטה בסריקת הדף ממשק נקי ומודרני – התמונות גלויות ב-100%, כפתורים במעבר עכבר בלבד, ואפס תקיעות
להורדה:
07fc1b00-f715-4ffb-be46-f1576ecf8b7c-netfree -gemini-helper.zi

שלום! נראה שהשיחה הזו מעניינת אותך, אבל עדיין אין לך חשבון.
נמאס לכם לגלול בין אותם הפוסטים בכל ביקור? כשנרשמים לחשבון, תמיד תחזרו בדיוק למקום שבו הייתם קודם, ותוכלו לבחור לקבל התראות על תגובות חדשות (בין אם במייל, ובין אם בהתראת פוש). תוכלו גם לשמור סימניות ולפרגן ב-upvote לפוסטים כדי להביע הערכה לחברי קהילה אחרים.
בעזרת התרומה שלך, הפוסט הזה יכול להיות אפילו טוב יותר 💗
הרשמה התחברות
