# הדרכה של Noterich P2P Sync: סינכרון בין מכשירים ללא שימוש בכלור > **סנכרן את הרשומות שלך בין מכשירים בצורה בטוחה – ללא צורך בשמירה בכלור.** בעידן שבו פרטיות הנתונים חשובה יותר מתמיד, Noterich מציע שיטה חדשנית לסינכרון בין מכשירים. תכונה **P2P (Peer-to-Peer) Sync** שלנו מאפשרת שיתוף הרשומות בין המכשירים ללא צורך בשרתי כלור. הנתונים שלך נשארים שלך – תמיד. ## מדוע לבחור ב-P2P Sync? אפלטונטים לרישום רשומות שומרים את הנתונים שלך בשרתים מרכזיים. זה יוצר סיכונים לפרטיות, עלויות ארכתיקה ותלות באפריורי. Noterich נוקטה בדרך אחרת: ```mermaid graph LR A[מכשירך] <-->|התקשרות ישירה| B[מכשירך האחר] C[שרת כלור] -.->|אינו נדרש| A C -.->|אינו נדרש| B style A fill:#4CAF50,color:#fff style B fill:#4CAF50,color:#fff style C fill:#9E9E9E,color:#fff,stroke-dasharray: 5 5 ``` ### יתרונות עיקריים - **🔒 פרטיות ראשונה**: הרשומות שלך לא נוגעות לשום שרת אחר - **⚡ מהירות וישירות**: המכשירים מתקשרים ישירות לצורך סינכרון מהיר - **💰 ללא ארכתיקה**: סינכרון P2P בחינם, ללא רמות מעלות - **🌐 עובד בכל מקום**: סינכרון דרך רשת מקומית או אינטרנט - **📱 בין פלטפורמות**: עובד בין שולחנות, לפנים, טאבלטים ומכשירים ניידים ## כיצד עובד P2P Sync Noterich משתמש בטכנולוגיית **WebRTC** בשילוב עם **PeerJS** כדי ליצור התקשרויות ישירות בין המכשירים. כאשר אתה מפעיל סינכרון: ```mermaid sequenceDiagram participant D1 as Device A (שולח) participant S as Signaling Server participant D2 as Device B (מקבל) D1->>S: בקשה לחיבור ID S-->>D1: יצירת ID של חדר D1->>D2: שיתוף קישור חיבור (QR/URL) D2->>S: חיבור באמצעות ID של חדר S-->>D2: הקמת חיבור Peer D1->>D2: אימות ושליחת הרשומות D2->>D2: פריקה והכנסת הרשומות Note over D1,D2: העברה חתומה ישירה<br/>אין שמירה של נתונים בשרת ``` ### הטכנולוגיה שמאחורי הקלעים היישום P2P של Noterich משתמש ב: 1. **ספריית PeerJS**: מטפלת בפירוט של WebRTC לצורך תקשורת בין חלונות 2. **אימות AES-GCM**: אימות צבאי לנתוני הרשומות 3. **PBKDF2 Key Derivation**: יצירה בטוחה של מפתחות אימות על בסיסパスワード 4. **MessagePack Serialization**: ארגון נתונים בינארי יעיל לצורך העברה מהירה 5. **IndexedDB Storage**: בסיס נתונים מקומי לגישה ללא חיבור לאינטרנט ## התחלת השימוש ב-P2P Sync ### תנאי הכרחיים לפני שתתחיל, וודא שיש לך: - ✅ Noterich מותקן בשני המכשירים - ✅ שני המכשירים מחוברים לאינטרנט (או אותה רשת מקומית) - ✅ חלון ראשון מודרני (Chrome, Firefox, Edge, Safari) ### שלב 1: הפעלת שיתוף מהמכשיר הראשון 1. פתח את הרשומה שאתה רוצה לשתף ב-Noterich 2. לחץ על כפתור **Share** בתפריט 3. בחר את אפשרות **"P2P Share"** 4. (אופציונלי) הזן פעוט לצורך אבטחה נוספת - הפעטוטים חייבים להיות לפחות 8 תווים - משתמשים באימות AES-256-GCM 5. חכה שהשרת P2P יתחיל להתחיל ```mermaid graph TD A[פתיחת רשומה] --> B[לחיצה על כפתור שיתוף] B --> C[בחירת P2P Share] C --> D{הזן פעטוט?} D -->|כן| E[הזין פעטוט ≥8 תווים] D -->|לא| F[התעלם מאימות] E --> G[התחילה של שרת P2P] F --> G G --> H[הגדרת קישור שיתוף וקוד QR] ``` ### שלב 2: שיתוף קישור החיבור כאשר השרת P2P מתחיל לעבוד, Noterich מפתח: - **קישור שיתוף ייחודי** שמכיל פרמטרים של חיבור - **קוד QR** לסריקה מהירה במכשירים ניידים צורת הקישור היא כך: ``` https://noterich.com/#dbshare=<infoHash>&server=<signaling-server> ``` **שיטות שיתוף:** | שיטה | הכי טוב לשימוש | כיצד לעשות זאת | |--------|----------|----------| | 🔗 העתקת קישור | אימיילים, אפליקציות הודעות | לחץ על כפתור "העתקת קישור" | | 📱 קוד QR | מכשירים ניידים | סריקה עם מצלמה של המכשיר | | 📧 אימייל | שותפים מרחוק | העתקת הקישור לאימייל | ### שלב 3: קבלת הרשומות במכשיר המקבל במכשיר המקבל: 1. **פתיחת קישור השיתוף** - לחץ ישיר על הקישור, או - סריקת קוד QR עם המכשיר הנייד 2. **עיון הרשומות שנשלחו** - צפייה בתאריכים ומטאדאטים של הרשומות - בדיקת מידע השולח 3. **הזנת פעטוט** (אם אימות) - הזנת הפעטוט שניתן על ידי השולח - הנתונים מפרקים במכשיר שלך 4. **בחירת מקום עבודה למקבל** - בחירת מקום עבודה קיים, או - יצירת מקום עבודה חדש לרשומות שהונחתו 5. **אישור ההכנסה** - הרשומות מפרקות ונשמרות ב-IndexedDB - אינדקס החיפוש מחודש באופן אוטומטי ```mermaid graph LR A[פתיחת קישור] --> B[חיבור למקבל] B --> C{מאומת או לא?} C -->|כן| D[הזין פעטוט] C -->|לא| E[צפייה במטאדאטים] D --> E E --> F[צפייה ברשומות] F --> G[בחירת מקום עבודה] G --> H[הכנסה ואינדקס] H --> I[סינכרון מושלם!] style I fill:#4CAF50,color:#fff ``` ## תכונות מתקדמות ### העברת נתונים מוגנת לרשומות רגישות, Noterich מציע אימות אינטרנט-ל-אינטרנט אופציונלי: **תהליך אימות:** ```javascript // פעטוט → מפתח אימות (PBKDF2) password + salt → deriveKey() → מפתח AES-256-GCM // נתוני הרשומה → בופרת noteData + key + iv → encrypt() → encryptedBuffer // העברת פריט { encryptedBuffer: ArrayBuffer, salt: Uint8Array, // לצורך גיבוש המפתח iv: Uint8Array // וקטור ההתחלה } ``` **תכונות אבטחה:** - 🔐 100,000 יצירות של PBKDF2 לצורך גיבוש המפתח - 🔐 סולטה ו-IV אקראיים לכל העברת נתונים - 🔐 אימות צבאי AES-256-GCM - 🔐 הפעטוטים לא מועברים – משמשים רק מקומית ### העברת רשומות בהקפה העברת מספר רשומות בו זמנית: 1. גישה ל **Database Transfer** מההגדרות 2. בחירת **"P2P Sync"** כאופן עבודה 3. בחירת הרשומות שצריך לסינכרן 4. המקבל מקבל צפייה בהקפה עם אפשרויות בחירה **שיפור ביעילות:** - העברת נתונים בחלקים (512KB כל אחד) - עיבוד אנדוקרטי ללא חסר - מעקב אחר התקדמות עם דיוק ביוטרה - ביטול בכל זמן ללא פגיעה בנתונים ### פתרון סכסוכים כאשר מנסים לסנכרן רשומות שקיימות בשני מכשירים: ```mermaid graph TD A[גילוי סכסוך] --> B{השוואת זמנים} B -->|חדש יותר במקום| C[שמור את הגרסה המקומית] B -->|חדש יותר במקום אחר| D[הצגת דיאלוג סכסוך] D --> E[בחירת גרסה] E --> F[מקום עבודה] F --> G[הכנסה ואינדקס] G --> H[סינכרון מושלם!] style C fill:#2196F3,color:#fff style F fill:#2196F3,color:#fff style G fill:#4CAF50,color:#fff style H [#f4f4f5] fill:#f4f4f5,color:#fff ``` **סוגי סכסוכים שנפתרים:** - `local-newer`: הגרסה שלך עדכנית יותר - `remote-newer`: הגרסה המתקבלת חדשה יותר - `local-deleted`: מחקת את הרשומה במקום - `remote-deleted`: הרשומה מחקה במכשיר של השולח - `remote-restored`: הרשומה שוחזרה ## פתרון בעיות ### בעיות נפוצות ופתרונות #### ❌ "ספריית PeerJS לא נלקחה" **סיבה**: חסימה של רשת של PeerJS CDN או של שרת התקשורת **פתרונות:** 1. בדקו את חיבור האינטרנט 2. וודאו שהחסם של המשטרה מאפשר תקשורת WebRTC 3. נסו חיבור אחר (הולכה ניידת) 4. וודאו שהחלון מקבל תמיכה ב-WebRTC #### ❌ "זמן חיבור ארוך" **סיבה**: NAT/משטרה מונעות חיבור ישיר **פתרונות:** 1. שני המכשירים צריכים להיות באותה רשת 2. מדלגו על VPN לזמן קצר 3. בדקו את ההגדרות של המשטרה 4. השתמשו בקוד QR לחיבור נייד #### ❌ "אימות כשל" **סיבה**: פעטוט לא נכון או העברת נתונים פגומה **פתרונות:** 1. וודאו שהפעטוט תואם בדיוק (בהתחשב בגרסה) 2. בקשו קישור חדש מהשולח 3. וודאו שחיבור יציב במהלך העברת הנתונים 4. נסו גודל חלקים קטן יותר #### ❌ "אירוע 'סינכרון בזמן'" **סיבה**: ניסיונות סינכרון רבים בו זמנית **פתרונות:** 1. חכו 5-10 שניות עד שהסינכרון מסתיים 2. סגרו עמודים אחרים של Noterich 3. חידשו את העמוד 4. מחקו את הגלגול של הנתונים ## תוכנית עתידית Noterich ממשיכה לשפר את היכולות של P2P: - 🔄 **סינכרון ברקע אוטומטי**: זיהוי מכשירים סמוכים וסינכרון בחשאי - 🌐 **רשת מסלולית**: העברת נתונים דרך מכשירים ממרכזיים - 📦 **סינכרון סלקטיבי**: בחירת חלקים ספציפיים של הרשומות לסינכרון - 🔔 **הודעות דחפים**: אזהרה כאשר מבררות על בקשת סינכרון - 📊 **אנליטיקה של סינכרון**: צגת תמונה של היסטוריית הסינכרון והנתונים שנעבורו - 📦 **קישורים עמוקים**: שיתוף רשומות באמצעות קישורים ישירים ## סיכום P2P Sync של Noterich מייצג שינוי דרמטי ביחס שלנו לסינכרון של רשומות. על ידי ביטול השרת הכלורי, יצרנו מערכת ששומרת על הפרטיות שלך, מקטינה את העלויות ונותנת לך שליטה מלאה על הנתונים שלך. בין אם אתה סטודנט שמנהל רשומות מחקר, איש עסקים שמנהל תיעוד של פרויקטים, או צוות שעובד על חומרים רגישים, P2P Sync מספק את האבטחה והגמישות שאתה צריך. **התחילו לסנכרן בצורה חכמה יותר – הרשומות שלכם, המכשירים שלכם, השליטה שלכם.** --- ### כרטיס הערכה קצר ``` ┌─────────────────────────────────────────────────────┐ │ NOTERICH P2P SYNC GUIDE קצר |---- ├─────────────────────────────────────────────────────┤ │ 1. פתיחת רשומה → לחיצה על Share → בחירת P2P │ 2. הזנת פעטוט (אופציונלי אך מומלץ) │ 3. העתקת קישור או הצגת קוד QR │ 4. במכשיר המקבל: פתיחת קישור / סריקת קוד QR │ 5. הזנת פעטוט אם אימות │ 6. בחירת מקום עבודה → אישור הכנסה │ 7. חכו לסיום → התחילו לעבוד! │ ├─────────────────────────────────────────────────────┤ │ 🔒 אימות: AES-256-GCM + PBKDF2 (100k יצירות) │ ⚡ סטטיק: WebRTC + PeerJS + IndexedDB │ 📦 גודל חלק: 512KB לביצועים מיטביים │ 🌐 התקשורת: www.noterich.com:443 │ └─────────────────────────────────────────────────────┘ ``` --- <div class="flex flex-wrap gap-2 mt-8 mb-12"> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">P2P</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">פרטיות</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">מקומי-ראשי</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">PKM</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">WebRTC</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">אימות</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">חיבורים בין-מכשירים</span> <span class="px-3 py-1 bg-[#f4f4f5] border border-[#eaeaea] rounded-full text-xs font-medium text-[#666]">ללא כלור</span> </div>