Tip: Passing the compilation does not mean that all functions are available, and the function of Tun system proxy is probably not available. If you know how to fix it, we welcome your Pull Request. ## پروژه Nekoray را از منبع آن دریافت کنید در `Terminal` در مسیر دلخواه خود، دستور زیر را وارد کنید و دکمه `return` را بفشارید. ```shell git clone https://github.com/MatsuriDayo/nekoray.git --recursive ``` اگر `git` روی دستگاه از پیش نصب نباشد، دستگاه، خودکار نصب آن را پیشنهاد می‌کند. مرحله‌های نصب را به انجام برسانید و سپس دوباره دستور پیش گفته را در `Terminal` اجرا کنید. سپس وارد پوشه `nekoray` شوید. برای کامپایل کردن پروژه، پیش‌نیازهای زیر را نصب کنید. برای این، دستور زیر را در `Terminal` وارد کنید و دکمه `Return` را بفشارید. ```shell cd nekoray ```
## پیش‌نیازها ###۱. `CMake` برای نصب `CMake` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell brew install cmake ``` اگر با خطای `zsh: command not found: brew` روبه‌رو شدید به این معنی است که `homebrew` در دستگاه شما نصب نیست. برای نصب آن نخست باید `XCode's command line tools` را نصب کنید. اگر به این مشکل برخورده‌ اید، گام های `۱.۱`، `۱.۲` و `۱.۳` را دنبال کنید.
####۱.۱. نصب `XCode's command line tools` دستور زیر را در `terminal` وادر کنید و دکمه `return` را بفشارید. ```shell xcode-select --install ```
####۱.۲. نصب `homebrew` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell curl -fsSL -o install.sh https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh ```
####۱.۳. حال می‌توانید با دستوری که پیشتر گفتیم، `CMake` را نصب کنید.
###۲. `Ninja` برای نصب `Ninja` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell sudo port install ninja ``` اگر با خطای `sudo: port: command not found` روبه‌رو شدید، به این معنی است که `MacPorts` روی دستگاه شما نصب نیست. نسخه `MacPorts` متناسب با نسخه `macOs` خود را بارگری و نصب کنید. سپس بار دیگر، دستور نصب `Ninja` را در `terminal` وارد کرده و دکمه `return` را بفشارید.
###۳. `npm` برای نصب `npm` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell brew install npm ```
###۴. `qtbase` برای نصب `qtbase` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell sudo port install qt5-qtbase ```
###۵. `qtsvg` برای نصب `qtsvg` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell sudo port install qt5-qtsvg ```
###۶. `qttools` برای نصب `qttools` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell sudo port install qt5-qttools ```
###۷. `appdmg` برای نصب `appdmg` دستور زیر را در `terminal` وارد کنید و دکمه `return` را بفشارید. ```shell sudo npm install -g appdmg ```
## C++ ### وابستگی‌های C و ++C را کامپایل و نصب کنید. دستور زیر را در `terminal` وارد کرده و دکمه `return` را بفشارید. ```shell ./libs/build_deps_all.sh ```
### آنتولوژی را کامپایل کنید. دستور زیر را در `terminal` وارد کرده و دکمه `return` را بفشارید. ```shell mkdir build cd build cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DNKR_PACKAGE_MACOS=1 .. ninja ```
## هسته نرم افزار ### هسته نرم افزار را کامپایل کنید. چگونگی کامپایل کردن هسته نرم افزار را [اینجا ](./Build_Core_fa.md)بخوانید.
### جایگذاری هسته فایل کامپایل شده `nekoray_core` و `nekobox_core` را در مسیر زیر کپی کنید. `build/nekoray.app/Contents/MacOS`
## فایل‌های جغرافی را تهیه کنید. (اختیاری) اگر مایلید، با اجرای دستورهای زیر در `Terminal` فایل های جغرافی را تهیه کنید. ```shell curl -Lso build/nekoray.app/Contents/MacOS/geoip.dat "https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat" curl -Lso build/nekoray.app/Contents/MacOS/geosite.dat "https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat" curl -Lso build/nekoray.app/Contents/MacOS/geoip.db "https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db" curl -Lso build/nekoray.app/Contents/MacOS/geosite.db "https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite.db" ```
## پایان کار فایل اجرایی `Nekoray` در مسیر زیر قرار دارد. می‌توانید آن را در مسیر دلخواه کپی کنید. `مسیر پروژه Nekoray/build`