# 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 Sync
Noterich ใช้ **เทคโนโลยี WebRTC** ร่วมกับ **PeerJS** เพื่อสร้างการเชื่อมต่อโดยตรงระหว่างอุปกรณ์ต่างๆ เมื่อคุณเริ่มการส่งข้อมูล:
```mermaid
sequenceDiagram
participant D1 as อุปกรณ์ A (ผู้ส่ง)
participant S as เซิร์ฟเวอร์สัญญาณ
participant D2 as อุปกรณ์ 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**: การสร้างคีย์การเข้ารหัสแบบพาสเวิร์ดอย่างปลอดภัย
4. **การเข้ารหัสด้วย MessagePack**: การเข้ารหัสข้อมูลแบบไบนารีที่มีประสิทธิภาพสำหรับการส่งข้อมูลที่รวดเร็ว
5. **การจัดเก็บข้อมูลด้วย IndexedDB**: เว็บไซต์สำหรับการเข้าถึงข้อมูลแบบออฟไลน์
## การเริ่มต้นใช้งาน 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[คลิกปุ่ม Share]
B --> C[เลือก P2P Share]
C --> D{ตั้งรหัสผ่านหรือไม่?}
D -->|ใช่| E[ป้อนรหัสผ่าน ≥8 ตัวอักษร]
D -->|ไม่ใช่| F[ข้ามขั้นตอนการเข้ารหัส]
E --> G[เริ่มต้นเซิร์ฟเวอร์ P2P]
F --> G
G --> H[สร้างลิงก์แบ่งปันและ QR Code]
```
### ขั้นตอนที่ 2: แบ่งปันลิงก์การเชื่อมต่อ
เมื่อเซิร์ฟเวอร์ P2P เริ่มทำงาน Noterich จะสร้าง:
- **ลิงก์ที่สามารถแบ่งปันได้** ที่มีพารามิเตอร์การเชื่อมต่อ
- **QR Code** สำหรับการสแกนบนมือถือได้อย่างรวดเร็ว
รูปแบบของลิงก์มีดังนี้:
```
https://noterich.com/#dbshare=<infoHash>&server=<signaling-server>
```
**วิธีการแบ่งปัน:**
| วิธีการ | เหมาะสำหรับ | วิธีการใช้งาน |
|--------|----------|--------|
| 🔗 คัดลอกลิงก์ | อีเมล, แอปพลิเคชันส่งข้อความ | คลิกปุ่ม “คัดลอกลิงก์” |
| 📱 QR Code | มือถือ | สแกนด้วยกล้องของอุปกรณ์ |
| 📧 อีเมล | ผู้ร่วมงานระยะไกล | คัดลอกลิงก์เข้าไปในอีเมล |
### ขั้นตอนที่ 3: รับข้อมูลบนอุปกรณ์ปลายทาง
บนอุปกรณ์ปลายทาง:
1. **เปิดลิงก์แบ่งปัน**
- คลิกลิงก์โดยตรง, หรือ
- สแกน QR Code ด้วยอุปกรณ์มือถือ
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 มีตัวเลือกการเข้ารหัสแบบ end-to-end ได้:
**กระบวนการเข้ารหัส:**
```javascript
// รหัสผ่าน → คีย์การเข้ารหัส (PBKDF2)
password + salt → deriveKey() → คีย์ AES-256-GCM
// ข้อมูลบันทึก → บัฟเฟอร์ที่ถูกเข้ารหัส
noteData + key + iv → encrypt() → encryptedBuffer
// การส่งข้อมูล
{
encryptedBuffer: ArrayBuffer,
salt: Uint8Array, // สำหรับการสร้างคีย์
iv: Uint8Array // ตัวแปรเริ่มต้น
}
```
**คุณสมบัติด้านความปลอดภัย:**
- 🔐 การสร้างคีย์ด้วย PBKDF2 ถึง 100,000 ครั้ง
- 🔐 การใช้ salt และ IV แบบสุ่มสำหรับการส่งข้อมูลแต่ละครั้ง
- 🔐 การเข้ารหัสแบบ AES-256-GCM ที่ได้รับการยืนยันความปลอดภัย
- 🔐 รหัสผ่านไม่ถูกส่งออกไป — ใช้เฉพาะในอุปกรณ์ของคุณ
### การส่งข้อมูลแบบบรรจุภัณฑ์
ส่งข้อมูลหลายบันทึกได้อย่างมีประสิทธิภาพ:
1. เข้าถึง **Database Transfer** จากการตั้งค่า
2. เลือกโหมด **"P2P Sync"**
3. เลือกบันทึกที่จะส่งข้อมูล
4. ผู้รับจะได้รับการดูบันทึกแบบบรรจุภัณฑ์พร้อมตัวเลือกการเลือก
**การปรับปรุงประสิทธิภาพ:**
- ข้อมูลถูกส่งเป็นชิ้นๆ (512KB ต่อชิ้น)
- การประมวลผลแบบ non-blocking ป้องกันการหยุดการทำงานของหน้าจอ
- การติดตามความก้าวหน้าแบบระดับไบต์
- สามารถยกเลิกได้ตลอดเวลาโดยไม่ทำให้ข้อมูลเสียหาย
### การแก้ไขข้อขัดแย้ง
เมื่อมีการส่งข้อมูลที่อยู่ในอุปกรณ์ทั้งสองเครื่อง:
```mermaid
graph TD
A[ตรวจสอบข้อขัดแย้ง] --> B{เปรียบเทียบเวลา}
B -->|เวอร์ชันท้องถิ่นที่ใหม่กว่า| C[เก็บเวอร์ชันท้องถิ่น]
B -->|เวอร์ชันที่ใหม่กว่าในอุปกรณ์ปลายทาง| D[แสดงข้อขัดแย้ง]
D --> E[เลือกเวอร์ชัน]
E --> F[เวอร์ชันท้องถิ่น]
E --> G[เวอร์ชันปลายทาง]
E --> H[รวมข้อมูลด้วยตัวเอง]
B -->|ทั้งสองถูกลบ| I[ข้ามไป]
style C fill:#2196F3,color:#fff
style F fill:#2196F3,color:#fff
style G fill:#4CAF50,color:#fff
```
**การจัดการข้อขัดแย้ง:**
- `local-newer`: เวอร์ชันของคุณใหม่กว่า
- `remote-newer`: เวอร์ชันของผู้รับใหม่กว่า
- `local-deleted`: คุณลบบันทึกนี้ท้องถิ่น
- `remote-deleted`: บันทึกถูกลบจากอุปกรณ์ผู้ส่ง
- `remote-restored`: บันทึกที่ถูกลบก่อนหน้านี้ถูกนำกลับมา
## การแก้ไขปัญหา
### ปัญหาที่พบบ่อยและวิธีแก้ไข
#### ❌ “ไลบรารี PeerJS ไม่ถูกโหลด”
**สาเหตุ**: การบล็อกเครือข่ายของ PeerJS CDN หรือเซิร์ฟเวอร์สัญญาณ
**วิธีแก้ไข:**
1. ตรวจสอบการเชื่อมต่ออินเทอร์เน็ต
2. ตรวจสอบว่าไฟร์วอลล์อนุญาตให้ใช้งาน WebRTC หรือไม่
3. ลองใช้งานเครือข่ายอื่น (เช่น hotspot บนมือถือ)
4. ตรวจสอบว่าเบราว์เซอร์รองรับ WebRTC หรือไม่
#### ❌ “เวลาการเชื่อมต่อล่าช้า”
**สาเหตุ**: NAT/ไฟร์วอลล์ขัดขวางการเชื่อมต่อโดยตรง
**วิธีแก้ไข:**
1. อุปกรณ์ทั้งสองอยู่ในเครือข่ายเดียวกันช่วยได้
2. ปิด VPN ชั่วคราว
3. ตรวจสอบการตั้งค่า WebRTC ของเราเตอร์
4. ใช้ QR code สำหรับการเชื่อมต่อบนมือถือ
#### ❌ “การเข้ารหัสล้มเหลว”
**สาเหตุ**: รหัสผ่านไม่ถูกต้องหรือการส่งข้อมูลเสียหาย
**วิธีแก้ไข:**
1. ตรวจสอบว่าการป้อนรหัสผ่านถูกต้องหรือไม่
2. ขอลิงก์แบ่งปันใหม่จากผู้ส่ง
3. ตรวจสอบว่าการเชื่อมต่อมีความเสถียรหรือไม่
4. ลองใช้จำนวนชิ้นข้อมูลที่น้อยลง
#### ❌ “เกิดข้อความแสดงข้อผิดพลาดขณะส่งข้อมูล”
**สาเหตุ**: มีการส่งข้อมูลหลายครั้งในเวลาเดียวกัน
**วิธีแก้ไข:**
1. รอให้การส่งข้อมูลเสร็จสิ้น
2. ปิด 탭/หน้าต่าง Noterich อื่นๆ
3. รีเฟรชหน้าเว็บและลองอีกครั้ง
4. ล้างข้อมูลแคชของเบราว์เซอร์ถ้ายังมีปัญหา
### ตัวบ่งชี้สถานะการเชื่อมต่อ
| สถานะ | ความหมาย | วิธีการดำเนินการ |
|--------|---------|--------|
| 🔵 กำลังเชื่อมต่อ | กำลังสร้างการเชื่อมต่อระหว่าง peer | รอ 5-10 วินาที |
| 🟡 กำลังเปรียบเทียบ | กำลังวิเคราะห์ความแตกต่างของบันทึก | กระบวนการปกติ |
| 🟠 กำลังรอการยืนยันจากผู้ใช้ | ต้องมีรหัสผ่านหรือการยืนยัน | ตรวจสอบหน้าต่างแจ้งเตือน |
| 🟢 กำลังนำข้อมูลเข้าสู่ฐานข้อมูล | กำลังนำบันทึกเข้าสู่ฐานข้อมูล | อย่ายุติหน้าต่าง |
| ✅ สำเร็จ | การส่งข้อมูลเสร็จสิ้น | พร้อมใช้งานบันทึก |
| 🔴 ข้อผิดพลาด | การเชื่อมต่อหรือการส่งข้อมูลล้มเหลว | ตรวจสอบการแก้ไขปัญหา |
## หลักการปฏิบัติด้านความปลอดภัย
### การปกป้องข้อมูลของคุณ
แม้ว่า P2P Sync จะมีความปลอดภัยอยู่แล้ว แต่ก็ควรปฏิบัติตามหลักการต่อไปนี้:
1. **ใช้รหัสผ่านที่แข็งแรง**
- อย่างน้อย 8 ตัวอักษร (แนะนำให้ใช้ 12 ตัวอักษรขึ้นไป)
- ผสมกันของตัวอักษรตัวพิมพ์ใหญ่/ตัวพิมพ์เล็ก ตัวเลข และสัญลักษณ์
- อย่าใช้รหัสผ่านจากบริการอื่นซ้ำกัน
2. **ตรวจสอบผู้รับ**
- แบ่งปันลิงก์กับอุปกรณ์ที่น่าเชื่อถือเท่านั้น
- ใช้ QR code สำหรับการส่งข้อมูลในสถานที่ที่มีการเข้าถึงกันจริง
- หลีกเลี่ยงการแบ่งปันลิงก์ในช่องทางสาธารณะ
3. **ติดตามการเชื่อมต่อที่กำลังทำงานอยู่**
- ตรวจสอบ peer ที่กำลังเชื่อมต่อขณะส่งข้อมูล
- ถอดสัญญาณหลังจากการส่งข้อมูลเสร็จสิ้น
- ยกเลิกการแบ่งปันลิงก์หากมีการรั่วไหล
4. **ทำการสำรองข้อมูลเป็นประจำ**
- ออกแบบสำเนาข้อมูลที่สำคัญเป็นประจำ
- เก็บสำเนาไว้ในที่ปลอดภัย
- ทดสอบการคืนข้อมูลเป็นประจำ
### ทำความเข้าใจข้อจำกัดของการเข้ารหัส
**สิ่งที่ถูกเข้ารหัส:**
- ✅ เนื้อหาบันทึก (ข้อความ รูปแบบ การแสดงข้อมูลเมตาดาต้า)
- ✅ ไฟล์แนบและสื่อที่บันทึกไว้
- ✅ โครงสร้างฐานข้อมูลขณะส่งข้อมูล
**สิ่งที่ไม่ถูกเข้ารหัส:**
- ⚠️ ข้อมูลเมตาดาต้าของการเชื่อมต่อ (เวลา ขนาดข้อมูล)
- ⚠️ ที่อยู่ IP (สามารถมองเห็นได้จากเซิร์ฟเวอร์สัญญาณ)
- ⚠️ ตัวระบุอุปกรณ์ (สำหรับการกำหนดเส้นทางการเชื่อมต่อ)
## เคล็ดลับด้านประสิทธิภาพ
### การปรับปรุงความเร็วในการส่งข้อมูล
1. **สภาพเครือข่าย**
- เชื่อมต่อกับเครือข่ายท้องถิ่นเดียวกัน = การส่งข้อมูลที่รวดเร็วที่สุด
- เชื่อมต่อกับ Wi-Fi 5GHz จะดีกว่า 2.4GHz
- อุปกรณ์เดสก์ท็อปใช้ Ethernet ผ่านสายเคเบิล
2. **ขนาดของชิ้นข้อมูล**
- การส่งข้อมูลในปริมาณมาก: แบ่งเป็นชิ้นเล็กๆ
- ตรวจสอบตัวชี้การดำเนินการ
- ยกเลิกและลองอีกครั้งหากเกิดการล่าช้า
3. **ประสิทธิภาพของเบราว์เซอร์**
- ให้เปิดหน้าต่าง Noterich ไว้ขณะส่งข้อมูล
- ปิดแท็บเบราว์เซอร์ที่ไม่จำเป็น
- อัปเดตเบราว์เซอร์เป็นเวอร์ชันล่าสุด
4. **ทรัพยากรของอุปกรณ์**
- ตรวจสอบว่ามีพื้นที่จัดเก็บข้อมูลเพียงพอหรือไม่
- ปิดแอปพลิเคชันที่ใช้ทรัพยากรหน่วยความจำมากเกินไป
- รีสตาร์ทเบราว์เซอร์หากการส่งข้อมูลช้าลง
### การจัดการหน่วยความจำ
Noterich ใช้การจัดการหน่วยความจำแบบอัจฉริยะเพื่อป้องกันการค้างของเบราว์เซอร์:
```javascript
// การประมวลผลแบบอัตโนมัติด้วย setTimeout
async function asyncBatchProcessor(items, processor, batchSize = 10) {
// ประมวลผลชิ้นข้อมูลเป็นชุด 10 ชิ้น
// ให้การควบคุมทุก 10 วินาทีเพื่อรักษาประสิทธิภาพของหน้าจอ
// ป้องกันการค้างของหน้าจอระหว่างการนำเข้าข้อมูลจำนวนมาก
}
พร้อมที่จะเปลี่ยนเวิร์กโฟลว์ของคุณหรือยัง?
ศูนย์กลางการจดบันทึกส่วนตัวที่ขับเคลื่อนด้วย AI
ของคุณกำลังรออยู่
เข้าร่วมกับผู้ใช้หลายพันคนที่ไว้วางใจ NoteRich สำหรับการจดบันทึกส่วนตัวและทรงพลัง ลองใช้ในเบราว์เซอร์ของคุณ — ไม่ต้องติดตั้ง ไม่ต้องใช้บัตรเครดิต บันทึกย่อของคุณจะไม่เคยออกจากอุปกรณ์ของคุณ
ไม่ต้องใช้บัตรเครดิต
ทำงานในเบราว์เซอร์
บันทึกย่อในเครื่อง 100%
ทรัพยากรและคู่มือ
สำรวจบทความเชิงลึกของเราเกี่ยวกับการจดบันทึกโดยเน้นเครื่องท้องถิ่น สถาปัตยกรรมความเป็นส่วนตัว และเวิร์กโฟลว์การเพิ่มผลผลิตขั้นสูง
- เปลี่ยนบันทึกย่อของคุณให้เป็นหน่วยความจำ AI ภายใน NoteRich
- เปลี่ยนข้อความเป็นอินโฟกราฟิกภาพด้วย NoteRich AI
- บทช่วยสอนพื้นที่ทำงานและการค้นหาขั้นสูงของ NoteRich
- Rich Text ของ NoteRich เทียบกับ Markdown วิธีสลับและใช้ทั้งคู่
- บทช่วยสอนการซิงค์ P2P ของ NoteRich ข้ามอุปกรณ์โดยไม่ต้องใช้คลาวด์
- บทช่วยสอน OCR ของ NoteRich สแกนบันทึกย่อกระดาษเป็นข้อความดิจิทัล
- อธิบายการเข้ารหัส AES-GCM แบบเน้นเครื่องท้องถิ่นของ NoteRich
- บทช่วยสอน RAG ฐานความรู้ในเครื่องของ NoteRich
- คู่มือสมการคณิตศาสตร์ LaTeX ของ NoteRich วิธีเขียนสูตร
- ทางลัดแป้นพิมพ์ NoteRich และเคล็ดลับการเพิ่มผลผลิต
- คุณสมบัติและประโยชน์ของ NoteRich สำหรับการจดบันทึกออนไลน์
- วิธีใช้ NoteRich Privacy AI เพื่อสรุปเอกสารอย่างเป็นส่วนตัว
- วิธีใช้ Mermaid.js สำหรับแผนผังงานใน NoteRich – บทช่วยสอนฉบับสมบูรณ์
- วิธีแทรกวิดีโอและไฟล์แนบใน NoteRich
- วิธีส่งออก PDF และ HTML โดยไม่มีลายน้ำใน NoteRich
- วิธีฝัง ECharts แบบโต้ตอบใน NoteRich