Command Palette

Search for a command to run…

ZarynZaryn
البدء·3 min read

التثبيت

zev برنامج واحد لا يحتاج إلى تثبيت أي شيء آخر. يعمل على لينكس وmacOS وويندوز، على معالجات Intel/AMD (x86-64) وARM (شرائح Apple وGraviton وSnapdragon). ## التثبيت السريع **لينكس وmacOS** ```bash curl -fsSL https://zaryn.xyz/install.sh | sh ``` على ديبيان وأوبونتو وفيدورا وRHEL وأوبن سوزي وآرتش، يضيف هذا الأمر مستودع حزم زرين الموقَّع ويثبّت حزمة `zev`، فتبقيه تحديثات النظام المعتادة محدَّثًا. على macOS وتوزيعات لينكس الأخرى، يثبّت ملف `zev` التنفيذي الموقَّع في `/usr/local/bin`. **ويندوز** (PowerShell) ```powershell irm https://zaryn.xyz/install.ps1 | iex ``` يثبّت هذا `zev.exe` لمستخدمك في `%LOCALAPPDATA%\Programs\zev` ويضيفه إلى `PATH` دون الحاجة إلى صلاحيات المسؤول. ويضع `wintun.dll`، برنامج تشغيل الشبكة الموقَّع من WireGuard، بجانب `zev.exe` للشبكات الخاصة. ثم تحقّق: ```bash zev --version ``` ## عبر مدير الحزم إذا فضّلت الإعداد بنفسك، فهذه هي الخطوات نفسها التي ينفّذها المثبّت. **ديبيان، أوبونتو** (apt) ```bash sudo curl -fsSLo /usr/share/keyrings/zaryn.gpg https://zaryn.xyz/dl/zaryn.gpg echo "deb [signed-by=/usr/share/keyrings/zaryn.gpg] https://zaryn.xyz/dl/apt stable main" | sudo tee /etc/apt/sources.list.d/zaryn.list sudo apt update && sudo apt install zev ``` **فيدورا، RHEL، Rocky، Alma** (dnf) ```bash sudo rpm --import https://zaryn.xyz/dl/zaryn.asc sudo curl -fsSLo /etc/yum.repos.d/zaryn.repo https://zaryn.xyz/dl/rpm/zaryn.repo sudo dnf install zev ``` **أوبن سوزي** (zypper) ```bash sudo rpm --import https://zaryn.xyz/dl/zaryn.asc sudo zypper addrepo https://zaryn.xyz/dl/rpm/zaryn.repo sudo zypper install zev ``` **آرتش لينكس** (pacman) ```bash curl -fsSL https://zaryn.xyz/dl/zaryn.gpg | sudo pacman-key --add - sudo pacman-key --lsign-key 7C2B21CBA73569E5C83C6A945F2C0C446C4997EB printf '\n[zaryn]\nServer = https://zaryn.xyz/dl/arch/$arch\n' | sudo tee -a /etc/pacman.conf sudo pacman -Sy zev ``` **ويندوز** (Scoop) ```powershell scoop install https://zaryn.xyz/dl/scoop/zev.json ``` **أي نظام، يدويًا.** كل إصدار موجود في `https://zaryn.xyz/dl/zev/<الإصدار>/`. يحتوي على الملفات التنفيذية (`zev-x86_64-linux` و`zev-aarch64-macos` و`zev-x86_64-windows.exe` وغيرها) والأرشيفات والحزم وملف `SHA256SUMS`. ملفات لينكس التنفيذية ساكنة بالكامل (static)، فتعمل على أي توزيعة، بما فيها Alpine. ## التحديث - **المثبَّت من مستودع حزم:** يُحدَّث zev مع بقية النظام (`apt upgrade` و`dnf upgrade` و`zypper update` و`pacman -Syu` و`scoop update`). - **المثبَّت كملف تنفيذي:** شغّل `zev self update`، أو `zev self update --check` للاطلاع فقط. لا يثبّت `zev self update` إصدارًا إلا إذا تحقّقت كل هذه الشروط: - أن يكون موقَّعًا بمفتاح إصدارات zev، وهو مضمَّن في zev نفسه؛ - أن يذكر التوقيع اسم الملف ورقم الإصدار نفسيهما بالضبط؛ - أن يكون أحدث مما لديك، إلا إذا طلبت إصدارًا بعينه عبر `--to`؛ - أن يعمل الملف التنفيذي الجديد. إذا جاء zev من مدير حزم، فلا يلمسه `zev self update`، بل يخبرك بالأمر المناسب. ## التحقق من التنزيلات تُوقَّع الإصدارات باستخدام [minisign](https://jedisct1.github.io/minisign/)، وهي الطريقة نفسها التي يستخدمها Zig لإصداراته. مفتاح إصدارات zev هو: ``` RWQgi1EYwzJgSHlVF5QFI0E4ZaDNfUqL2u9im7SP34VVRCaR60jIUISL ``` للتحقق من ملف بنفسك: ```bash minisign -Vm zev-x86_64-linux -P RWQgi1EYwzJgSHlVF5QFI0E4ZaDNfUqL2u9im7SP34VVRCaR60jIUISL ``` تُوقَّع مستودعات الحزم بمفتاح OpenPGP ذي البصمة `7C2B 21CB A735 69E5 C83C 6A94 5F2C 0C44 6C49 97EB` ("Zaryn Packages"). يتحقق مدير الحزم من كل حزمة به، ويتحقق `install.sh` من المفتاح نفسه قبل الوثوق به. ## الإزالة ```bash zev self uninstall ``` إذا جاء zev من مدير حزم، فإن `zev self uninstall` يذكر الأمر المناسب بدلًا من ذلك، مثل `sudo apt remove zev`. تبقى مستودعاتك وإعداداتك في `~/.zev`. لمغادرة شبكة خاصة، شغّل `zev net down --forget` أولًا. ## الشيفرة المصدرية والبناء منها مصدر zev موجود على Zaryn نفسها، في المستودع العام [zaryn/zev](https://zaryn.xyz/zaryn/zev): تصفّحه هناك، أو اجلبه بـ zev نفسه. لا يحتاج البناء إلا إلى مترجم Zig (سلسلة التطوير 0.17)، ومكتبة zstd مضمَّنة في المصدر. ```bash curl -fsSL https://zaryn.xyz/install.sh | sh # zev, to fetch its own source zev clone zaryn/zev cd zev zig build -Doptimize=ReleaseSafe ``` يوجد الملف التنفيذي في `zig-out/bin/zev`. ويبني `zig build check-ports` zev لكل المنصات التي يُصدَر لها، من أي جهاز. ### الخادم (اختياري، للاستضافة الذاتية) ```bash cd zev-api zig build ``` يقرأ `zev-api` إعداداته من متغيرات البيئة، ومنها الاتصال بقاعدة البيانات وزوج مفاتيح هوية الخادم. يُولَّد زوج المفاتيح عند أول تشغيل إن لم يوجد. لا تحتاج إلى خادم خاص إلا إذا كنت لا تستخدم خادمًا مستضافًا.