דילוג לתוכן
  • חוקי הפורום
  • פופולרי
  • לא נפתר
  • משתמשים
  • חיפוש גוגל בפורום
  • צור קשר
עיצובים
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • ברירת מחדל (ללא עיצוב (ברירת מחדל))
  • ללא עיצוב (ברירת מחדל)
כיווץ
מתמחים טופ
לאציל

לאצי

@לאצי
אודות
פוסטים
1.1k
נושאים
104
שיתופים
0
קבוצות
0
עוקבים
9
עוקב אחרי
16

פוסטים

פוסטים אחרונים הגבוה ביותר שנוי במחלוקת

  • להורדה | סימניה להורדת קבצי הקוד מ Base44
    לאציל לאצי

    @oryadaniely נוצר ע"י?

    עזרה הדדית - בינה מלאכותית

  • עזרה | AI STUDIO מוצג כטקסט במקום מרקדאון
    לאציל לאצי

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

    עזרה הדדית - בינה מלאכותית

  • עזרה | AI STUDIO מוצג כטקסט במקום מרקדאון
    לאציל לאצי

    @י.-פל. כתב בעזרה | AI STUDIO מוצג כטקסט במקום מרקדאון:

    שפר זאת

    לאחר יו"כ בעז"ה. מקווה שתסלח לי על כך ביו"כ...

    @י.-פל. כתב בעזרה | AI STUDIO מוצג כטקסט במקום מרקדאון:

    [אפשר להכניס לסקריפט שלי?]

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

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

    עזרה הדדית - בינה מלאכותית

  • עזרה | AI STUDIO מוצג כטקסט במקום מרקדאון
    לאציל לאצי

    בעז"ה יצרתי בעזרת AI STUDIO סקריפט לטמפרמונקי שמיישם עיצוב מרקדאון מלא כשהאתר לא מציג זאת טוב.

    // ==UserScript==
    // @name         AI Studio Markdown Fallback Renderer v10 (Final with Code Utils)
    // @namespace    http://tampermonkey.net/
    // @version      1.0
    // @description  Adds copy/download buttons and language titles to code blocks after fixing rendering issues.
    // @author       Your Name & AI
    // @match        https://aistudio.google.com/prompts/*
    // @require      https://cdn.jsdelivr.net/npm/marked/marked.min.js
    // @grant        GM_addStyle
    // @run-at       document-start
    // ==/UserScript==
    
    (function() {
        'use strict';
    
        // -- שלב 0: הזרקת CSS עם שליטה על העיצוב --
        // כאן תוכל לשנות את הערכים כדי להתאים את העיצוב לטעמך
        GM_addStyle(`
            /* ------------------------------------------- */
            /* --- אזור שליטה על עיצוב --- */
            /* ------------------------------------------- */
    
            :root {
                /* --- הגדרות לטקסט רגיל --- */
                --fallback-text-font-size: 5px   /* גודל גופן לטקסט רגיל */
                --fallback-text-line-height: 0.1; /* רווח בין שורות לטקסט רגיל */
    
                /* --- הגדרות לבלוק קוד --- */
                --fallback-code-font-size: 14px;       /* גודל גופן לקוד */
                --fallback-code-line-height: 1.45;     /* רווח בין שורות לקוד */
            }
    
            /* ------------------------------------------- */
            /* --- סוף אזור שליטה --- */
            /* ------------------------------------------- */
    
            .fallback-rendered p, .fallback-rendered ul, .fallback-rendered ol, .fallback-rendered li {
                font-family: 'Google Sans Text', Inter, sans-serif !important;
                font-size: var(--fallback-text-font-size) !important;
                line-height: var(--fallback-text-line-height) !important;
                color: var(--color-v3-text);
                margin-block-start: 0 !important;
                margin-block-end: 1em !important;
            }
            .fallback-rendered h1, .fallback-rendered h2, .fallback-rendered h3 {
                font-family: 'Google Sans', Roboto, Arial, sans-serif !important;
                margin-top: 1.2em !important; margin-bottom: 0.4em !important;
            }
    
            .fallback-rendered pre {
                position: relative;
                background-color: var(--color-v3-surface-container-high, #f1f3f4);
                border: 1px solid var(--color-v3-outline-var, #e0e0e0);
                border-radius: 8px;
                margin: 1em 0 !important;
                padding: 16px;
                padding-top: 48px;
                overflow-x: auto;
            }
            .code-block-header {
                position: absolute; top: 0; left: 0; right: 0;
                display: flex; justify-content: space-between; align-items: center;
                background-color: rgba(0,0,0,0.05);
                padding: 5px 12px;
                border-bottom: 1px solid var(--color-v3-outline-var, #e0e0e0);
                border-top-left-radius: 8px; border-top-right-radius: 8px;
            }
            .code-language {
                font-family: 'Google Sans Mono', monospace; font-size: 13px;
                font-weight: 500; color: var(--color-v3-text-var); text-transform: capitalize;
            }
            .code-util-buttons {
                display: flex; gap: 8px;
            }
            .code-util-btn {
                background-color: rgba(0,0,0,0.08); color: var(--color-v3-text);
                border: none; cursor: pointer; padding: 4px 10px;
                border-radius: 5px; font-size: 12px; font-family: 'Google Sans Text', sans-serif;
                transition: background-color 0.2s ease;
            }
            .code-util-btn:hover { background-color: rgba(0,0,0,0.15); }
            .code-util-btn.copied { background-color: #28a745; color: white; }
    
            .fallback-rendered code {
                font-family: 'Google Sans Mono', monospace !important;
                font-size: var(--fallback-code-font-size) !important;
                line-height: var(--fallback-code-line-height) !important;
                white-space: pre-wrap; word-wrap: break-word;
            }
            .fallback-rendered pre > code { background-color: transparent !important; padding: 0 !important; }
            .fallback-rendered :not(pre) > code {
                background-color: var(--color-v3-surface-container, #e8eaed);
                padding: 2px 6px; border-radius: 4px; font-size: 0.9em;
            }
    
            /* Dark Theme Adjustments */
            [data-theme="dark"] .fallback-rendered pre,
            [data-theme="dark"] .code-block-header {
                background-color: #202124; border-color: #3c4043;
            }
            [data-theme="dark"] .code-util-btn { background-color: rgba(255,255,255,0.1); }
            [data-theme="dark"] .code-util-btn:hover { background-color: rgba(255,255,255,0.2); }
            [data-theme="dark"] .fallback-rendered :not(pre) > code { background-color: #3c4043; }
        `);
    
        // -- שלב 1: הגדרת marked.js עם סניטציה --
        marked.setOptions({
          sanitize: true,
          gfm: true // Enable GitHub Flavored Markdown for better tables and code blocks
        });
    
        // -- שלב 2: יצירת מדיניות אבטחה (Trusted Types) --
        let fallbackPolicy;
        try {
            if (window.trustedTypes && window.trustedTypes.createPolicy) {
                fallbackPolicy = window.trustedTypes.createPolicy('markdown-fallback-renderer-v10', {
                    createHTML: (htmlString) => htmlString
                });
            }
        } catch (e) { /* Policy might already exist, which is fine. */ }
    
        function setSanitizedHTML(element, html) {
            try {
                if (fallbackPolicy) { element.innerHTML = fallbackPolicy.createHTML(html); }
                else { element.innerHTML = html; }
            } catch (e) { console.error("AI Studio Fallback: Error setting innerHTML.", e); }
        }
    
        // -- שלב 3: זיהוי התקלה --
        const setErrorFlag = (event) => {
            const errorMessage = (event.reason && event.reason.message) ? event.reason.message : event.message;
            if (errorMessage && errorMessage.includes('WebAssembly.instantiate')) {
                if (!window.nativeMarkdownFailed) {
                     console.log('AI Studio Fallback: Native Wasm renderer failed. Activating fallback.');
                }
                window.nativeMarkdownFailed = true;
            }
        };
        window.addEventListener('error', setErrorFlag);
        window.addEventListener('unhandledrejection', setErrorFlag);
    
        // -- שלב 4: פונקציה להוספת כלי עזר לבלוק קוד --
        function enhanceCodeBlock(preElement) {
            if (!preElement || preElement.hasAttribute('data-buttons-added')) return;
    
            const codeElement = preElement.querySelector('code');
            if (!codeElement) return;
    
            const header = document.createElement('div');
            header.className = 'code-block-header';
    
            const langMatch = codeElement.className.match(/language-(\S+)/);
            const lang = langMatch ? langMatch[1] : 'text';
            const langSpan = document.createElement('span');
            langSpan.className = 'code-language';
            langSpan.textContent = lang;
    
            const buttonWrapper = document.createElement('div');
            buttonWrapper.className = 'code-util-buttons';
    
            const copyBtn = document.createElement('button');
            copyBtn.className = 'code-util-btn';
            copyBtn.textContent = 'העתק';
    
            const downloadBtn = document.createElement('button');
            downloadBtn.className = 'code-util-btn';
            downloadBtn.textContent = 'הורד';
    
            buttonWrapper.append(copyBtn, downloadBtn);
            header.append(langSpan, buttonWrapper);
            preElement.prepend(header);
            preElement.setAttribute('data-buttons-added', 'true');
    
            copyBtn.addEventListener('click', () => {
                navigator.clipboard.writeText(codeElement.innerText).then(() => {
                    copyBtn.textContent = 'הועתק!';
                    copyBtn.classList.add('copied');
                    setTimeout(() => {
                        copyBtn.textContent = 'העתק';
                        copyBtn.classList.remove('copied');
                    }, 2000);
                });
            });
    
            downloadBtn.addEventListener('click', () => {
                const fileExtension = {
                    javascript: 'js', html: 'html', css: 'css', json: 'json',
                    python: 'py', shell: 'sh', text: 'txt'
                }[lang] || 'txt';
                const filename = `code-snippet.${fileExtension}`;
                const blob = new Blob([codeElement.innerText], { type: 'text/plain;charset=utf-8' });
                const url = URL.createObjectURL(blob);
                const a = document.createElement('a');
                a.href = url;
                a.download = filename;
                a.click();
                URL.revokeObjectURL(url);
            });
        }
    
        // -- שלב 5: מנגנון התיקון הראשי --
        const runFallbackRenderer = () => {
            if (!window.nativeMarkdownFailed) return;
    
            // שלב א: עיבוד המרקדאון
            document.querySelectorAll('ms-text-chunk > div').forEach(el => {
                if (el.hasAttribute('data-fallback-rendered') || el.closest('button, input, mat-icon, ms-thought-chunk')) {
                    return;
                }
    
                if (el.childNodes.length === 1 && el.firstChild.nodeType === Node.TEXT_NODE) {
                    const text = el.innerText;
                    if (text.includes('```')) {
                        const renderedHtml = marked.parse(text);
                        setSanitizedHTML(el, renderedHtml);
                        el.setAttribute('data-fallback-rendered', 'true');
                        el.classList.add('fallback-rendered');
                    }
                }
            });
    
            // שלב ב: שדרוג בלוקי הקוד
            document.querySelectorAll('.fallback-rendered pre:not([data-buttons-added="true"])').forEach(enhanceCodeBlock);
        };
    
        // -- שלב 6: הפעלה --
        window.addEventListener('load', function() {
            console.log('AI Studio Fallback: Page loaded. Starting renderer interval.');
            setInterval(runFallbackRenderer, 1500);
        });
    
    })();
    
    

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

    עזרה הדדית - בינה מלאכותית

  • המלצה | האפליקציה שתעזור לכם להיות מצליחנים
    לאציל לאצי

    @זונדל וואו! רק חבל שאין לי התקנות וכ"ש גוגל פליי...
    אשמח מאוד אם תעשה את זה גם בתור אתר אונליין/תוכנה למחשב. (נראה לי שבתור אתר זה יצא יותר יפה ומושך מבחינה עיצובית.)

    או שפשוט תעלה לפה את קבצי הקודים, ואתן לידידי מר AI ליצור ממנו את הנדרש.

    תוצרת הבנייה

  • שיתוף | דף בית לגוגל, עם מלא אפשרויות כולל התאמה אישית
    לאציל לאצי

    @DHOC979 כתב בהצעת ייעול | פיתחתי לעצמי דף בית לגוגל!!:

    @מישהו12 אתה פיתחת את האתר הזה?? (דף-בית.קום)

    @zvizvi

    עזרה הדדית - מחשבים וטכנולוגיה

  • להורדה | סימניה להורדת קבצי הקוד מ Base44
    לאציל לאצי

    @מתכנת-חובב אין אפשרות להמיר את קודי הריאקט לקבצי קוד רגילים?

    עזרה הדדית - בינה מלאכותית

  • להורדה | סימניה להורדת קבצי הקוד מ Base44
    לאציל לאצי

    לאחר זמן רב בו אני מתפלא מדוע אפשרות הורדת הקודים ב Base44 מתאפשרת רק לבעלי מנוי... 😊
    בעז"ה יצרתי בעזרת AI סימניית דפדפן שבלחיצה עליה יורדים כל קבצי הקוד של הפרויקט שלכם למחשב.
    כמובן שלשם כך אתם אמורים להיות בדאשבורד של האפליקציה על קטעי הקודים. (התיקיות לא חייבות להיות פתוחות - הסימנייה פותחת את כולן אוטומטית כדי שהקודים יהיו גלויים)
    תרגום הדפדפן בדף - צריך להיות כבוי. אם הוא דלוק הסימנייה תציג לכם אזהרה ולא תוריד את הקודים.

    javascript:(async function(){if(document.documentElement.classList.contains("translated-ltr")||document.documentElement.classList.contains("translated-rtl")||document.querySelector("title")&&document.querySelector("title").hasAttribute("_msthash"))return void alert("⚠%EF%B8%8F תרגום הדפדפן זוהה כפועל בדף זה. זה עלול לגרום לקוד שגוי.\n\nאנא בטל את התרגום באופן ידני (בדרך כלל דרך אייקון בשורת הכתובת) והפעל את הסימנייה מחדש.");const e=e=>new Promise(t=>setTimeout(t,e)),t=(t,n)=>{const o=document.createElement("a"),r=new Blob([n],{type:"text/plain"});o.href=URL.createObjectURL(r),o.download=t,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(o.href)};console.log("שלב 1: פותח תיקיות באופן רקורסיבי...");let n=0;for(;n<10;){const o=Array.from(document.querySelectorAll('nav button[data-state="closed"]')).filter((e=>e.querySelector(".lucide-folder")));if(0===o.length)break;for(const t of o)t.click(),await e(50);await e(400),n++}await e(500),console.log("שלב 2: איסוף והורדת כל הקבצים...");const o=document.querySelectorAll("nav button"),r=[];if(o.forEach((e=>{const t=e.querySelector("svg"),n=e.querySelector(".lucide-folder"),o=e.querySelector("span.truncate");if(t&&!n&&o){let t=o.innerText.trim();t.includes(".")||(t+=".js"),r.push({button:e,filename:t})}})),0===r.length)return void alert("לא נמצאו קבצים להורדה בתפריט.");for(const n of r){console.log(`מעבד את הקובץ: ${n.filename}...`),n.button.click(),await e(750);const r=document.querySelector(".monaco-editor .view-lines");if(r){const o=Array.from(r.querySelectorAll(".view-line")).map((e=>e.innerText)).join("\n");t(n.filename,o),await e(200)}else console.error(`לא נמצא עורך קוד עבור הקובץ ${n.filename}`)}alert(`ההורדה הושלמה! 👍 (הורדו ${r.length} קבצים בס"ד)`)})();
    

    שימו רק לב כי הקודים של Base44 לא בנויים כאתר סטטי עם html, css, js, אלא כולם קבצי js/jsx בהם נמצאים גם הפונקציונליות וגם העיצוב של האפליקציה עם ספריית React. (כך ע"פ AI Studio)
    אם בכל זאת תרצו את ה html של האפליקציה, יהיה עליכם לשמור אותם מהאתר המוכן עצמו (ctrl+s)

    עזרה הדדית - בינה מלאכותית

  • בעיה | הצלת אנשי קשר ממכשיר MTK+. דחוף!!!
    לאציל לאצי

    @א.מ.ד. קודם כל -ברגוע 🙂
    חשוב בהיגיון - האם הגיבוי האוטומטי פעיל? אם כן הרי טוב, אם לא, ייתכן שהוא עשה אי פעם גיבוי לכרטיס זיכרון כלשהו.
    אלו דברים פשוטים אך לפעמים שוכחים אותם מרוב לחץ...
    זה המקסימום שיכולתי לעזור...

    דיון כללי

  • בקשה | הצעת פיתוח | API ציבורי של נטפרי
    לאציל לאצי

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

    לאחר דין ודברים ארוך ומעמיק, שבו הועלו צדדים רבים ומגוונים – החל מההיבט הטכני, דרך שאלות עקרוניות של קניין רוחני וגזל, כמו ש @A0533057932, @צדיק-וטוב-לו-0 ו @mefateach העלו, ובצדק, את הבעייתיות ההלכתית והמוסרית – האם זה לא גזל להשתמש במשאבים של נטפרי בלי רשותם המפורשת? גם אם זה עולה להם "פחות משווה פרוטה" על כל בדיקה.
    במקביל, @צדיק-תמים הזכיר לנו את העמדה העקרונית של נטפרי, כפי שנאמרה על ידי @magicode בעבר – הם לא רוצים שיקחו את מאגר המידע שלהם וישתמשו בו לסינונים אחרים, פחות טובים.

    אז בקיצור כדי לחתוך את כל הדיונים והספקולציות, פניתי ישירות ל-@magicode כדי לשמוע את דעתו בנושא.

    הצגתי לו את הרעיון ואת הדיון שהיה פה, והתשובה שלו הייתה ברורה וחד משמעית: נטפרי לא מאשרת מהלך כזה.

    הסיבות לכך אינן רק אידיאולוגיות, אלא גם מעשיות וכלכליות. הוא הבהיר לי כי פעולת הסינון, ובפרט סינון תמונות, כרוכה בעלויות ממשיות. הרעיון להקים שירות (אף אם הוא לזיכוי הרבים) שמתבסס על המשאבים של נטפרי ויוצר עבורה עלויות, אינו נכון ואינו מקובל על ידם. כפי ש-@magicode הסביר לי, התפיסה הנכונה היא שכמו שמשלמים על בשר כשר, כך יש ערך וחשיבות לשלם על סינון אינטרנט איכותי.
    וגם אם נניח שמבחינת קנין רוחני זה לא בעיה, 'דעלך סאני לחברך לא תעביד'. ובפרט בעשי"ת... 😉

    לכן, לאור כל האמור לעיל – הן הבעיות הרבות שהעלו חברי הפורום והן התשובה הברורה שקיבלתי – החלטתי לרדת מהרעיון ולגנוז אותו עד ביאת גואל צדק (שאז כבר לא נצטרך את כל הסינונים למיניהם... "להעביר גילולים מן הארץ...").

    אני חושב שהיה חשוב וטוב שהנושא עלה ונדון לעומק, לשם בירור העניין עד תומו. כעת, כל מי שיעלה בדעתו רעיון דומה בעתיד, יוכל לקרוא את השרשור הזה ולהבין את מורכבות העניין והבעייתיות שבו.

    תודה רבה לכל המשתתפים, המגיבים, המעירים וכל מי שסייע להגיע לבירור הסוגיה.

    @צוות-פיקוח, כמדומני שניתן לנעול את הנושא.

    רעיונות לביצוע

  • בירור | רעיונות להקלטה טובה דרך הטלפון
    לאציל לאצי

    @3157686 אולי זה:
    https://mitmachim.top/post/740524

    מערכות IVR - ימות המשיח

  • בעיה | קבלת קוד אימות מאפליקציית מאמת החשבונות.
    לאציל לאצי

    @EM308 תנסה אולי את אחד הפתרונות שמוצעים מהפוסט הזה והלאה:
    https://mitmachim.top/post/1007658
    (לא שאני מכיר את הפתרונות ויודע בכלל איך הם עובדים, אבל אולי יש שם משהו מתאים.)

    עזרה הדדית - מחשבים וטכנולוגיה

  • בעיה | קבלת קוד אימות מאפליקציית מאמת החשבונות.
    לאציל לאצי

    @EM308 תנסה את זה
    https://mitmachim.top/post/791456

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשה | הצעת פיתוח | API ציבורי של נטפרי
    לאציל לאצי

    @צדיק-תמים כתב בבקשה | הצעת פיתוח | API ציבורי של נטפרי:

    שהמניעים שלו זה כסף

    זה כבר קצת מוזר לי...
    e93c7458-29a5-4269-a4c8-8b808ef4d183-image.png

    כמו"כ כמה כסף כבר אפשר לעשות מ15 ש"ח בחודש?
    מילא היית אומר לי כי הוא לא פיתח API בגלל שיקולים כספיים לא הייתי גורם להפסד כספי אחר, אבל ברגע שהוא מצהיר בעצמו כי אין לו שום כוונת רווח מכל הסיפור הזה, וכי API לא קיים משיקולים שונים, זכותי המלאה ליצור API כזה מהשיקולים שלי. לא כן?

    רעיונות לביצוע

  • בקשה | הצעת פיתוח | API ציבורי של נטפרי
    לאציל לאצי

    @aiib כתב בבקשה | הצעת פיתוח | API ציבורי של נטפרי:

    מה שברור שזה לא יוכרע כאן בפורום כמה שהמילים יהיו חריפות...

    בדיבורים - לא, במעשים - כן.
    התועלת העצומה בזה רב על ההפסד.

    רעיונות לביצוע

  • בקשה | הצעת פיתוח | API ציבורי של נטפרי
    לאציל לאצי

    @es0583292679 כתב בבקשה | הצעת פיתוח | API ציבורי של נטפרי:

    לא חייבים שני שרתים,

    מי דיבר על שני שרתים? ולמה שני שרתים?

    ניתן להחיל פרוקסי על השרת המקורי, או אולי VPN,

    אשמח להסבר 'פשוט' יותר איך זה בדיוק יעבוד.

    @צדיק-תמים כתב בבקשה | הצעת פיתוח | API ציבורי של נטפרי:

    בגלל התנגדות עקרונית שזה יאפשר לתת את הדברים הטובים של נטפרי עם סינון פחות טוב

    אז לכן הוא לא עשה את זה...
    לדעתי בכל אופן זה יועיל להמון מפתחים.

    רעיונות לביצוע

  • בקשה | הצעת פיתוח | API ציבורי של נטפרי
    לאציל לאצי

    @מייבין-במקצת כתב בבקשה | הצעת פיתוח | API ציבורי של נטפרי:

    ניסית לדבר איתם?

    את האמת - לא.
    אם הם פיתחו API פנימי ולא ציבורי, כנראה יש להם סיבה טובה לעשות זאת. ייתכן שאין להם אינטרס להפיץ כזה דבר או שאולי קשה להם לתחזק את זה... לוידע.

    @מייבין-במקצת כתב בבקשה | הצעת פיתוח | API ציבורי של נטפרי:

    הוא צריך להיות דלוק כל הזמן?

    שאלה טובה. אני לא מבין בזה עד כדי כך, פשוט רעיון שחשבתי עליו. אשמח לתשובה מהמומחים.

    רעיונות לביצוע

  • שיתוף | אתר חדש להחזרת והורדת קישורי ערוץ יוטיוב שלם, ועוד הפתעה...
    לאציל לאצי

    @es0583292679 כתב בשיתוף | אתר חדש להחזרת והורדת קישורי ערוץ יוטיוב שלם, ועוד הפתעה...:

    הנה משהו שהעלו כאן, אשמח לביאור נרחב יותר, ואיך לבדוק בצד השרת:

    https://mitmachim.top/post/1022314

    עזרה הדדית - מחשבים וטכנולוגיה

  • בקשה | הצעת פיתוח | API ציבורי של נטפרי
    לאציל לאצי

    שלום רב!
    כידוע, כיום אין API ציבורי לנטפרי לכלל המשתמשים, מה שמקשה על מפתחים שרוצים ליצור אתרים/יישומים ע"פ סינון נטפרי. יש אמנם את הAPI הזה:

    @meir-lamdan כתב בלהורדה | תוסף לבדיקת קישורים בנטפרי:

    @מוטי-מהיר
    במקום לשלוח את כל הבקשה רק כדי לראות אם זה חסום או לא
    תוכל לבדוק את זה דרך נטפרי
    כך גם תוכל לדעת אם זה נחסם או רק לא נבדק וכו'

    fetch(
      `https://www.google.com/~netfree/test-url?u=${encodeURIComponent(
        request.url
      )}`)
    

    הנה דוגמה למשהו שכתבתי לעצמי לניפוי התשובות שלהם

    const status = {
    unknown: '❓',
    'unknown-video': '❓',
    custom: '❌',
    deny: '❌',
    indev: '🤔',
    }

    אבל הבעיה היא שהוא פעיל רק למשתמשי נטפרי ולא לכלל המשתמשים, כך שלא ניתן להשתמש עם API חיצוני ציבורי.

    אז חשבתי כי ניתן ליצור API כזה שיעבוד כך:
    נצטרך להקים שרת ייעודי שיהיה זמין לכלל האינטרנט.
    שרת זה יהיה מחובר לאינטרנט דרך חיבור נטפרי פעיל.
    כאן יש לנו שני אפשרויות;

    1. כאשר השרת יקבל בקשה מהמשתמש הוא ינסה בעצמו לגשת לכתובת ויראה מה התוצאה.
    2. כאשר השרת יקבל בקשה מהמשתמש (למשל: api.netfree.link/check?url=SOME_URL), הוא יבצע מאחורי הקלעים קריאה ל-API הפנימי של נטפרי (google.com/~netfree/test-url).

    השאלה היא אלו מבין שני הדרכים יעבוד טוב יותר. (בAPI הפנימי אם הכתובת פתוחה הוא לא שולח OPEN אלא קוד מוצפן כלשהו שכנראה מפוענח ע"י שרתי נטפרי. אבל לנו זה מספיק כי אם הוא לא שולח אחד מהתגובות הנ"ל - unknown / unknown-video / custom / deny / indev אז הוא לכאו' פתוח)

    אז לסיכום מה שאנחנו צריכים זה שרת שמחובר דרך סינון נטפרי.
    א. אולי ניתן לעשות זאת ע"י שרת באחסון חינמי כלשהוא?
    ב. ניתן פשוט ליצור שרת כזה על מחשב שמחובר לאינטרנט 24/6 ללא הגבלה עם סינון נטפרי. לשם כך צריך מתנדב שיסכים להושיט את היד והלב...

    בקיצור, אשמח לשמוע את דעתכם. מה אתם אומרים?

    רעיונות לביצוע

  • שיתוף | תוכנה פורצת דרך לעדכוני טלפונים כשרים מבית אסקולס!!
    לאציל לאצי

    @ישראל1212 לכאו' כן. אמנם לא היה לי אף פעם את 3, אבל כעת ב 4 הוא לא איטי באופן משמעותי.

    סלולרי
  • התחברות

  • אין לך חשבון עדיין? הרשמה

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