پالت فرمان

دنبال فرمانی برای اجرا بگردید…

ZarynZaryn
فایل‌ها، ذخیره‌سازی و رمزنگاری·۸ دقیقه مطالعه·

شروع کار با فایل‌ها، ذخیره‌سازی و رمزگذاری

مسیری راهنما از «این فایل را کجا بگذارم؟» تا اثبات اینکه داده‌هایتان نگه داشته می‌شوند: پیوندهایی که چون محتوا را نام می‌برند همیشه کار می‌کنند، هم‌رسانی و به‌روزرسانی، مخزن‌های رمزشدهٔ سرتاسری، و سنجیدن Zaryn بی‌آنکه به آن اعتماد کنید. اول تصویر، هر گام با توضیح.

آموزش⏱ حدود ۲۵ دقیقه◔ از صفر تا پیشرفته☰ ۱۴ فصل
یاد می‌گیرید
  • چه چیزهایی را می‌توانید روی Zaryn نگه دارید و هر نوع فایل در کدام جا جا می‌شود
  • چرا یک پیوند Zaryn برای همیشه دقیقاً همان فایل را باز می‌کند
  • هم‌رسانی یک فایل با پیوند، و نشانی‌ای که می‌توانید به‌روزش کنید
  • رمزگذاری یک مخزن تا حتی Zaryn نتواند آن را بخواند
  • اثبات با ریاضی، نه با اعتماد، که داده‌هایتان واقعاً نگه داشته می‌شوند
لازم دارید
  • یک حساب Zaryn (رایگان)
  • zev، برای فصل‌های رمزگذاری و اثبات
مسیر شما
  1. مرحلهٔ ۱درک
    1. سه جا برای نگه داشتن
    2. پیوندی به محتوا، نه به یک مکان
    3. عمومی، خصوصی یا رمزشده
  2. مرحلهٔ ۲هم‌رسانی
    1. یک فایل را با پیوند هم‌رسانی کنید
    2. نسخهٔ تازه یعنی پیوند تازه
    3. یک نشانی که همیشه تازه‌ترین را نشان می‌دهد
  3. مرحلهٔ ۳خصوصی نگه داشتن
    1. یک مخزن را رمزگذاری کنید
    2. هم‌تیمی‌ها و دستگاه‌هایشان
    3. لپ‌تاپی گم‌شده، لپ‌تاپی تازه
  4. مرحلهٔ ۴اثبات
    1. آخرین push خود را بسنجید، بی اعتماد به ما
    2. چند بایت از یک فایل بزرگ، باز هم اثبات‌شده
    3. داده‌های شما چطور نگه داشته می‌شوند
  5. مرحلهٔ ۵فراتر
    1. از اسکریپت‌ها و عامل‌ها
    2. فضا، و قدم بعدی
فایل‌ها، داده‌ها و رازها: هر کدام را کجا نگه دارید، چطور هم‌رسانی کنید، چطور قفلش کنید و چطور بسنجید که واقعاً نگه داشته می‌شود. صفحهٔ Storage ([zaryn.xyz/storage](/storage)) جایی است که هر چه روی Zaryn نگه می‌دارید یک‌جا جمع می‌شود. ## ۱. سه جا برای نگه داشتن ```diagram type: cards title: چه چیزی کجا می‌رود --- 🔗 | فایل‌هایی که با پیوند هم‌رسانی می‌کنید | یک PDF، یک ویدیو، یک خروجی ساخت: بارگذاری کنید، پیوند را بفرستید، برای باز کردن حساب لازم نیست | accent 📁 | مخزن‌ها | پروژه‌ای با همهٔ نسخه‌ها: کد، پایان‌نامه، دیتاست، مدل. عمومی، خصوصی یا رمزشده | good 📦 | بسته‌ها و ایمیج‌ها | چیزهایی که نرم‌افزارها نصب می‌کنند: npm، PyPI، Cargo، Zig، کانتینر | ``` قاعدهٔ سرانگشتی: **یک فایل برای دادن به کسی** ← پیوند؛ **کاری که با زمان عوض می‌شود** ← مخزن؛ **چیزی که نرم‌افزار نصب می‌کند** ← [بسته](/docs/fa/packages). ## ۲. پیوندی به محتوا، نه به یک مکان ```diagram type: graph title: بایت‌های یکسان، نام یکسان، هر جا alt: بایت‌های یک فایل به CID آن هش می‌شوند؛ پیوند CID را نام می‌برد، پس هر gateway یا نود IPFS دقیقاً همان فایل را می‌دهد، و فایل تغییرکرده CID دیگری می‌گیرد legend: path=باز می‌کند height: 36 --- node file | report.pdf | 10 18 | file | accent | بایت‌هایش، همان‌طور که بارگذاری شد node cid | bafy…fbzdi | 42 18 | hash | good | CID آن: اثر انگشت بایت‌ها. یک بایت را عوض کنید، CID دیگری می‌گیرید node gw1 | ipfs.io | 80 6 | cloud | | یک gateway عمومی node gw2 | هر نود IPFS | 80 30 | storage | | یا نود خودتان: CID همه‌جا یکی است link file cid | هش | path link cid gw1 | | path link cid gw2 | | path2 ``` هر چه Zaryn نگه می‌دارد با **محتوایش** نام می‌گیرد: هشی از بایت‌ها به نام **CID**. پیوندی که یک CID را نام می‌برد فقط می‌تواند همان بایت‌ها را باز کند. هیچ‌کس، از جمله Zaryn، نمی‌تواند فایل پشت آن را عوض کند، و هر نود IPFS می‌تواند آن را بدهد، نه فقط Zaryn. ## ۳. عمومی، خصوصی یا رمزشده ```diagram type: flow title: چقدر باید خصوصی باشد؟ or: یا --- عمومی | فایل‌های هم‌رسانی‌شده و مخزن‌های عمومی: هر کسی با پیوند می‌تواند بخواند | | 🌐 ? مخزن خصوصی | فقط شما و کسانی که دعوت می‌کنید؛ Zaryn برای نشان دادن به آن‌ها می‌تواند بخواندش ~ خصوصی‌تر مخزن رمزشده | روی رایانهٔ شما رمز می‌شود: فقط دستگاه‌های شما کلید دارند، نه Zaryn | good | 🔐 ``` فایل‌های هم‌رسانی‌شده با پیوند همیشه عمومی‌اند، پس گذرواژه، قرارداد و عکس خصوصی جایشان آنجا نیست. برای کار خصوصی مخزن خصوصی، و برای کاری که باید حتی از میزبان هم خصوصی بماند، مخزن **رمزشده** به کار ببرید. ## ۴. یک فایل را با پیوند هم‌رسانی کنید ```diagram type: flow title: سه کلیک --- باز کردن Storage | در منوی بالا، یا zaryn.xyz/storage | | 🗂 ~ رها کردن فایل بارگذاری‌شده | CID خودش را می‌گیرد، با رسیدی امضاشده از سرور | accent | ⇡ ~ Copy link فرستاده‌شده | هر کس پیوند را بگیرد بازش می‌کند؛ حساب لازم نیست | good | 🔗 ``` فایل‌هایتان زیر **My files** فهرست می‌شوند، تازه‌ترین اول، با **Copy link** و **Open** کنار هر کدام. پیوند این شکلی است: `https://ipfs.io/ipfs/bafy…?filename=report.pdf`. ## ۵. نسخهٔ تازه یعنی پیوند تازه ```diagram type: history title: هر نسخه، پیوند خودش start: نسخهٔ ۱ --- branch report.pdf | accent commit v1 report.pdf | bafy…fbzdi | info پیوندی که فرستادید برای همیشه دقیقاً همین را باز می‌کند step یک غلط تایپی را درست و دوباره بارگذاری می‌کنید | بایت‌های تازه، CID تازه، پیوند تازه. پیوند قدیمی همچنان نسخهٔ ۱ را باز می‌کند. commit v2 report.pdf | bafy…k3q7a | info پیوندی تازه برای نسخهٔ تازه ``` این یک امکان است، نه محدودیت: پیوندی در یک ایمیل، مقاله یا قرارداد همیشه همان چیزی را نشان می‌دهد که هنگام فرستادن بود. بارگذاری دوبارهٔ همان فایل فقط یک بار فضا می‌گیرد. ## ۶. یک نشانی که همیشه تازه‌ترین را نشان می‌دهد ```diagram type: flow title: نشانی‌ای که می‌توانید به‌روزش کنید (IPNS) --- یک نام | زیر Advanced در صفحهٔ Storage: یک نشانی، از آنِ شما | accent | 🏷 ~ اشاره می‌کند به نسخهٔ ۱ | امروز bafy…fbzdi را باز می‌کند | | 📄 ~ به‌روزرسانی منتشر می‌کنید نسخهٔ ۲ | همان نشانی حالا bafy…k3q7a را باز می‌کند | good | 📄 ``` وقتی واقعاً «همیشه تازه‌ترین» را می‌خواهید (یک صفحهٔ دانلود، دیتاستی که تازه می‌شود)، یک **نشانی IPNS** به کار ببرید. برای برداشتن یک فایل، منوی ▾ آن را باز کنید و **Stop hosting** را بزنید. نسخه‌هایی که دیگران ساخته‌اند شاید تا مدتی کار کنند: دلیل دیگری که چیزهای خصوصی جایشان اینجا نیست. ## ۷. یک مخزن را رمزگذاری کنید ```diagram type: flow title: پیش از نخستین push، به همین ترتیب --- خصوصی | `zev new`، گزینهٔ private، هنوز چیزی push نشده | | 🔒 ~ zev encrypt on رمزشده | از این پس محتوای فایل‌ها روی رایانهٔ شما رمز می‌شود | accent | 🔐 ~ zev encrypt recovery کد بازیابی | یک بار نشان داده می‌شود: یادداشتش کنید | warn | 🧾 ~ zev push ارسال‌شده | Zaryn چیزی را نگه می‌دارد که نمی‌تواند بخواند | good | ⇡ ``` ```bash zev new # choose "private" zev encrypt on zev encrypt recovery # write the code down, or keep it in a password manager zev push ``` نام فایل‌ها و پوشه‌ها، پیام‌های کامیت و اندازه‌ها خواندنی می‌مانند تا وب‌سایت بتواند فهرستشان کند. محتوا نه. چون Zaryn نمی‌تواند آن را بخواند، جست‌وجوی کد و اسکن‌ها درون فایل‌های رمزشده کار نمی‌کنند. ## ۸. هم‌تیمی‌ها و دستگاه‌هایشان ```diagram type: graph title: چه کسی چه چیزی را می‌تواند بخواند alt: لپ‌تاپ شما و لپ‌تاپ هم‌تیمی کلید دارند؛ Zaryn فقط محتوای رمزشده نگه می‌دارد؛ مرورگری که تأیید کرده‌اید می‌تواند فایل‌ها را نشان دهد legend: path=فایل‌های رمزشده; path2=کلید، برای هر دستگاه height: 40 --- node me | لپ‌تاپ شما | 12 10 | laptop | accent | کلید را دارد node tm | لپ‌تاپ هم‌تیمی | 12 32 | laptop | good | کلید را با `zev encrypt share` می‌گیرد node z | Zaryn | 50 20 | cloud | | محتوایی را نگه می‌دارد و می‌دهد که نمی‌تواند بخواند node web | مرورگری که تأیید کرده‌اید | 88 20 | user | | `zev encrypt approve <fingerprint>`: فقط روی صفحهٔ شما رمزگشایی می‌کند link me z | رمزشده | path link tm z | کلید برای این دستگاه | path2 link z web | | path ``` 1. آن شخص را روی Zaryn به همکاران اضافه کنید. 2. او دستگاهش را ثبت می‌کند: `zev clone you/project` (یا `zev encrypt unlock` در یک نسخهٔ موجود). 3. هر کسی که کلید دارد `zev encrypt share` را اجرا می‌کند. از آن پس pull و push او خودشان رمزگذاری و رمزگشایی می‌کنند. برای خواندن فایل‌های رمزشده در وب‌سایت، آن مرورگر را از دستگاهی که کلید دارد تأیید کنید. سرور Zaryn همچنان هرگز آن‌ها را نمی‌بیند. ## ۹. لپ‌تاپی گم‌شده، لپ‌تاپی تازه ```diagram type: flow title: اول کلید را عوض کنید، بعد بازیابی or: یا --- گم‌شده یا رفتنی | دستگاه یا شخص را روی Zaryn حذف کنید | bad | ✂ ~ zev encrypt rotate کلید تازه | برای هر چه از این پس push می‌شود؛ دستگاه‌هایی که هنوز عضوند آن را می‌گیرند | accent | 🔑 ~ روی رایانهٔ تازه هم‌تیمی هم‌رسانی می‌کند | `zev clone`، سپس کسی `zev encrypt share` را اجرا می‌کند | good | 🤝 ? به‌تنهایی | `zev encrypt unlock --recovery XXXX-…` با کد بازیابی‌تان | warn ``` اگر همهٔ دستگاه‌ها **و** کد بازیابی را از دست بدهید، هیچ‌کس، از جمله Zaryn، نمی‌تواند فایل‌ها را باز کند. این بهای رمزگذاری سرتاسری واقعی است. ## ۱۰. آخرین push خود را بسنجید، بی اعتماد به ما ```diagram type: sequence title: zev verify-storage چه چیزهایی را می‌سنجد lanes: zev | Zaryn | لاگ شفافیت alt: Zaryn هر شیء را دوباره می‌خواند و رسیدی امضا می‌کند؛ zev می‌سنجد که push در رسید هست، امضا درست است و رسید در لاگ شفافیت عمومی ثبت شده --- note Zaryn : هر شیء را با هشش دوباره می‌خواند و رسیدی امضا می‌کند | good zev -> Zaryn : آخرین رسید note zev : همهٔ اشیای آخرین push من فهرست شده؟ امضا از Zaryn است؟ zev -> لاگ شفافیت : این رسید ثبت شده؟ لاگ شفافیت --> zev : بله، و بعداً عوض نمی‌شود ``` ```bash zev verify-storage ``` هر گام با ریاضی است، نه با حرف Zaryn. اگر یکی شکست بخورد، zev می‌گوید کدام. همین بررسی از تنظیمات مخزن در مرورگرتان هم اجرا می‌شود: **Verify, without trusting Zaryn**. ## ۱۱. چند بایت از یک فایل بزرگ، باز هم اثبات‌شده ```diagram type: flow title: خواندن بخشی از یک فایل بزرگ --- درخواست | `zev fetch-range <hash> <start> <length>` | | ⇣ ~ Zaryn می‌فرستد آن بخش | فقط همان بایت‌ها، با اثباتی که از آن شیء‌اند | accent | 🧩 ~ zev می‌سنجد اثبات‌شده | در برابر هش کل فایل، بی‌آنکه بقیه دانلود شود | good | ✓ ``` نمونه‌ای از یک دیتاست یا مدل چندگیگابایتی، سنجیده‌شده انگار همه‌اش را دانلود کرده‌اید. ## ۱۲. داده‌های شما چطور نگه داشته می‌شوند ```diagram type: cards --- #️⃣ | نام‌گذاری با محتوا | هر آسیبی همیشه پیداست: بایت‌ها دیگر با نامشان نمی‌خوانند | accent ⧉ | دو نسخه، بررسی روزانه | بررسی روزانه هر نسخه را از روی دیگری ترمیم می‌کند | good 🧱 | کدگذاری پاک‌شدگی | سیاست resilient فایل‌های بزرگ را روی چند سرور پخش می‌کند | 📌 | پین‌شده روی IPFS | فایل‌های هم‌رسانی‌شده پین می‌شوند؛ پریمیوم روی همهٔ همتاهای خوشه پین می‌کند | good ``` بیشتر در [ذخیره‌سازی بررسی‌پذیر](/docs/fa/verified-storage) و [پین کردن و IPFS Cluster](/docs/fa/pinning-and-cluster). ## ۱۳. از اسکریپت‌ها و عامل‌ها ```bash # upload: the response has the CID, a ready link and a signed receipt curl -X POST "https://api.zaryn.xyz/v1/pins?name=report.pdf" \ -H "Authorization: Bearer $ZARYN_TOKEN" --data-binary @report.pdf curl -H "Authorization: Bearer $ZARYN_TOKEN" https://api.zaryn.xyz/v1/pins # your files and space curl -X DELETE -H "Authorization: Bearer $ZARYN_TOKEN" https://api.zaryn.xyz/v1/pins/<cid> ``` یک توکن با دسترسی `pin:write` کافی است. رسید هر بارگذاری (کدام فایل، چه اندازه، کی) را هر کسی بعداً می‌تواند بسنجد. ## ۱۴. فضا، و قدم بعدی ```diagram type: stats title: طرح رایگان --- 20 GB | فایل‌های هم‌رسانی‌شده با پیوند | پس از حذف تکرار | | 2 GB | مخزن‌ها | هر فایل تا ۲۵۰ مگابایت | | accent 500 MB | بسته‌ها و ایمیج‌ها | آینه‌ها هرگز حساب نمی‌شوند | | ``` نوارهای صفحهٔ Storage پس از ۷۵٪ کهربایی می‌شوند و Zaryn وقتی به سقف برسید خبرتان می‌کند. بیشتر لازم دارید؟ [طرح‌ها](/docs/fa/billing-and-credits). بعد: [نگه داشتن فایل‌ها](/docs/fa/storing-files)، [مخزن‌های رمزشده](/docs/fa/encrypted-repositories) و [ذخیره‌سازی بررسی‌پذیر](/docs/fa/verified-storage) با جزئیات.
آموزش را به پایان رساندید

از اینجا کجا بروید