תוכנת שולחן עבודה לווינדוס לניהול שעות השימוש במחשב. מגדירים מראש באילו שעות וימים המחשב מותר ובאילו חסום, והתוכנה אוכפת זאת בפועל — כולל נעילת המסך, מסך חסימה במסך מלא על כל המסכים, ומניעת עקיפה.
נוצר באהבה על ידי לב טוב דיגיטל — digital.levtov.uk • mytovmail@gmail.com
- לוח זמנים שבועי — לכל יום בשבוע מגדירים חלונות זמן (מותר/חסום), עם שעון 24 שעות שמראה את כל שעות היממה
- שתי שיטות ברורות — "המחשב פתוח תמיד (חוץ ממה שחסום)" או "המחשב חסום תמיד (חוץ ממה שמותר)"
- אכיפה אמיתית — בשעות החסומות מופיע מסך חסימה במסך מלא
- ריבוי מסכים — חלון חסימה נפרד על כל מסך מחובר
- מניעת עקיפה — חסימת Alt+Tab, Win, Ctrl+Esc, Alt+F4 וקיצורים נוספים בזמן חסימה; איבוד מיקוד מחזיר את מסך החסימה
- שומר-שער (הגנה מפני מנהל המשימות) — שני תהליכים משגיחים זה על זה: אם הורגים את האפליקציה ממנהל המשימות, שומר-השער מקפיץ אותה מחדש תוך שניות, ולהיפך
- שעון מהימן — החסימה נמדדת לפי שעון מונוטוני, כך ששינוי שעון המערכת לא עוקף את החסימה
- אזהרה לפני חסימה — הודעה עם ספירה לאחור כמה דקות לפני שהמחשב נחסם (ברירת מחדל: 5 דקות), שמזהירה לשמור קבצים ולסיים את העבודה; מוצגת כבאנר חי בממשק וכהתראת ווינדוס
- נעילה ידנית מלאה — כפתור "נעל עכשיו" מפעיל את מסך החסימה המלא של בין הזמנים, והפתיחה מתבצעת עם סיסמה
- סיסמה — כניסה לניהול ההגדרות, שינויים, מסך החסימה ויציאה מהתוכנה — כולם דורשים סיסמה; אימות מתבצע בתהליך הראשי (לא בממשק), עם נעילה זמנית אחרי 5 ניסיונות שגויים למניעת ניחוש (ברוט-פורס)
- יציאה מוגנת בסיסמה — "יציאה" מתפריט המגש דורשת סיסמת הורה; כך אי אפשר לעקוף את החסימה פשוט בלחיצה על יציאה
- סיסמה מוצפנת בדיסק — הסיסמה נשמרת מוצפנת עם DPAPI של Windows (safeStorage) לשחזור למייל בלבד; לא מועברת לממשק ולא נכתבת כטקסט מלא
- שחזור סיסמה למייל — כל הבקשות נשלחות לשרת השחזור של בין הזמנים בלבד (Google Apps Script + Google Sheets של המפתח)
- אופליין מלא — כל פעולות התוכנה עובדות ללא אינטרנט; רק שחזור הסיסמה ובדיקת עדכונים דורשים רשת
- עדכונים — התוכנה בודקת עדכון מרקע ומציגה הודעה בתוך התוכנה + התראת ווינדוס
- חלונות שחוצים חצות — למשל 22:00–06:00 (הסוף הוא למחרת בבוקר)
- מגש מערכת — רצה ברקע, מצב נוכחי + נעילה מהירה
- אימות סיסמה כפול — הקלדה חוזרת בעת הגדרה או החלפת סיסמה
- הפעלה עם Windows (תמיד פעילה, ללא אפשרות לכיבוי) — עולה אוטומטית בכל כניסה למחשב, גם עבור כל המשתמשים (Registry של המשתמש + של המחשב + משימה מתוזמנת בהרשאות גבוהות); האופציה אינה מוצגת בממשק
- עדכון חי — כרטיס מצב עם ספירה לאחור למעבר הבא
- מצב בהיר/כהה/מערכת — ערכת נושא הניתנת לבחירה, כולל מעקב אוטומטי אחרי הגדרת Windows בזמן אמת
- יומן פעילות + דשבורד סטטיסטיקות — כמה שעות נחסם המחשב היום והשבוע, ניסיונות פתיחה שגויים, מתי נפתח/נחסם
- חריגים חד-פעמיים — למשל "להרשות את כל יום שבת" לחופשה/חג, בלי לשנות את הלוח הקבוע (מצוין גם על שעון היום)
- הודעה אישית במסך החסימה — מסר מהורה לילד, למשל "נלמד בשקט 🐣"
- מסך "מצב ההגנה" — בדיקת תקינות אחת שמראה להורה שכל ההגנות פעילות (הפעלה עם Windows, משימה מתוזמנת, הגדרות משותפות, סיסמה, חיבור מייל שחזור)
- גיבוי ושחזור הגדרות — הורדת קובץ גיבוי JSON ושחזור מלא, כולל חריגים והודעות — הסיסמה לעולם אינה מועתקת לגיבוי
- Windows 10/11
- Node.js 20+ (להרצה מהקוד)
- לחסימה יעילה נגד שינוי שעון — מומלץ להשאיר "הגדרת שעה אוטומטית" פעילה בווינדוס
npm install
npm startהתוכנה תופיע בחלון הגדרות וסמלה יישב במגש המערכת. אם הוגדרה סיסמה — הכניסה להגדרות דורשת אותה.
npm testnpm install --save-dev electron-builder
npm run distהקובץ ייווצר בתיקיית dist/ (מתקין NSIS).
- שעות חסימה היום והשבוע, כמות הפעלות ונעילות, וניסיונות פתיחה שגויים (כולל נעילות זמניות).
- רשימת אירועים אחרונים (פתיחה/חסימה/ניסיון שגוי) עם תאריך ושעה.
- היומן נשמר בקובץ
activity.logבתיקיית הנתונים (עד 1000 אירועים אחרונים, כדי לא לתפוח).
- מאפשרים לעקוף את הלוח הקבוע ליום מסוים בלבד — למשל "אפשר את כל יום שישי".
- כל חריג הוא רשומה עם תאריך וסוג (מותר/חסום), וניתן למחוק אותו בקלות.
- החריג מוצג כפס על שעון היום המתאים בלוח השבוע.
- לחריג שחסום — סיסמת מנהל אינה פותחת אותו; הפתיחה מתבצעת רק מהממשק (בדומה למנעול הידני).
- הודעה קצרה (עד 120 תווים) שתופיע במסך החסימה מעל שדה הסיסמה, למשל "נלמד בשקט".
- מוצגת גם במנעול ידני ובחסימה רגילה — בכל מסך.
- בדיקה אחת שמראה מצב ירוק/אדום לכל הגנה:
- הפעלה עם Windows (עבור המשתמש והמחשב), משימה מתוזמנת בהרשאות גבוהות, הגדרות משותפות, סיסמה מוגדרת ומייל שחזור מחובר.
- בכל בדיקה יש כפתור תיקון לפעולות שאפשר לתקן אוטומטית.
- ייצוא: קובץ JSON עם כל ההגדרות (לוח, שיטה, חריגים, הודעות, ערכת נושא). הסיסמה אינה נכללת — גם הגיבוי לא חושף אותה.
- ייבוא: בחירת קובץ גיבוי ובדיקת תקינות אוטומטית — קובץ לא תקין או קטן מדי נדחה.
- הגיבוי שומר על סיסמת התוכנה הנוכחית (אין איפוס סיסמה דרך ייבוא).
כל בקשת שחזור סיסמה נשלחת תמיד לשרת השחזור של בין הזמנים בלבד.
- כתובת מייל לשחזור — המייל אליו תישלח הסיסמה כששוכחים אותה.
בעת לחיצה על "שכחתי סיסמה" (במסך הכניסה או במסך החסימה) — הבקשה נשלחת לשרת, הסיסמה נשלחת למייל המוגדר, והבקשה נרשמת בגיליון של המפתח. יש גם כפתור "שליחת סיסמה לבדיקה" בהגדרות כדי לוודא שהכול מחובר.
-
לוח הזמנים נשמר כקובץ
settings.json(למשתמש או משותף — ראו לעיל). -
תהליך רקע בודק את הזמן כל 5 שניות, לפי שעון מונוטוני שאינו מושפע משינוי שעת המערכת.
-
כשמגיעים לשעת חסימה: מסך חסימה במסך מלא על כל מסך מחובר (ללא כפתורי סגירה) וקיצורי מערכת נחסמים.
לפני שעת החסימה (ברירת מחדל: 5 דקות קודם) מופיעה אזהרה — באנר עם ספירה לאחור בממשק + התראת ווינדוס — שמזהירה לשמור קבצים ולסיים את העבודה. אפשר להגדיר את משך האזהרה (הגדרות → אזהרה לפני החסימה) או לכבות אותה (0).
-
סיסמה שנזנה במסך החסימה נבדקת בתהליך הראשי (לא בממשק), ונעולה זמנית ל-60 שניות אחרי 5 ניסיונות שגויים. הצלחה פותחת את המחשב עד המעבר הבא בלוח הזמנים (ואז נחסם שוב).
-
גם אם סוגרים את חלון ההגדרות — התוכנה נשארת פעילה במגש ואוכפת את הלוח.
-
שומר-שער: האפליקציה מפעילה תהליך שמירה נפרד שמנטר אותה. אם התהליך הראשי נסגר ממנהל המשימות — השומר מקפיץ אותו מחדש תוך שניות (לפי קבצי heartbeat בתיקיית הנתונים). גם אם הורגים את השומר — התהליך הראשי מקפיץ אותו מחדש. לסגירה מלאה יש להשתמש ב"יציאה" מתפריט המגש — והיא דורשת סיסמת הורה (כדי שלא יהיה אפשר לעקוף את החסימה בלחיצה).
הערה: אם שכחתם את הסיסמה ואין מייל מוגדר — מחקו את הקובץ
settings.jsonמהתיקייה%APPDATA%\בין הזמנים - ניהול זמן מחשב(או מהתיקייה%ProgramData%\BenHazmanimאם הרצתם כמנהל), או התקינו מחדש. שימו לב שמחיקת הקובץ מאפסת גם את לוח הזמנים.
main.js — תהליך ראשי: אכיפה, שעון מהימן, חסימת קיצורים, שחזור, עדכונים
preload.js — גשר מאובטח בין הממשק לתהליך הראשי
scheduler.js — מנוע חישוב לוח הזמנים (משותף)
renderer/index.html — ממשק ההגדרות (עברית, RTL, מסך כניסה)
renderer/block.html — מסך החסימה (כל המסכים)
renderer/styles.css — עיצוב
renderer/app.js — לוגיקת הממשק
gas/PasswordRecovery.gs — סקריפט שחזור הסיסמה (Google Apps Script)
test/scheduler.test.js — בדיקות יחידה
scripts/generate-icon.js — מחולל אייקונים (ללא תלות חיצונית)
scripts/build-preview.js — בונה preview.html עצמאי לתצוגה בדפדפן
version.json — מקור עדכונים לדוגמה (לפרסום ב-GitHub)
npm run previewמייצר קובץ preview.html עצמאי שאפשר לפתוח בדפדפן. ההגדרות נשמרות ב-localStorage.
- האכיפה ברמת שולחן העבודה. משתמש בעל הרשאות מנהל שיודע להרוג תהליכים או לערוך קבצים יכול לעקוף אותה.
- Ctrl+Alt+Del הוא קיצור מערכת מוגן של ווינדוס שאי אפשר לחסום מתוכנה רגילה.