หลายคนต้องการซิงค์ไฟล์ระหว่างคอมพิวเตอร์กับมือถือ แต่ไม่อยากฝากข้อมูลไว้บนคลาวด์ของบริษัทอื่น Syncthing คือคำตอบ เพราะเป็นโปรแกรมโอเพนซอร์สที่ซิงค์ไฟล์แบบ peer-to-peer โดยตรงระหว่างอุปกรณ์ของเราเอง
Syncthing คืออะไร
Syncthing เป็นโปรแกรมซิงค์ไฟล์แบบ local-first และ peer-to-peer ข้อมูลของเราจะถูกส่งตรงระหว่างอุปกรณ์ที่เราเป็นเจ้าของ ไม่ผ่านเซิร์ฟเวอร์กลางของใคร มีจุดเด่นคือ
- ฟรีและโอเพนซอร์ส ไม่มีค่าสมาชิกรายเดือน ไม่มีลิมิตพื้นที่
- ข้อมูลเข้ารหัส (TLS) ตลอดการรับส่ง
- ไม่มีเซิร์ฟเวอร์กลาง ข้อมูลไม่ได้ไปเก็บบนคลาวด์ของใคร
- รองรับหลายแพลตฟอร์มทั้งเดสก์ท็อปและมือถือ
หลักการทำงานเบื้องต้น
แต่ละอุปกรณ์จะมี Device ID เฉพาะตัว การจะซิงค์กันได้ต้องนำ Device ID ของทั้งสองเครื่องมาเพิ่มให้รู้จักกัน แล้วจึงเลือก โฟลเดอร์ ที่ต้องการแชร์ระหว่างกัน เมื่อไฟล์ในโฟลเดอร์นั้นเปลี่ยนแปลง Syncthing จะซิงค์ให้อัตโนมัติเมื่ออุปกรณ์ออนไลน์พร้อมกัน
การติดตั้งบนเดสก์ท็อป
Windows
- ดาวน์โหลด SyncTrayzor ซึ่งเป็นตัวติดตั้งที่ใช้งานง่ายบน Windows จาก github.com/canton7/SyncTrayzor
- ติดตั้งแล้วเปิดโปรแกรม หน้าจอควบคุมจะเปิดผ่านเบราว์เซอร์ที่
http://127.0.0.1:8384 - อีกทางเลือกคือดาวน์โหลดไฟล์ปกติจาก syncthing.net/downloads
macOS
วิธีที่ง่ายที่สุดคือติดตั้งผ่าน Homebrew
brew install syncthing
brew services start syncthing
จากนั้นเปิดหน้าจอควบคุมที่ http://127.0.0.1:8384 หากต้องการหน้าจอแบบเมนูบาร์ แนะนำแอป Syncthing macOS Menu Bar App จาก github.com/syncthing/syncthing-macos
Linux
ดิสโทรส่วนใหญ่มี Syncthing ใน repository อยู่แล้ว เช่นบน Debian/Ubuntu
sudo apt install syncthing
แล้วสั่งให้ทำงานเบื้องหลังด้วย systemd
systemctl --user enable --now syncthing.service
เปิดหน้าจอควบคุมที่ http://127.0.0.1:8384 เช่นเดียวกัน หรือดูวิธีติดตั้งจาก apt repository อย่างเป็นทางการที่ apt.syncthing.net
การติดตั้งบนมือถือ
Android
- ติดตั้งแอป Syncthing ได้จาก F-Droid (แนะนำ เพราะได้เวอร์ชันอัปเดตต่อเนื่อง) หรือ Google Play
- อีกตัวเลือกที่กำลังได้รับความนิยมคือ Syncthing-Fork ที่มีฟีเจอร์เพิ่มเติมและตั้งค่าประหยัดแบตได้ละเอียดขึ้น จาก F-Droid
iOS / iPadOS
Syncthing ไม่มีแอปทางการบน iOS เนื่องจากข้อจำกัดการทำงานเบื้องหลังของระบบ แต่มีแอปของบุคคลที่สามที่นำ Syncthing มาห่อไว้ เช่น Möbius Sync ดาวน์โหลดได้จาก App Store โดยเวอร์ชันฟรีจะจำกัดจำนวนโฟลเดอร์ที่ซิงค์ได้
วิธีเชื่อมต่ออุปกรณ์เข้าด้วยกัน
- เปิดหน้าจอควบคุมของเครื่องแรก คลิก Actions > Show ID จะเห็น Device ID เป็นชุดตัวอักษรยาว ๆ (หรือสแกน QR Code บนมือถือ)
- ที่เครื่องที่สอง คลิก Add Remote Device แล้วใส่ Device ID ของเครื่องแรก
- เครื่องแรกจะขึ้นแจ้งเตือนให้ยืนยันการเชื่อมต่อ กด Add / Save
- เมื่อเชื่อมต่อกันแล้ว ให้ Add Folder เลือกโฟลเดอร์ที่ต้องการแชร์ แล้วในแท็บ Sharing เลือกอุปกรณ์ปลายทางที่จะซิงค์ด้วย
- ปลายทางจะได้รับคำเชิญให้รับโฟลเดอร์ กดยอมรับและเลือกตำแหน่งที่จะเก็บไฟล์
เคล็ดลับการใช้งาน
- ตั้งค่า Folder Type ให้เหมาะสม เช่น
Send Onlyสำหรับเครื่องต้นทางที่ไม่อยากให้ถูกแก้ไข หรือReceive Onlyสำหรับเครื่องสำรองข้อมูล - เปิดใช้ File Versioning เพื่อกันไฟล์ถูกลบหรือทับโดยไม่ตั้งใจ
- บนมือถือ ควรตั้งให้ซิงค์เฉพาะตอนต่อ Wi-Fi และตอนชาร์จอยู่ เพื่อประหยัดเน็ตและแบต
- อุปกรณ์ที่จะซิงค์กันไม่จำเป็นต้องเปิดพร้อมกันตลอด แต่ต้องออนไลน์พร้อมกันจึงจะซิงค์ได้ หากต้องการให้ซิงค์ได้ตลอดเวลา ควรมีเครื่องหนึ่งที่เปิดอยู่ตลอด (เช่น NAS หรือ Raspberry Pi) เพื่อทำงานคล้ายกับเป็นเซิร์ฟเวอร์กลางที่จะมีข้อมูลที่อัพเดทตลอดเวลา
ข้อควรระวัง
- Syncthing เป็นการ ซิงค์ ไม่ใช่ แบ็คอัพ หากลบไฟล์ที่เครื่องหนึ่ง ไฟล์ก็จะหายไปที่เครื่องอื่นด้วย จึงควรเปิด File Versioning หรือทำแบ็คอัพแยกต่างหาก
- อุปกรณ์ทุกเครื่องที่จะเชื่อมต่อต้องเป็นของเราหรือคนที่เราไว้ใจ เพราะเมื่อแชร์โฟลเดอร์แล้วอีกฝ่ายจะเห็นและแก้ไขไฟล์ได้
Syncthing เหมาะมากสำหรับคนที่ให้ความสำคัญกับความเป็นส่วนตัวและอยากเป็นเจ้าของข้อมูลตัวเอง เมื่อตั้งค่าครั้งแรกเสร็จแล้ว ที่เหลือมันจะทำงานเงียบ ๆ เบื้องหลังให้เราเอง
Image: pexels.com