
بر اساس گزارش XDA Developers، برخی نرمافزارها بهترین عملکرد را زمانی دارند که یکبار تنظیم شوند و پس از آن بدون نیاز به دخالت کاربر به کار خود ادامه دهند. Syncthing یکی از همین ابزارهاست؛ نرمافزاری برای همگامسازی فایل که نویسنده مقاله حدود یک سال پیش آن را روی چند دستگاه نصب کرده و از آن زمان نیازی به پیکربندی مجدد نداشته است. او همچنان هر روز از آن استفاده میکند، اما تقریباً هیچوقت لازم نیست خود اپلیکیشن را باز کند.
همگامسازی همتابههمتا بدون نیاز به حساب ابری
Syncthing را نمیتوان دقیقاً با سرویسهای ابری مقایسه کرد، زیرا مدل کاری آن متفاوت است. این نرمافزار بر پایه همتابههمتا (Peer-to-Peer) کار میکند؛ یعنی دستگاهها بهطور مستقیم با یکدیگر ارتباط برقرار میکنند و فایلها از طریق یک ابر مرکزی شرکت ارائهدهنده ردوبدل نمیشوند. در این روش، کاربر به حساب ابری یا اشتراک ماهانه نیاز ندارد، اما در عوض مسئولیت دسترسیپذیری همه دستگاهها و پشتیبانگیری از فایلها بر عهده خود اوست.
راهاندازی اولیه چندان دشوار نیست، چون Syncthing بخش زیادی از کارها را خودکار انجام میدهد. در شبکه محلی (LAN)، دستگاهها بدون پیکربندی دستی یکدیگر را پیدا میکنند. برای دستگاههایی که در یک شبکه نیستند، Syncthing از سرورهای رله (Relay Servers) استفاده میکند. با این حال، انتقال فایل همچنان با رمزنگاری سرتاسری (End-to-End Encryption) انجام میشود و خطر دسترسی سرورهای میانی به محتوای فایلها وجود ندارد.
انتقال تفاضلی؛ فقط بخشهای تغییرکرده ارسال میشوند
زمانی که یک فایل تغییر میکند، Syncthing تنها بلوکهای بهروزشده را به دستگاههای دیگر ارسال میکند. این نرمافزار از همان روش انتقال تفاضلی (Delta Transfer) استفاده میکند که rsync به کار میبرد و همین موضوع سرعت آن را بالا میبرد. به بیان دیگر، افزودن داده جدید به یک فایل بزرگ باعث انتقال دوباره کل فایل نمیشود و فقط دادههای تغییرکرده جابهجا میشوند.
تجربه استفاده روی چهار دستگاه
در تنظیمات نویسنده مقاله، Syncthing روی چهار دستگاه مختلف اجرا میشود و یک پوشه واحد را میان آنها همگام نگه میدارد:
- رایانه رومیزی ویندوز
- لپتاپ ویندوز
- سرور NAS با سیستمعامل اوبونتو
- رایانه شخصی متصل به تلویزیون (HTPC)
این پوشه روی HTPC بهصورت دریافتفقط (Receive-Only) تنظیم شده است؛ یعنی این دستگاه نمیتواند تغییراتی در پوشه مشترک ایجاد کند. روی سه دستگاه دیگر، کاربر میتواند دادهها را بخواند و فایل جدید هم اضافه کند. نویسنده میگوید به انتقال دوطرفه روی HTPC نیازی ندارد، چون این دستگاه معمولاً فقط برای پخش فایلهای ویدیویی استفاده میشود.
یکی از دلایلی که نویسنده تقریباً به Syncthing فکر نمیکند این است که نرمافزار بهصورت یک سرویس پسزمینه (Background Service) روی همه سیستمها اجرا میشود. در ویندوز، وجود آن از طریق آیکون نوار وظیفه مشخص است. سرور اوبونتو رابط گرافیکی ندارد، اما سرویس مرتبط با systemd هنگام بوت بهطور خودکار اجرا میشود. کاربر تنها زمانی نیاز به باز کردن اپلیکیشن یا اجرای دستی سرویس دارد که بخواهد چیزی را پیکربندی کند.
مدیریت تعارض فایلها
تنها مشکل جزئی که نویسنده در این یک سال تجربه کرده، زمانی رخ میدهد که یک دستگاه آفلاین فایلی را تغییر میدهد و پس از اتصال دوباره، تغییرات آن با نسخه دیگر تعارض پیدا میکند. Syncthing در چنین شرایطی بهجای انتخاب یک نسخه و بازنویسی دیگری، هر دو فایل را نگه میدارد و یکی از آنها را با پسوند فایل .sync-conflict ذخیره میکند. کاربر سپس هر دو فایل را بررسی میکند و تصمیم میگیرد کدام نسخه را نگه دارد. به گفته نویسنده، این روشی هوشمندانه برای جلوگیری از از دست رفتن فایلهاست.
مقایسه با فضای ابری
بسیاری از کاربران به دلیل راحتی به سراغ فضای ابری میروند. همگامسازی یک پوشه مشترک میان چند دستگاه در سرویسهای ابری، در واقع محصول جانبی خدمت اصلی آنها یعنی ذخیره فایل در ابر است. داشتن یک نسخه دیگر از فایلها در ابر میتواند مفید باشد، اما نویسنده ترجیح میدهد فقط قابلیت همگامسازی را داشته باشد و فایلهایش را روی سرور یک شرکت نگه ندارد. به گفته او، فایلها از قبل روی چهار دستگاه قرار دارند و نیازی به محل پنجم در سرور یک شرکت نیست.
سرویسهای ابری همچنین نصب و راهاندازی کاربرپسندتری ارائه میدهند. Syncthing بیشتر برای کاربران DIY و علاقهمندان به سرور خانگی مناسب است و در کنار دیگر سرویسهای خودمیزبان و متنباز در آزمایشگاه خانگی نویسنده قرار میگیرد. با این حال، این نرمافزار برای کاربران عادی بیش از حد پیچیده نیست؛ فقط راهاندازی اولیه آن نسبت به Dropbox کمی بیشتر کار میبرد. کاربر باید پوشههای مشترک و مجوزها را پیکربندی کند، از دسترسیپذیری دستگاهها مطمئن شود، تنظیمات فایروال و NAT را بررسی کند و همچنان خودش پشتیبانگیری منظم انجام دهد، زیرا همگامسازی فایل بهتنهایی یک راهبرد کامل پشتیبانگیری نیست. پس از تنظیم اولیه، استفاده از آن بسیار ساده میشود.
جمعبندی
نویسنده میگوید بهترین ویژگی Syncthing این است که نیازی به تعامل مستقیم با آن ندارد. این نرمافزار بیسروصدا در پسزمینه کار میکند، یک پوشه را میان دستگاههای مختلف همگام نگه میدارد و کاربر لازم نیست کار اضافهای انجام دهد. برای کسانی که به دنبال روشی یکپارچه برای انتقال فایل میان دستگاهها هستند، Syncthing گزینهای قابل توجه است.