مسیری راهنما از «این فایل را کجا بگذارم؟» تا اثبات اینکه دادههایتان نگه داشته میشوند: پیوندهایی که چون محتوا را نام میبرند همیشه کار میکنند، همرسانی و بهروزرسانی، مخزنهای رمزشدهٔ سرتاسری، و سنجیدن Zaryn بیآنکه به آن اعتماد کنید. اول تصویر، هر گام با توضیح.
آموزش⏱ حدود ۲۵ دقیقه◔ از صفر تا پیشرفته☰ ۱۴ فصل
یاد میگیرید
✓چه چیزهایی را میتوانید روی Zaryn نگه دارید و هر نوع فایل در کدام جا جا میشود
✓چرا یک پیوند Zaryn برای همیشه دقیقاً همان فایل را باز میکند
✓همرسانی یک فایل با پیوند، و نشانیای که میتوانید بهروزش کنید
✓رمزگذاری یک مخزن تا حتی Zaryn نتواند آن را بخواند
✓اثبات با ریاضی، نه با اعتماد، که دادههایتان واقعاً نگه داشته میشوند
فایلها، دادهها و رازها: هر کدام را کجا نگه دارید، چطور همرسانی کنید، چطور قفلش کنید و چطور بسنجید که واقعاً نگه داشته میشود. صفحهٔ 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) با جزئیات.
فایلها، دادهها و رازها: هر کدام را کجا نگه دارید، چطور همرسانی کنید، چطور قفلش کنید و چطور بسنجید که واقعاً نگه داشته میشود. صفحهٔ Storage (zaryn.xyz/storage) جایی است که هر چه روی Zaryn نگه میدارید یکجا جمع میشود.
هر چه Zaryn نگه میدارد با محتوایش نام میگیرد: هشی از بایتها به نام CID. پیوندی که یک CID را نام میبرد فقط میتواند همان بایتها را باز کند. هیچکس، از جمله Zaryn، نمیتواند فایل پشت آن را عوض کند، و هر نود IPFS میتواند آن را بدهد، نه فقط Zaryn.
فایلهای همرسانیشده و مخزنهای عمومی: هر کسی با پیوند میتواند بخواند
یا
مخزن خصوصی
فقط شما و کسانی که دعوت میکنید؛ Zaryn برای نشان دادن به آنها میتواند بخواندش
خصوصیتر
🔐
مخزن رمزشده
روی رایانهٔ شما رمز میشود: فقط دستگاههای شما کلید دارند، نه Zaryn
فایلهای همرسانیشده با پیوند همیشه عمومیاند، پس گذرواژه، قرارداد و عکس خصوصی جایشان آنجا نیست. برای کار خصوصی مخزن خصوصی، و برای کاری که باید حتی از میزبان هم خصوصی بماند، مخزن رمزشده به کار ببرید.
فایلهایتان زیر My files فهرست میشوند، تازهترین اول، با Copy link و Open کنار هر کدام. پیوند این شکلی است: https://ipfs.io/ipfs/bafy…?filename=report.pdf.
این یک امکان است، نه محدودیت: پیوندی در یک ایمیل، مقاله یا قرارداد همیشه همان چیزی را نشان میدهد که هنگام فرستادن بود. بارگذاری دوبارهٔ همان فایل فقط یک بار فضا میگیرد.
زیر Advanced در صفحهٔ Storage: یک نشانی، از آنِ شما
اشاره میکند به
📄
نسخهٔ ۱
امروز bafy…fbzdi را باز میکند
بهروزرسانی منتشر میکنید
📄
نسخهٔ ۲
همان نشانی حالا bafy…k3q7a را باز میکند
وقتی واقعاً «همیشه تازهترین» را میخواهید (یک صفحهٔ دانلود، دیتاستی که تازه میشود)، یک نشانی IPNS به کار ببرید. برای برداشتن یک فایل، منوی ▾ آن را باز کنید و Stop hosting را بزنید. نسخههایی که دیگران ساختهاند شاید تا مدتی کار کنند: دلیل دیگری که چیزهای خصوصی جایشان اینجا نیست.
از این پس محتوای فایلها روی رایانهٔ شما رمز میشود
zev encrypt recovery
🧾
کد بازیابی
یک بار نشان داده میشود: یادداشتش کنید
zev push
⇡
ارسالشده
Zaryn چیزی را نگه میدارد که نمیتواند بخواند
Terminal
zev new # choose "private"zev encrypt onzev encrypt recovery # write the code down, or keep it in a password managerzev push
نام فایلها و پوشهها، پیامهای کامیت و اندازهها خواندنی میمانند تا وبسایت بتواند فهرستشان کند. محتوا نه. چون Zaryn نمیتواند آن را بخواند، جستوجوی کد و اسکنها درون فایلهای رمزشده کار نمیکنند.
هر شیء را با هشش دوباره میخواند و رسیدی امضا میکند
آخرین رسید
همهٔ اشیای آخرین push من فهرست شده؟ امضا از Zaryn است؟
این رسید ثبت شده؟
بله، و بعداً عوض نمیشود
Terminal
zev verify-storage
هر گام با ریاضی است، نه با حرف Zaryn. اگر یکی شکست بخورد، zev میگوید کدام. همین بررسی از تنظیمات مخزن در مرورگرتان هم اجرا میشود: Verify, without trusting Zaryn.
# upload: the response has the CID, a ready link and a signed receiptcurl -X POST "https://api.zaryn.xyz/v1/pins?name=report.pdf" \ -H "Authorization: Bearer $ZARYN_TOKEN" --data-binary @report.pdfcurl -H "Authorization: Bearer $ZARYN_TOKEN" https://api.zaryn.xyz/v1/pins # your files and spacecurl -X DELETE -H "Authorization: Bearer $ZARYN_TOKEN" https://api.zaryn.xyz/v1/pins/<cid>
یک توکن با دسترسی pin:write کافی است. رسید هر بارگذاری (کدام فایل، چه اندازه، کی) را هر کسی بعداً میتواند بسنجد.