| SYNCTHING(1) | Syncthing | SYNCTHING(1) |
نام (NAME)
syncthing - همگامساز فایل پیوسته و غیرمتمرکز Syncthing
شرح مختصر (SYNOPSIS)
syncthing [serve]
[--home=<dir> | --config=<dir> --data=<dir>]
[--allow-newer-config] [--audit] [--auditfile=<file|-|-->]
[--db-maintenance-interval=<interval>]
[--db-delete-retention-interval=<interval>]
[--gui-address=<address>] [--gui-apikey=<key>]
[--log-level=<level>] [--log-file=<filename>]
[--log-max-old-files=<num>] [--log-max-size=<num>]
[--log-format-timestamp=<format>] [--no-log-format-level-string]
[--log-format-level-syslog]
[--no-browser] [--no-console]
[--no-port-probing] [--no-restart] [--no-upgrade]
[--paused] [--unpaused]
[--version] [--help] [--debug-*]
syncthing cli
[--home=<dir> | --config=<dir> --data=<dir>]
[--gui-address=<address>] [--gui-apikey=<key>]
[--help]
<command> [command options...] [arguments...]
syncthing browser
[--home=<dir> | --config=<dir> --data=<dir>]
[--help]
syncthing decrypt (--to=<dir> | --verify-only)
[--home=<dir> | --config=<dir> --data=<dir>]
[--password=<pw>] [--folder-id=<id>] [--token-path=<file>]
[--continue] [--verbose] [--help]
<path>
syncthing device-id
[--home=<dir> | --config=<dir> --data=<dir>]
[--help]
syncthing generate
[--home=<dir> | --config=<dir> --data=<dir>]
[--gui-user=<username>] [--gui-password=<password|->]
[--no-port-probing]
[--help]
syncthing paths
[--home=<dir> | --config=<dir> --data=<dir>]
[--help]
syncthing upgrade
[--home=<dir> | --config=<dir> --data=<dir>]
[--check-only] [--from=<url>]
[--help]
syncthing version
[--home=<dir> | --config=<dir> --data=<dir>]
[--help]
syncthing debug <command>
[--home=<dir> | --config=<dir> --data=<dir>]
[--help]
توضیحات (DESCRIPTION)
برنامه Syncthing به شما امکان میدهد فایلهای خود را به صورت دوطرفه در چندین دستگاه همگامسازی کنید. این بدان معناست که ایجاد، تغییر یا حذف فایلها در یک دستگاه به طور خودکار در دستگاههای دیگر شما تکرار خواهد شد. ما معتقدیم دادههای شما متعلق به خود شماست و شما سزاوار آن هستید که محل ذخیرهسازی آنها را انتخاب کنید. بنابراین Syncthing دادههای شما را در فضای ابری بارگذاری نمیکند، بلکه به محض اینکه دستگاههای شما همزمان آنلاین شوند، دادهها را مستقیماً بین دستگاههایتان مبادله میکند.
برنامه هسته syncthing یک برنامه خط فرمان است که معمولاً در پسزمینه اجرا میشود و همگامسازی را مدیریت میکند. این برنامه یک رابط کاربری داخلی مبتنی بر HTML و JavaScript برای کنترل از طریق مرورگر وب فراهم میکند. این رابط کاربری فرانتاند از طریق چند API مبتنی بر HTTP با برنامه اصلی ارتباط برقرار میکند، که سایر برنامهها مانند ابزارهای کمکی یکپارچهسازی گرافیکی سیستم نیز میتوانند برای بیشترین انعطافپذیری از آن استفاده کنند. پیوندی برای دسترسی به رابط کاربری گرافیکی و API در میان اولین پیامهای ثبت وقایع (لاگ) چاپ میشود.
گزینههای عمومی (COMMON OPTIONS)
- --home=<dir>, -H <dir> ($STHOMEDIR)
- تنظیم دایرکتوری مشترک پیکربندی و دادهها. دایرکتوری پیشفرض پیکربندی عبارت است از $XDG_STATE_HOME/syncthing یا $HOME/.local/state/syncthing (در شبه یونیکس)، $HOME/Library/Application Support/Syncthing (در مک) و %LOCALAPPDATA%\Syncthing (در ویندوز).
- --config=<dir>, -C <dir> ($STCONFDIR)
- تنظیم دایرکتوری پیکربندی. جایگزینی برای --home که باید همراه با --data استفاده شود.
- --data=<dir>, -D <dir> ($STDATADIR)
- تنظیم دایرکتوری دادهها (مانند پایگاه داده). جایگزینی برای --home که باید همراه با --config استفاده شود.
- --help, -h
- نمایش متن راهنما درباره استفاده از خط فرمان. بسته به زیردستور مشخصشده، حساس به متن است.
گزینههای خدمترسانی (SERVE OPTIONS)
- --allow-newer-config ($STALLOWNEWERCONFIG)
- تلاش برای بارگیری فایل پیکربندی نوشتهشده توسط نسخه جدیدتر برنامه، به جای شکست فوری.
- --audit ($STAUDIT)
- نوشتن رویدادها در فایل با برچسب زمانی audit-YYYYMMDD-HHMMSS.log.
- --auditfile=<file|-|--> ($STAUDITFILE)
- استفاده از فایل یا جریان مشخصشده ("-" برای stdout، "--" برای stderr) برای رویدادهای بازرسی، به جای نام فایل پیشفرض با برچسب زمانی.
- --db-maintenance-interval=<interval> ($STDBMAINTENANCEINTERVAL)
- فاصله نگهداری پایگاه داده – رویههای نگهداری داخلی پایگاه داده در این فواصل اجرا میشوند. قالب آن به صورت رشته مدت زمان در زبان Go است (https://pkg.go.dev/time#ParseDuration را ببینید).
- --db-delete-retention-interval=<interval> ($STDBDELETERETENTIONINTERVAL)
- فاصله نگهداری موارد حذفشده پایگاه داده – موارد حذفشده پس از این بازه زمانی از پایگاه داده فراموش میشوند. قالب آن به صورت رشته مدت زمان در زبان Go است.
- --gui-address=<address> ($STGUIADDRESS)
- بازنویسی آدرس شنود رابط گرافیکی. این مقدار را روی یک آدرس (0.0.0.0:8384) یا یک URL (http://0.0.0.0:8384) تنظیم کنید. طرحهای پشتیبانیشده عبارتند از http برای HTTP ساده، https برای HTTP روی TLS، unix برای سوکتهای ساده یونیکس یا unixs برای TLS روی سوکتهای یونیکس.
- --gui-apikey=<string> ($STGUIAPIKEY)
- بازنویسی کلید API مورد نیاز برای دسترسی به رابط گرافیکی / REST API.
- --log-file=<filename> ($STLOGFILE)
- تنظیم نام فایل مقصد برای ثبت وقایع (از "-" برای stdout استفاده کنید که گزینه پیشفرض است).
- --log-level=<level> ($STLOGLEVEL)
- تنظیم سطح ثبت لاگ برای تمام بستهها. سطوح معتبر عبارتند از DEBUG، INFO، WARN و ERROR.
- --log-max-old-files=<num> ($STLOGMAXOLDFILES)
- تعداد فایلهای قدیمی برای نگهداری (صفر برای نگهداری فقط فایل فعلی). فقط زمانی اعمال میشود که چرخش لاگ از طریق --log-max-size فعال باشد.
- --log-max-size=<num> ($STLOGMAXSIZE)
- حداکثر اندازه بر حسب بایت برای هر فایل لاگ (صفر برای غیرفعال کردن چرخش لاگ).
- --log-format-timestamp=<format> ($STLOGFORMATTIMESTAMP)
- قالب برچسب زمانی، برای غیرفعال کردن برچسب زمانی خالی بگذارید. قالب مبتنی بر قالببندی زمان در Go است.
- --[no-]log-format-level-string ($STLOGFORMATLEVELSTRING)
- آیا رشته سطح (مانند “INF”) در خط لاگ گنجانده شود یا خیر.
- --[no-]log-format-level-syslog ($STLOGFORMATLEVELSYSLOG)
- آیا سطح لاگ به عنوان پیشوند syslog (مانند “<6>”) در خط لاگ گنجانده شود یا خیر.
- --no-browser ($STNOBROWSER)
- عدم راهاندازی خودکار مرورگر.
- --no-console ($STNOCONSOLE)
- مخفی کردن پنجره کنسول (فقط در ویندوز).
- --no-port-probing ($STNOPORTPROBING)
- هنگام تولید پیکربندی اولیه یا شروع برای بار اول، درگاههای تصادفی استفادهنشده برای GUI و آدرس شنود را بررسی نکن.
- --no-restart ($STNORESTART)
- عدم راهاندازی مجدد Syncthing هنگام خروج. فرایند مانیتور همچنان برای مدیریت خرابیها و نوشتن لاگها اجرا خواهد شد.
- --no-upgrade ($STNOUPGRADE)
- غیرفعال کردن ارتقای خودکار.
- --paused ($STPAUSED)
- شروع برنامه با تمام دستگاهها و پوشهها در وضعیت متوقفشده (paused).
- --unpaused ($STUNPAUSED)
- شروع برنامه با تمام دستگاهها و پوشهها در وضعیت فعال (unpaused).
- --version
- نمایش اطلاعات نسخه فعلی و سپس خروج.
- --debug-*
- چندین گزینه اشکالزدایی وجود دارد. برای پرچمهای مربوط به نسخه خود، syncthing serve --help را ببینید.
گزینههای رمزگشایی (DECRYPT OPTIONS)
- --to=<dir>
- دایرکتوری مقصد که در آن فایلها پس از رمزگشایی ذخیره میشوند.
- --verify-only
- عدم نوشتن فایلهای رمزگشاییشده روی دیسک (اما درستیسنجی هش متن ساده).
- --password=<pw> ($FOLDER_PASSWORD)
- گذرواژه پوشه برای رمزگشایی / درستیسنجی. میتواند از طریق متغیر محیطی FOLDER_PASSWORD ارسال شود تا در بافر تاریخچه شل ذخیره نشود یا از فهرست فرایندهای در حال اجرا شنود نشود.
- --folder-id=<id>
- شناسه پوشه رمزگذاریشده، در صورتی که نتواند به طور خودکار تعیین شود.
- --token-path=<file>
- مسیر فایل توکن در پوشه (برای تعیین شناسه پوشه استفاده میشود).
- --continue
- ادامه پردازش فایل بعدی در صورت بروز خطا، به جای توقف کامل.
گزینههای تولید (GENERATE OPTIONS)
- --gui-password=<password|->
- مشخص کردن گذرواژه جدید احراز هویت رابط گرافیکی برای بهروزرسانی فایل پیکربندی. اگر فقط یک خط فاصله (-) داده شود، از جریان ورودی استاندارد خوانده میشود. یک گذرواژه متن ساده قبل از نوشتن در فایل پیکربندی هش میشود، اما ورودی که قبلاً با bcrypt هش شده باشد همانطور ذخیره میشود. به عنوان یک حالت خاص، دادن هش گذرواژه موجود آن را دستنخورده باقی میگذارد.
- --gui-user=<username>
- مشخص کردن نام کاربری جدید احراز هویت رابط گرافیکی برای بهروزرسانی فایل پیکربندی.
گزینههای ارتقا (UPGRADE OPTIONS)
- --check-only
- ارتقا نده، فقط نشان بده آیا ارتقایی در دسترس است یا خیر.
- --from=<url>
- ارتقا به نسخه Syncthing موجود از بارگیری بسته در URL دادهشده.
کدهای خروج (EXIT CODES)
- 0
- موفقیت / خاموش شدن (Success / Shutdown)
- 1
- خطا (Error)
- 2
- ارتقا در دسترس نیست (Upgrade not available)
- 3
- در حال راهاندازی مجدد (Restarting)
- 4
- در حال ارتقا (Upgrading)
کدهای خروج بالای 125 معمولاً توسط بارگذار شل/باینری یا مدیر سیگنال پیشفرض بازگردانده میشوند. کدهای خروج بالای 128+N در یونیکس معمولاً نشاندهنده سیگنالی هستند که باعث خروج فرایند شده است. برای مثال: 128 + 9 (SIGKILL) = 137.
زیردستورها (SUBCOMMANDS)
ساختار نحوی خط فرمان از طریق چندین زیردستور که به عنوان اولین آرگومان مشخص میشوند، از حالتهای مختلف عملیات پشتیبانی میکند. اگر حذف شود، زیردستور پیشفرض serve فرض میشود.
راهاندازی اولیه شناسه دستگاه و پیکربندی پیشفرض را میتوان به صراحت با زیردستور generate فراخوانی کرد. همچنین میتواند اطلاعات احراز هویت پیکربندیشده GUI را بدون مراجعه به REST API بهروزرسانی کند. گواهی دستگاه موجود دستنخورده باقی میماند. اگر فایل پیکربندی از قبل وجود داشته باشد، اعتبارسنجی شده و به آخرین طرح پیکربندی بهروزرسانی میشود.
زیردستور decrypt همراه با دستگاههای نامطمئن (رمزگذاریشده) استفاده میشود. این زیردستور به در حال اجرا بودن Syncthing وابسته نیست، بلکه روی دادههای آفلاین کار میکند.
برای کار با REST API جهت اشکالزدایی یا خودکارسازی، زیردستور cli دسترسی آسان به ویژگیهای جداگانه را فراهم میکند و زحمت مدیریت اتصالات HTTP و احراز هویت API را برطرف میسازد.
زیردستورهای موجود در چندین سلسلهمراتب تودرتو گروهبندی شدهاند:
- config
- دسترسی به پیکربندی زنده در یک نمونه در حال اجرا از طریق REST API برای بازیابی (get) یا بهروزرسانی (set) مقادیر.
- show
- نمایش ویژگیهای سیستم و وضعیت یک نمونه در حال اجرا. خروجی مستقیماً از پاسخ REST API ارسال میشود و بنابراین نیاز به تجزیه قالب JSON دارد.
- operations
- کنترل عملیات کلی برنامه مانند راهاندازی مجدد یا مدیریت ارتقا، و همچنین اجرای برخی اقدامات برای هر پوشه.
- errors
- بررسی شرایط خطای معلقی که نیاز به توجه کاربر دارند، یا تأیید و پاکسازی (clear) آنها.
- debug
- ابزارهای مختلف برای کمک به تشخیص مشکلات یا جمعآوری اطلاعات برای گزارشهای اشکال.
- - (یک خط تیره منفرد)
- خواندن دستورات بعدی از جریان ورودی استاندارد بدون نیاز به فراخوانی مکرر دستور syncthing cli.
برای رفع مشکلات، زیردستور debug برخی اقدامات رایج مورد نیاز برای تحلیل و تعمیر دادهها را ارائه میدهد. برخی از این دستورات مستقیماً به پایگاه داده دسترسی دارند و بنابراین تنها زمانی کار میکنند که Syncthing در حال اجرا نباشد:
- debug reset-database
- بازنشانی پایگاه داده و اجبار به اسکن مجدد و همگامسازی مجدد کامل. تنها زمانی باید استفاده شود که Syncthing در حال اجرا نباشد.
- debug database-statistics
- نمایش آمار اندازه پایگاه داده.
- debug database-counts
- نمایش تعداد پوشههای پایگاه داده.
- debug database-file
- نمایش فرادادههای فایل پایگاه داده.
پروکسیها (PROXIES)
برنامه Syncthing میتواند از پروکسی SOCKS، HTTP یا HTTPS برای ارتباط با دنیای خارج استفاده کند. پروکسی فقط برای اتصالات خروجی استفاده میشود و پذیرش اتصالات ورودی از طریق پروکسی امکانپذیر نیست. پروکسی از طریق متغیر محیطی ALL_PROXY یا نسخه با حروف کوچک آن all_proxy پیکربندی میشود:
$ export ALL_PROXY=socks://192.0.2.42:8081
تنظیمات توسعه (DEVELOPMENT SETTINGS)
متغیرهای محیطی زیر رفتار Syncthing را به روشهایی تغییر میدهند که عمدتاً برای توسعهدهندگان مفید است:
- STTRACE
- برای افزایش پرگویی اشکالزدایی در بخشهای خاص استفاده میشود که عموماً به یک بسته Go نگاشت میشوند. رشتهای از بخشها را که با ویرگول جدا شدهاند وارد کنید: api,beacon.
- STLOCKTHRESHOLD
- برای اشکالزدایی بنبستهای داخلی استفاده میشود؛ حساسیت اشکالزدایی را تنظیم میکند.
- STVERSIONEXTRA
- افزودن اطلاعات اضافی به رشته نسخه در لاگها و خط نسخه در GUI.
- GOMAXPROCS
- تنظیم حداکثر تعداد هستههای پردازنده برای استفاده. پیشفرض تمام هستههای پردازنده موجود است.
- GOGC
- درصد رشد هیپ که در آن زبالهروبی (GC) فعال میشود. مقدار پیشفرض 100 است.
- LOGGER_DISCARD
- ترفندی برای غیرفعال کردن کامل ثبت لاگ، مثلاً هنگام اجرای معیارهای ارزیابی (benchmarks).
همچنین ببینید (SEE ALSO)
syncthing-config(5), syncthing-stignore(5), syncthing-device-ids(7), syncthing-security(7), syncthing-networking(7), syncthing-versioning(7), syncthing-faq(7)
نویسندگان (AUTHOR)
نویسندگان و توسعهدهندگان Syncthing
حق نشر (COPYRIGHT)
2014-2026, The Syncthing Authors
| July 23, 2026 | v2.1.0 |