آموزش رزبری پای اپلیکیشن رزبری پای نرم افزار پروژه رزبری پای گنو/لینوکس

Syncthing، معادل متن باز BitTorrent Sync (سینک P2P) برد raspberry pi

نوشته شده توسط اروند طباطبایی

معرفی Syncthing ، ابزار متن باز سینک نظیر به نظیر

Syncthing یک برنامه چند سکویی نظیر به نظیر به فرم کلاینت/سرور برای سینک پرونده ها است که با زبان Go نوشته شده. همچون BitTorrent Sync، این ابزار میتواند برای سینک پرونده ها بین رایانه های مختلف به کار رود. اما بر خلاف BitTorrent Sync، Syncthing متن باز است:

«Syncthing دراپباکس و BitTorrent Sync را با ابزاری متن باز، قابل اطمینان و نامتمرکز جایگزین میکند. داده های شما متعلق به شماست و شما این شایستگی را دارید که تعیین کنید کجا دخیره، با چه کسانی به اشتراک گذاشته و به چه شیوه ای بر روی اینترنت انتقال داده شوند.»

«با استفاده از Syncthing، کنترل این ها همه در دستان شما خواهد بود.»

syncthing

و این فقط Syncthing نیست که متن باز است. پروتوکول نظیر به نظیر مورد استفاده Syncthing، یعنی “Block Exchange Protocol” نیز متن باز است. (بیشتر درباره BEP بخوانید.)

برخلاف همگام ساز های ابری مانند دراپباکس، Syncthing داده ها را مستقیم بین گره ها (رایانه های دیگری که Syncthing بر روی آنها نصب شده است.) انتقال میدهد که این خود دارای چندین مزیت است: پرونده ها بر روی یک سرور ابری میانی ذخیره نمیشوند، سرعت انتقال به یک سرور ثالث وابسته نخواهد بود و همچنین هیچ محدودیت فضا ای وجود ندارد.(واضحا فضای موجود در حافظه(مانند هارد دیسک) گره ها محدود است.)
ویژگی های اصلی Syncthing:

  • هرتعداد پوشه ای که بخواهید را برای شما با افراد مختلف همگام میکند؛
  • GUI تحت وب واکنش گرا (responsive)؛
  • چند سکویی: Syncthing بر روی لینوکس، Mac OS X، ویندوز، فری بی اس دی و سولاریس کار میکند. همچنین یک پورت غیر رسمی از آن برای اندروید نیز موجود است؛
  • Syncthing نیازمند تنظیمات پیچیده ای نیست و باید به راحتی بر روی LAN واینترنت کار کند.
  • شخصی و امن:
    • اطلاعات تنها بر روی رایانه های شما و بدون استفاده از یک سرور مرکزی ذخیره میشوند؛
    • تمامی ارتباطات با TLS امن شده اند؛
    • تنها گره هایی که شما به صورت صریح به آن دسترسی بدهید میتوانند به خوشه (cluster) مورد نظر شما متصل شوند.
  • نرم افزار متن باز و پروتوکول باز.

لازم به ذکر است که با استفاده از Syncthing، میتوان تعیین کرد که مخزن موجود با کدام گره ها به اشتراک گذاشته شود. مثلا میتوانید چندین مخزن بسازید و حالت به اشتراک گذاری را به هرکدام از گره های موجود فعال و یا غیر فعال کنید:

syncthing-enabled-nodes

همچنین Syncthing دارای یک ویژگی به نام master repository است که با فعال کردن آن، پرونده ها در قبال تغییرات اعمال شده در سایر گره ها ایمن میشوند.(تغییری بر روی مخزن اعمال نمیشود.) اما تغییرات اعمال شده بر روی گره ای که master repository قرار دارد، بر روی باقی خوشه (cluster) نیز اعمال میشود.

این را نیز در نظر داشته باشید که Syncthing به صورت پیوسته (حداقل تا زمان نگارش این مقاله.) در حال توسعه است و ویژگی های جدید اضافه و ویژگی های قبلی بهبود پیدا میکنند.

در ادامه چند تصویر دیگر از محیط تحت وب Syncthing مشاهده میکنید:

syncthing-add-node

syncthing-edit

syncthing-settings

نصب Syncthing

دانلود Syncthing:

  • دانلود Syncthing – حاوی پرونده های باینری موجود برای لینوکس(۳۲bit, 64bit, ARMv5, ARMv6 – Raspberry Pi, ARMv7)، مک و ویندوز و همچنین متن کد برنامه.
  • پورت غیر رسمی Syncthing برای اندروید نیز در دسترس است.
  • آرچ لینوکس: میتوانید Syncthing را از مخزن AUR نصب کنید.

برای اجرای Syncthing بر روی یک دستگاه لینوکس میتوانید به سادگی پرونده آرشیو مورد نظر را دانلود و استخراج کنید. سپس بر روی پرونده syncthing موجود در پوشه استخراج شده دو بار کلیک کنید. (و یا از دستور ./syncthing استفاده کنید.) پس از اجرای برنامه یک تب جدید در مرورگر پیشفرض باز خواهد شد که همان GUI تحت وب Syncthing است.

برای استفاده از Syncthing با Syncthing GTK، مطمئن شوید که پرونده باینری syncthing در $PATH شما قرار دارد. میتوایند این کار را با کپی کردن باینری مورد نظر به /usr/local/bin/ انجام دهید(فرض شده است که باینری در پوشه خانگی شما استخراج شده است.):

sudo install ~/syncthing*/syncthing /usr/local/bin/

برای اطلاعات بیشتر راجع به چگونگی اضافه کردن نود های جدید میتوانید به راهنما Syncthing رجوع کنید. همچنین شاید بخواید نگاهی به باقی مستندات آن نیز بیندازید.

 

مجوز متن: cc) BY-NC-SA)

درباره نویسنده

اروند طباطبایی

بنیانگذار دیجی اسپارک: اولین مرجع تخصصی امبدد سیستم به زبان فارسی / کارشناس سئو و تولید محتوا

هرچه می آموزم میبینم که خیلی کم آموختم. علاقه به رباتیک و تکنولوژی دارم. امیدوارم بتونم دانشی را که آموخته‌ام، به روش‌های مختلفی به کاربران علاقمند منتقل کنم.

تبادل نظر و رفع عیب با ثبت دیدگاه