desync(1) desync(1)

desync-chunk-server - اجرای سرور HTTP برای ارائه تکه‌های قالب desync

desync chunk-server [flags]

یک سرور تکه (chunk server) مبتنی بر HTTP را راه‌اندازی می‌کند که می‌تواند به عنوان یک مخزن راه دور مورد استفاده قرار گیرد. این سرور از خواندن داده‌ها از چندین مخزن محلی یا راه دور و همچنین حافظه موقت (کش) محلی پشتیبانی می‌کند. در صورتی که گزینه‌های --cert و --key مشخص شوند، سرور بر بستر HTTPS خدمت‌رسانی خواهد کرد. گزینهٔ -w امکان نوشتن در این مخزن را فعال می‌کند، اما این کار تنها زمانی مجاز است که فقط یک مخزن بالادستی تکه‌ها مشخص شده باشد. گزینهٔ --skip-verify-write اعتبارسنجی هش تکه‌های نوشته‌شده در این سرور را غیرفعال می‌کند؛ این امر با حذف مرحلهٔ از حالت فشرده خارج کردن داده‌ها که برای محاسبهٔ مجموع مقابله‌ای (checksum) مورد نیاز است، کارایی را بهبود می‌بخشد. اگر از گزینهٔ -u استفاده شود، تنها تکه‌های غیرفشرده ارائه (و پذیرفته) می‌شوند. چنانچه مخزن بالادستی تکه‌های فشرده‌شده را ارائه دهد، لازم است همه‌چیز در سمت سرور از حالت فشرده خارج شود، بنابراین بهتر است داده‌ها نیز از مخازن بالادستی غیرفشرده خوانده شوند. با استفاده از گزینهٔ --encryption، تکه‌ها بدون توجه به نحوهٔ ذخیره‌سازی آن‌ها در مخزن بالادستی، به‌صورت رمزگذاری‌شده ارائه (و پذیرفته) می‌شوند. کلید رمزنگاری از متغیر محیطی DESYNC_ENCRYPTION_KEY خوانده می‌شود، مگر اینکه از گزینهٔ --encryption-key استفاده گردد. متغیر محیطی به‌تنهایی رمزنگاری را فعال نمی‌کند و تعیین یکی از گزینه‌های رمزنگاری الزامی است.

اگرچه گزینهٔ --concurrency تعداد کلاینت‌هایی را که می‌توانند به‌طور هم‌زمان سرویس‌دهی شوند محدود نمی‌کند، اما بر استخر اتصالات (connection pools) به مخازن بالادستی راه دور تأثیر می‌گذارد و در صورتی که سرور تحت بار کاری سنگین باشد، باید با دقت انتخاب شود.

این دستور از گزینهٔ --store-file پشتیبانی می‌کند که می‌توان از آن برای تعریف مخازن و حافظه‌های موقت (کش) در یک فایل JSON استفاده کرد. سپس پیکربندی را می‌توان با ارسال سیگنال SIGHUP بدون نیاز به راه‌اندازی مجدد سرور بارگذاری مجدد (reload) کرد. این کار حتی تحت بار کاری نیز قابل انجام است.

--authorization="" مقدار مورد انتظار برای سرآیند احراز هویت (authorization header) در درخواست‌ها

--ca-cert="" اعتماد به مراجع صدور گواهی موجود در این فایل، به‌جای مخزن گواهی‌های سیستم‌عامل

-c, --cache="" مخزنی که به عنوان حافظه موقت (کش) استفاده شود

-r, --cache-repair[=true] جایگزینی تکه‌های نامعتبر در حافظه موقت با داده‌های مخزن منبع

--cert="" فایل گواهی با فرمت PEM، نیازمند گزینهٔ --key است

--client-ca="" گواهی یا مرجع صدور گواهی (CA) قابل‌قبول کلاینت

--client-cert="" مسیر گواهی کلاینت برای احراز هویت TLS

--client-key="" مسیر کلید کلاینت برای احراز هویت TLS

-n, --concurrency=10 تعداد گوروتین‌های هم‌زمان (goroutines)

--encryption[=false] ارائه تکه‌ها به‌صورت رمزگذاری‌شده؛ کلید را از متغیر محیطی $DESYNC_ENCRYPTION_KEY انتظار دارد مگر اینکه --encryption-key داده شده باشد

--encryption-algorithm="" الگوریتم رمزنگاری، xchacha20-poly1305 (پیش‌فرض) یا aes-256-gcm؛ متضمن --encryption است

--encryption-key="" ارائه تکه‌ها به‌صورت رمزگذاری‌شده با این کلید ۲۵۶ بیتی کدگذاری‌شده در مبنای ۱۶ (hex)؛ متضمن --encryption است

-e, --error-retry=3 تعداد دفعات تلاش مجدد در صورت بروز خطای شبکه

-b, --error-retry-base-interval=500ms تأخیر اولیه برای تلاش مجدد، که با هر تلاش بعدی به صورت خطی افزایش می‌یابد

-h, --help[=false] راهنمای دستور chunk-server

--key="" فایل کلید با فرمت PEM، نیازمند گزینهٔ --cert است

-l, --listen=[:http] نشانی(های) گوش دادن، می‌تواند تکرار شود

--log="" فایل لاگ درخواست‌ها یا - برای خروجی استاندارد (STDOUT)

--mutual-tls[=false] الزام به ارائه گواهی معتبر از سمت کلاینت (Mutual TLS)

--skip-verify-read[=true] عدم اعتبارسنجی داده‌های تکه‌های خوانده‌شده از مخازن بالادستی (سرعت بالاتر)

--skip-verify-write[=true] عدم اعتبارسنجی داده‌های تکه‌های نوشته‌شده در این سرور (سرعت بالاتر)

-s, --store=[] مخزن(های) منبع بالادستی

--store-file="" خواندن آرگومان‌های مخزن از یک فایل، با پشتیبانی از بارگذاری مجدد با سیگنال SIGHUP

-t, --trust-insecure[=false] اعتماد به گواهی‌های نامعتبر

-u, --uncompressed[=false] ارائه تکه‌ها به‌صورت غیرفشرده

-w, --writable[=false] پشتیبانی از عملیات نوشتن

--config="" فایل پیکربندی (پیش‌فرض: $HOME/.config/desync/config.json)

--digest="sha512-256" الگوریتم دایجست، sha512-256 یا sha256

--verbose[=false] حالت پرحرف با نمایش جزئیات کامل

desync chunk-server -s sftp://192.168.1.1/store -c /path/to/cache -l :8080
desync chunk-server -s /path/to/store -w -l :8080
desync chunk-server -s /path/to/store --cert cert.pem --key key.pem -l :8443

desync(1)

۵ سپتامبر ۲۰۲۶، تولید شده به صورت خودکار توسط spf13/cobra

Sep 2026 desync