הפניה / ראיות
Telegram · אחסון ושחזור
גיבויים, העברת קבצים ישנים לענן, עותקים תחת Object Lock ושחזור במחשב חדש.
TgWitness / תיעוד · פריסה ושחזור
הלוח מחלק את העבודה לשלוש משימות:
| המשימה | מה הוא עושה |
|---|---|
| שמרו גיבוי | העתיקו את היומן החתום, נקודות הבדיקה, הקבצים שנשמרו והייצואים בתור אל יעד ה-S3 שהוגדר. |
| שטח אחסון מקומי חינמי | העתיקו קבצים מצורפים ישנים שנבחרו ל-S3 או לשרת ענן מרוחק של rclone, קראו אותם במלואם, אמתו את הביטים המוצפנים, ולאחר מכן מחקו את העותק המקומי המאומת. |
| שמרו עותק כראיה | הגדר את S3 Object Lock ובדוק את מצב השמירה שהוחזר. השירות חייב לאשר את המצב והתאריך המבוקשים. |
שחרור שטח אחסון לעולם אינו מוחק או משנה את היומן החתום. כל קובץ מצורף שומר על ה-SHA-256 המקורי שלו ועל אישור שחזור. דחיסה אופציונלית ב-gzip מתבצעת לפני ההצפנה המאומתת. שמות הקבצים בענן אינם מכילים שמות Telegram, מזהי צ'אט או שמות קבצים מצורפים מקוריים. גודל קובץ מצורף אחד יכול להגיע עד 32 GiB.
תגובה להעלאה כשלעצמה אינה מהווה אישור למחיקת קובץ. TgWitness מוריד את האובייקט המוצפן במלואו, מאמת את גודלו ואת SHA-256, שומר את הקבלה, ואז בודק שוב את הבתים המקומיים מיד לפני ההסרה. כישלון בהעלאה, קריאה חוזרת שונה או העברה שבוטלה משאירים את הקובץ המקומי במקומו. אם גיבוי ראיות מופעל עדיין לא העתיק את הקובץ, ההסרה ממתינה גם לכך.
בעמוד זה
כשהדיסק מתמלא#
הורדת קבצים מצורפים מושהית כאשר השטח הפנוי יורד מתחת לערך פרמטרים ← קבצים מצורפים ← שטח דיסק פנוי (ברירת מחדל 1 GiB), תוך שמירת התור. תצפיות טקסט ממשיכות. הדבר אינו תלוי בהתראות: כיבוין אינו מבטל את השטח השמור להורדה או את הגנות האחסון.
כדי לפעול מוקדם יותר, הפעילו הרצה אוטומטית, בחרו הסרת הקובץ המקומי לפינוי מקום והפעילו העברה נוספת כאשר שטח הדיסק נמוך. כברירת מחדל, הכלל האופציונלי מתחיל מתחת ל־5120 MiB פנויים וממשיך באצוות עד שמתפנים 10240 MiB. שני הספים ניתנים להגדרה. היעד, גיל הקובץ המזערי, גודל האצווה, אימות בקריאה חוזרת מלאה ודרישות גיבוי הראיות זהים להרצה ידנית. הכלל אינו מפעיל יעד בעצמו. בדיקות נערכות כל 30 שניות; שגיאה או חוסר התקדמות דוחים את הניסיון הבא בחמש דקות. המצב ומועד הניסיון החוזר נשמרים לאחר הפעלה מחדש. כאשר הכלל אינו פעיל, הרצות מתוזמנות שומרות על המרווח הרגיל.
הלוח מציג שטח פנוי, עתודת אריזה, מוכנות הכלל וקבצים שדולגו בשל מחסור בשטח זמני. אריזה ושחזור בודקים את דרישת השטח הזמני המרבית לפני תחילת העבודה ואת השטח הזמין בזמן הכתיבה. נעשה שימוש בעתודה שהוגדרה להורדות, עם מינימום 64 MiB לפעולות אחסון. אין זו מכסת מערכת קבצים; תהליך אחר עלול לצרוך מקום בין הבדיקות.
Gzip דוחס אובייקטים מרוחקים ללא אובדן; הוא אינו מקטין את היומן הפעיל ואינו יוצר ארכיונים מקומיים. קובצי JPEG, וידאו ו־ZIP עשויים כמעט לא להצטמצם ואף לגדול מעט. כשדחיסה פעילה, האריזה עשויה לדרוש זמנית בערך פי שניים מגודל הקובץ המצורף ועוד העתודה. בחרו סף התחלה מוקדם מספיק לקבצים הגדולים ביותר. קובץ גדול מדי נשמר ומדווח; קבצים קטנים יותר ועותקים מרוחקים שכבר אומתו עדיין יכולים לפנות מקום. עותק מאומת מאפשר להסיר את הקובץ המקומי בלי ליצור עוד קובץ אריזה מקומי. גם שחזור דורש שטח זמני ועשוי להידחות עד שיהיה זמין.
אם אין קבצים מתאימים להעברה או שלא הוגדר יעד, TgWitness אינו יכול לפנות מקום אוטומטית. ניהול האחסון לעולם אינו מקצר או משכתב את היומן החתום. עדיין דרוש לו מקום לתצפיות טקסט חדשות.
חבר יעד#
בתפריט Extras → Storage & disk space → Manage storage, בחרו את המשימה ואת היעד, שמרו אותה, ואז בחרו Test upload & download. הבדיקה מעלה קובץ בדיקה קטן ואקראי וקוראת אותו חזרה. היא אינה משתמשת בתוכן מ-Telegram.
עבור S3, יש להשתמש בנקודת הקצה, האזור והדלי (bucket) בפועל של הספק. Wasabi, Backblaze, Cloudflare R2 ושירותים תואמים אחרים משתמשים באותן הגדרות S3. תאימות ל-API בלבד אינה מעידה על תמיכה ב-Object Lock. מצב Governance עשוי לאפשר למנהל מורשה לעקוף את מדיניות השמירה; למצב Compliance יש אילוצים שונים. יש לקרוא את סטטוס ה-Object Lock שהוחזר לפני שהסתמכת על מדיניות השמירה.
עבור יעד rclone, צרו חיבור מרחוק אחד באמצעות הגדרת הספק של rclone ו
הדביקו את [name] לוח הבקרה. העוזר המותקן תומך ב-
MEGA, Google Drive, OneDrive, Dropbox, Box, pCloud ובספקים האחרים המוצגים
בבוחר. פרטי ההזדהות נשמרים בכספת המוצפנת של סביבת העבודה הזו. רענוני OAuth
נשמרים חזרה בכספת. פרטי ההזדהות אינם מתווספים לאירועי היומן
או נכללים בהורדות השחזור.
העוזר מותקן בתוך סביבת העבודה, עם גרסה מוצמדת ו-SHA-256. הוא אינו מתווסף ל-PATH של המערכת. קבצי תצורה וקבצי עבודה הם קבצים זמניים בתוך סביבת העבודה הזו. חיבורים מרחוק מבוססי פקודות וקבצים מקומיים נדחים. rclone דורש כרגע בחירה מפורשת של נתיב Direct עבור בקשות חיצוניות. השתמש באחסון S3 מקורי עבור נתיב SOCKS5 או HTTP של סביבת העבודה; rclone אינו עוקף בשקט נתיב שאינו זמין.
שמור את קובץ השחזור#
בחר באפשרות "שמור קובץ שחזור" לאחר העתקת הקבצים ושמור אותו במקום נפרד מההתקנה. הקובץ מכיל את מפתח הפענוח ואת קבלות האובייקטים החתומות, לכן יש להתייחס אליו כאל גיבוי של מפתח פרטי. שמור גם את תצורת הרשת המרחוק המקורית ואת פרטי הזיהוי של היעד בנפרד. קובץ שחזור שנלקח לפני העתקה מאוחרת יותר אינו מכיל את הקבלה של הקובץ המאוחר יותר.
טביעת האצבע של מפתח החתימה כבר צריכה להיות מתועדת בנפרד. חתימה שנבדקת רק מול המפתח המופיע באותו הקובץ אינה קובעת של מי הוא קובץ השחזור.
כדי לשחזר קבלות אחסון חסרות בסביבת עבודה קיימת, פתחו את "שחזור קבצים מקובץ שחזור שמור" ובחרו את הקובץ. הלוח בודק את החתימה ודורש את אותו מפתח החתימה של סביבת העבודה. הוא מסרב להחליף מפתח אחסון שונה. לאחר מכן בחרו "שחזור כל הקבצים". השחזור מעכב את כלל האחסון האוטומטי, כך שהמחזור המתוזמן הבא לא יוכל להסיר שוב את הקבצים ששוחזרו באופן מיידי. הפעילו מחדש את הכלל כאשר תסיימו להשתמש בעותקים המקומיים.
שחזור מאמת את הטקסט המוצפן, מאמת את פענוח ההצפנה, מבצע דחיסה במידת
הצורך ובודק את הטקסט הגלוי המקורי SHA-256 לפני שמציב קובץ ב media/.
אובייקט מרוחק פגום לעולם אינו מחליף קובץ מקומי. קובץ מקומי קיים עם
בתים שונים נשמר לבדיקה במקום להימחק.
שחזור לאחר אובדן ההתקנה#
התקן את TgWitness במחשב אחר. השתמש בקובץ השחזור הפרטי, בטביעת האצבע שהוקלטה בנפרד ובפרטי ההזדהות המקוריים של היעד:
python -m tgwitness.storage recover \
--recovery storage-recovery.json \
--fingerprint TRUSTED_WORKSPACE_SHA256 \
--credentials original-rclone.conf \
--output recovered-attachments
עבור S3, --credentials מצביע על קובץ JSON פרטי עם access_key ו
secret_key; קובץ השחזור החתום מספק את הגדרות היעד.
הפקודה משתמשת בחיבור חיצוני ישיר ומורידה את העוזר המוצמד
כאשר rclone remote זקוק לו. היא מסרבת לספריית פלט קיימת.
הבייטים המקוריים ששוחזרו נכתבים ל recovered-attachments/media/, הנקראים על פי
ה-SHA-256 שלהם. recovery-log.jsonl הוא תיעוד לא חתום של פעולות השחזור.
הפקודה אינה משחזרת יומן חתום שאבד או את מפתח החתימה שלו. שמרו
גיבוי מלא של סביבת העבודה עבורם. קובץ שחזור אחסון אינו גיבוי מלא של סביבת העבודה
.
בוט המפעיל והודעות השלמה#
הבוט ב-Telegram שייך למפעיל. צרו אותו באמצעות BotFather והגדירו את האסימון, צ'אט היעד ומזהי המשתמשים המותרים במפורש ב-Telegram בלוח הבקרה. גם השולח וגם הצ'אט חייבים להתאים. הודעות מועברות ופקודות מבוטים אחרים מתעלמות.
/status ו /stats זמינים במצב ברירת המחדל של "סטטוס בלבד". מצב
הבקרה האופציונלי מוסיף /pause, /resume ו /copy. /copy ומבקש את
משימת האחסון שהוגדרה; אין זה אומר שההעלאה מרחוק כבר הסתיימה. הפקודות
אינן יכולות לספק כתובות URL, קבצים או תוכניות מעטפת שרירותיות.
השתמש בהגדרות ההתראות הנפרדות עבור התראות והשלמת משימות. הודעות השלמה מבחינות בין ייצוא חשבון עם פערים לייצוא מלא, ומציגות היסטוריה ומספר פריטי האחסון. קטעי הודעות אינם כלולים, אלא אם כן הופעלו בנפרד בהגדרות ההתראות. בורר השירותים נוצר מתוך קטלוג Apprise המותקן בפועל, ולא מתוך קבוצה קבועה של דוגמאות לספקים.