Syncthing từ lâu đã nổi tiếng trong cộng đồng công nghệ như một giải pháp đồng bộ tệp phi tập trung, cho phép người dùng giữ các thư mục được cập nhật liên tục trên nhiều thiết bị mà không cần thông qua máy chủ trung gian. Khác với các dịch vụ như Google Drive hay Dropbox, Syncthing hoạt động dựa trên mô hình mạng ngang hàng (P2P), dữ liệu được mã hóa và truyền trực tiếp giữa các thiết bị của chính người dùng, đảm bảo tính riêng tư và bảo mật.
Mới đây, nhóm phát triển Syncthing đã tung ra phiên bản 2.0 – bản phát hành đầu tiên trong dòng 2.x – với nhiều thay đổi mang tính nền tảng. Nổi bật nhất là việc chuyển cơ sở dữ liệu từ LevelDB của Google sang SQLite. Đây là thay đổi quan trọng vì SQLite dễ hiểu, dễ bảo trì hơn, từ đó hứa hẹn giảm thiểu lỗi trong quá trình vận hành lâu dài. Tuy nhiên, với những hệ thống chứa lượng tệp lớn, lần khởi động đầu tiên sau khi nâng cấp sẽ diễn ra quá trình di trú dữ liệu một lần, có thể mất khá nhiều thời gian.
Một thay đổi đáng chú ý khác là cách Syncthing xử lý thông tin về các tệp đã bị xóa. Trước đây, dữ liệu này được lưu mãi mãi trong cơ sở dữ liệu, nhưng từ 2.0, ứng dụng sẽ “quên” chúng sau sáu tháng. Với những ai cần giữ lịch sử xóa lâu hơn, có thể sử dụng tham số –db-delete-retention-interval= khi chạy lệnh syncthing serve để tùy chỉnh thời gian hoặc tắt tính năng này.
Ở khía cạnh ghi nhật ký (logging), Syncthing 2.0 bổ sung cấp độ WARNING – nằm giữa INFO và ERROR – giúp lọc thông tin hiệu quả hơn. Mức INFO cũng trở nên chi tiết hơn, hiển thị rõ các hành động đồng bộ đang diễn ra, từ đó cung cấp cái nhìn minh bạch hơn về hoạt động nội bộ của ứng dụng.
Giao diện dòng lệnh (CLI) cũng được cải tiến mạnh mẽ. Syncthing bỏ hỗ trợ cho cú pháp tùy chọn dài với một dấu gạch ngang (single dash), buộc người dùng sử dụng cú pháp chuẩn hai gạch ngang. Ví dụ, lệnh -home giờ phải viết thành –home. Một số tùy chọn cũng được tách thành các lệnh con (subcommand), chẳng hạn –device-id nay trở thành syncthing device-id.
Dù mang lại nhiều cải tiến, bản 2.0 cũng có một số điều chỉnh gây tiếc nuối. Cụ thể, Syncthing sẽ không còn phát hành bản dựng sẵn (pre-built binaries) cho Windows on ARM, NetBSD và Solaris, do khó khăn trong quá trình biên dịch chéo với SQLite.
Ngoài ra, nhóm phát triển cũng loại bỏ cơ chế phát hiện dữ liệu dịch chuyển bằng rolling hash vì hiệu quả không đáng kể, đồng thời nhận thấy việc quét dữ liệu thông thường nhanh hơn. Phiên bản mới mặc định sử dụng nhiều kết nối đồng thời giữa các thiết bị v2 để tăng hiệu suất, loại bỏ việc tạo thư mục mặc định ngay khi khởi động lần đầu và thay đổi cơ chế xử lý xung đột để trường hợp xóa tệp cũng có thể được coi là kết quả cuối cùng.
Về tính năng kết nối, Syncthing 2.0 mang đến khả năng UDP portmapping cho QUIC, giúp cải thiện khả năng kết nối trong môi trường tường lửa phức tạp. Mặc định, ứng dụng sẽ dùng nhiều luồng kết nối, gồm một luồng cho siêu dữ liệu và hai luồng cho dữ liệu, đảm bảo việc truyền tệp lớn không làm chậm quá trình cập nhật chỉ mục. Về bảo mật, các kết nối đồng bộ giờ có thể sử dụng khóa Ed25519 hiện đại.
Với những người dùng chuyên sâu, Syncthing 2.0 cho phép xuất thông tin thư mục và thiết bị dưới dạng metrics để giám sát hệ thống. Giao diện web (GUI) cũng bổ sung tùy chọn giới hạn băng thông ngay cả trong mạng LAN – một tính năng hữu ích khi muốn tránh nghẽn mạng cục bộ.
Bản cập nhật này cũng khắc phục hàng loạt lỗi, trong đó có xử lý tốt hơn tình trạng kẹt kết nối, cải thiện độ ổn định trên Android (đặc biệt là lỗi liên quan đến phát hiện cổng mạng cục bộ trên Android 14 trở lên), ngăn giao diện báo lỗi sai cho thiết bị đang tạm dừng, và sửa lỗi trạng thái “Sync Waiting” nhấp nháy liên tục. Người dùng Windows cũng nhận được bản vá cho lỗi khi kiểm tra thuộc tính hệ thống tệp trên các phiên bản Windows hiện đại.
Với những thay đổi này, Syncthing 2.0 không chỉ cải thiện hiệu suất và độ ổn định, mà còn nâng trải nghiệm người dùng lên một tầm mới, đặc biệt với những ai cần đồng bộ dữ liệu an toàn, bảo mật và không phụ thuộc vào dịch vụ đám mây tập trung. Đây là minh chứng cho hướng đi bền vững của dự án: giữ nguyên tinh thần mã nguồn mở, đồng thời liên tục tối ưu để đáp ứng nhu cầu thực tế của cộng đồng.