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

ב־30 באוגוסט 2026 מכונת הבדיקה שלנו עם Windows דיווחה לנו שהיא מחוברת לאינטרנט, אף שהייתה מנותקת ממנו באמת. כרטיס הרשת הווירטואלי שלה היה פעיל, והדגל “האם אני מחובר” של הדפדפן (ערך של כן או לא ששומר הדפדפן) האמין לכרטיס.
ציון ברגע בנויה לעבוד בלי אינטרנט בכלל. יצירה, הדפסה, סריקה ובדיקת המבחנים קורות כולן במחשב עצמו. ובכל זאת, כמה דברים כן צריכים אינטרנט: ייבוא מבחן או רשימת תלמידים בעזרת בינה מלאכותית, והורדת עדכונים. לכן יש בקוד של התוכנה שער קטן, בדיקה שמחליטה אם כפתורים שצריכים אינטרנט יהיו פעילים, והוא עונה על שאלה אחת: האם המחשב הזה באמת מחובר עכשיו לאינטרנט?
זה נשמע כמו עבודה של שורה אחת, אבל זה לקח כמה ניסיונות, וכל אחד מהם לימד אותנו עד כמה “מחובר” הוא מושג לא אמין.
בקצרה
- התוכנה עובדת בלי אינטרנט בכלל. כמה תכונות, כמו ייבוא בעזרת בינה מלאכותית והורדת עדכונים, צריכות אותו.
- הדגל של הדפדפן אומר שיש חיבור רשת כלשהו, לא שהוא מגיע לאינטרנט.
- שלוש בדיקות לפי הסדר: כרטיס הרשת, חיבור החוצה לפי כתובת מספרית, ותשובה אמיתית מאתר מוכר. דף התחברות לא נחשב.
- בדיקה שלא נענתה לעולם לא תפתח תכונה שצריכה אינטרנט.
ניסיון ראשון (לא אחת מהבדיקות): לשאול את הדפדפן
מסך התוכנה הוא דף אינטרנט, ולכל דפדפן יש דגל מובנה שאומר “האם אני מחובר”. הגרסה הראשונה שלנו סמכה עליו.
הדגל לא אומר מה שרצינו. הוא אומר אם למחשב יש חיבור רשת כלשהו, ולא אם החיבור הזה מגיע לאינטרנט. מחשב שמחובר לנתב של בית ספר בלי קו החוצה יגיד “מחובר”, וכך גם מחשב שמאחורי סינון שחוסם את רוב האינטרנט, מצב שנפוץ אצל האנשים שאנחנו בונים בשבילם.
מכונת הבדיקה הראתה לנו את זה. התיקון היה להפסיק לסמוך על הדגל הזה בכל מקום. צד ה־Go (נפתח בלשונית חדשה) של התוכנה הוא עכשיו הגורם היחיד שקובע, והמסך מקבל ממנו את התשובה. עד שמגיעה התשובה הראשונה, התוכנה מניחה “לא מחובר”.
ניסיון שני (בדיקה ראשונה): הכבל מחובר?
השכבה הבאה למטה היא החומרה: האם יש במחשב כרטיס רשת שדלוק? הבדיקה זולה ולא דורשת תעבורת רשת, ולכן היא הצעד הראשון אצלנו. אבל היא מוכיחה רק שהתקע בקיר, ואינה אומרת דבר על הדרך שאחריו.
ניסיון שלישי (בדיקה שנייה): אפשר להגיע החוצה?
לכן הצעד השני עולה שכבה. התוכנה מנסה לפתוח חיבור לשירות שמות ציבורי מוכר, מהסוג שהופך שמות אתרים לכתובות. היא משתמשת בכתובת המספרית שלו, כדי שהבדיקה לא תצטרך את החיפוש שהיא עצמה בודקת. אם זה עובד, הדרך החוצה פתוחה.
זו “בדיקת הרשת האמיתית” שלנו. הרעיון שנשאר איתנו: בודקים את הכביש, לא את המכונית.
ניסיון רביעי (בדיקה שלישית): האם אתר אמיתי עונה, בדרך האמיתית?
גם זה לא מספיק. ברשתות אלחוטיות של מלונות ושדות תעופה החיבור לפעמים נפתח, ואז מוצג דף התחברות במקום האתר שביקשתם. מבחינת התוכנה זה נראה כאילו האינטרנט שם, אבל הוא לא.
לכן הצעד השלישי מבקש דף קטן מכמה כתובות מוכרות שנועדו לבדיקת חיבור, כאלה שטלפונים משתמשים בהן לאותה מטרה. התוכנה פונה אליהן במקביל, ותשובה אמיתית אחת מספיקה, כך שכתובת חסומה אחת לא גורמת לבית הספר להיראות מנותק. היא מקבלת רק את התשובה המדויקת שאינטרנט אמיתי נותן: סטטוס מסוים, ובאחת הכתובות גם שורת טקסט מסוימת. דף התחברות לא תואם אותה, ולכן לא נחשב לאינטרנט. שלוש השכבות כבר היו בקוד מאז מאי 2026. הגרסה המקבילה הזו, שמקבלת רק את התשובה המדויקת, נכנסה ב־30 בספטמבר 2026.
הקוד רושם איזו שכבה נכשלה. כשמישהו אומר שכתוב לו “אין אינטרנט”, אפשר לראות אם כרטיס הרשת כבוי, אם הדרך סגורה או אם דף התחברות עמד בדרך.
- התקע האם יש כרטיס רשת שדלוק? הבדיקה זולה ולא דורשת תעבורת רשת. היא מוכיחה רק שהתקע בקיר.
- הכביש האם אפשר לפתוח חיבור לשירות שמות ציבורי מוכר, לפי הכתובת המספרית שלו? אם כן, הדרך החוצה פתוחה.
- התשובה האם אתר אמיתי עונה בדרך האמיתית? רק התשובה המדויקת שאינטרנט אמיתי נותן נחשבת, ולכן דף התחברות לא נחשב.
פרט קטן על מהירות
הערה בקוד מציינת שבמכונת בדיקה שהופעלה זה עתה, החיפוש הראשון לקח פעם אחת 11 שניות, ואחר כך 10 אלפיות השנייה. לכן לכל סבב בדיקה יש מגבלת זמן, והתוצאות נשמרות לזמן קצר, כדי שהרבה חלקים בתוכנה ששואלים בבת אחת לא יפתחו כל אחד בדיקה משלו. כשהתוכנה מחוברת, היא בודקת כל 20 שניות. כשאינה מחוברת, היא בודקת לעתים קרובות יותר, כל 5 שניות, כדי להבחין מהר כשהחיבור חוזר.
למה משמשת התשובה
השער צר בכוונה. הוא לא מעביר את המוצר ל“מצב מקוון”. הוא רק מחליט אם להציע תכונה שצריכה אינטרנט:
- ייבוא מבחן או רשימת תלמידים בעזרת בינה מלאכותית צריך אינטרנט, ולכן הכפתורים האלה כבויים כשהתוכנה לא מחוברת.
- תכונות ענן בודקות גם את היעד שלהן, כי אינטרנט כללי הוא תנאי הכרחי אבל לא מספיק.
שיפור אחד הגיע ב־18 באוקטובר 2026. הבדיקות האוטומטיות שלנו משתמשות בתחליף שמשחזר תשובה שמורה במקום לפנות לשירות בינה מלאכותית אמיתי, ותחליף כזה לא צריך אינטרנט. לכן השער שואל עכשיו אם התכונה שבשימוש באמת צריכה אינטרנט, ואם אין תשובה הוא מניח שכן. בדיקה שלא נענתה לעולם לא תפתח תכונה שצריכה אינטרנט.
מה למדנו
“קודם כול בלי אינטרנט” היא הבטחה לכל מי שעובד בתוכנה: היא לא תפסיק לעבוד רק כי אין אינטרנט. להיות ישרים לגבי השאלה מתי יש אינטרנט היה עבודה נפרדת, וקשה יותר. לשאול את הדפדפן היה ניחוש, ולהסתכל על הכבל היה חצי עובדה. רק לשאול את העולם שבחוץ ולקבל תשובה אמיתית היה אמין מספיק כדי לבנות עליו.
שום דבר בסיפור הזה לא מתאים לחיפוש.
עוד סיפורי מקרה לקריאה
“למה אי אפשר פשוט לסרוק?” איך התחילה ציון ברגעהכול התחיל במייל אחד, עם שאלה פשוטה. זה הסיפור כפי שבעל הפרויקט מספר אותו: החיפוש הראשון, השוואה ללוטו, זיכרון מילדות על מילוי עיגולים, ולמה בנינו קורא משלנו.
איך בחרנו את הכלים: Tauri, Electron, ואז Wails ו־Goהתחלנו עם Rust ו־Tauri, חזרנו לכלים שאנחנו מכירים, והגענו ל־Go ול־Wails, שלא תכננו. הלקח: בוחרים כלים שאפשר לספק איתם מוצר.