diff --git a/README_ru.md b/README_ru.md index b8828ee..6c461f4 100644 --- a/README_ru.md +++ b/README_ru.md @@ -98,9 +98,7 @@ USDT TRC20 XMR `49bwESYQjoRL3xmvTcjZKHEKaiGywjLYVQJMUv79bXonGiyDCs8AzE3KiGW2ytTybBCpWJUvov8SjZZEGg66a4e59GXa6k5` - -- Донат через [Google Play](https://play.google.com/store/apps/details?id=moe.nb4a), используя банковскую карту. -- + ## Авторы Ядра: diff --git a/docs/Build_Core_ru.md b/docs/Build_Core_ru.md new file mode 100644 index 0000000..aabdcde --- /dev/null +++ b/docs/Build_Core_ru.md @@ -0,0 +1,25 @@ +## Компиляция nekoray_core и nekobox_core + +### Структура директорий + +``` + | nekoray + | go/cmd/* + | Xray-core + | sing-box-extra + | sing-box + | ...... +``` + +### Компиляция + +1. `bash libs/get_source.sh` (автоматически скачивать структуру директорий, автоматически checkout коммит) +2. `GOOS=windows GOARCH=amd64 bash libs/build_go.sh` + +Можно посмотреть доступные GOOS и GOARCH в `libs/build_go.sh`. + +Для неофициальной сборки не нужна компиляция `updater` `launcher` + +### теги sing-box + +Актуальные теги смотрите в файле `libs/build_go.sh`. \ No newline at end of file diff --git a/docs/Build_Linux_ru.md b/docs/Build_Linux_ru.md new file mode 100644 index 0000000..5e64a68 --- /dev/null +++ b/docs/Build_Linux_ru.md @@ -0,0 +1,78 @@ +Компиляция Nekoray для Linux + +## Клонируем репозиторий + +``` +git clone https://github.com/MatsuriDayo/nekoray.git --recursive +``` + +## Простой метод компиляции + +Зависимости: + +1. Должны быть установлены зависимости C++ `protobuf yaml-cpp zxing-cpp` поддерживаемой версии +2. Должны быть установлены `qtbase` `qtsvg` `qttools` `qtx11extras` +3. Должен быть установлен Qt версии `5.12.x` или `5.15.x` +4. ОС системы `x86-64-linux-gnu` + +```shell +mkdir build +cd build +cmake -GNinja .. +ninja +``` + +После компиляции будет собран исполняемый файл `nekoray` + +Распакуйте Release,замените `nekoray` на тот что скомпилировали, а `launcher` можно удалить + +## Сложный метод компиляции + +### Параметры CMake + +| Параметры CMake | Значение по умолчанию| Текущее значение | +|-------------------|----------------------|-----------------------| +| QT_VERSION_MAJOR | 5 | QT版本 | +| NKR_NO_EXTERNAL | | 不包含外部 C/C++ 依赖 (以下所有) | +| NKR_NO_YAML | | 不包含 yaml-cpp | +| NKR_NO_QHOTKEY | | 不包含 qhotkey | +| NKR_NO_ZXING | | 不包含 zxing | +| NKR_NO_GRPC | | 不包含 gRPC | +| NKR_NO_QUICKJS | | 不包含 quickjs | +| NKR_PACKAGE | | 编译 package 版本 (aur)| +| NKR_PACKAGE_MACOS | | 编译 macos 版本 | +| NKR_LIBS | ./libs/deps/built | 依赖搜索目录 | +| NKR_DISABLE_LIBS | | 禁用 NKR_LIBS | + +1. `NKR_LIBS` будет добавлен к `CMAKE_PREFIX_PATH` +2. Если включена опция `NKR_PACKAGE`, то по умолчанию значение `NKR_LIBS` равно `. /libs/deps/package`,зависимости доступны в `build_deps_all.sh` +3. Если включена опция`NKR_PACKAGE_MACOS` или `NKR_PACKAGE`,приложение будет использовать каталог appdata для хранения конфигурации, а автоматическое обновление будет отключено + +### Зависимости C++ + +Если в дистрибутиве нет нужных зависимостей C++ или версия не поддерживается, можете запустить скрипт `build_deps_all.sh` для самостоятельной сборки зависимостей. + +Требования: установлен Qt `5.12.x` или `5.15.x`. + +#### Сборка и установка зависимостей C/C++ + +(этот шаг нужен для установки зависимостей) + +```shell +./libs/build_deps_all.sh +``` + +#### Компиляция основного кода + +```shell +mkdir build +cd build +cmake -GNinja .. +ninja +``` + +Результатом компиляции будет исполняемый файл `nekoray` + +### Компиляция Go кода + +Читайте [Build_Core_ru.md](./Build_Core_ru.md) diff --git a/docs/Build_MacOS_ru.md b/docs/Build_MacOS_ru.md new file mode 100644 index 0000000..f972786 --- /dev/null +++ b/docs/Build_MacOS_ru.md @@ -0,0 +1,65 @@ +Компиляция не означает, что все функции будут доступны, например Tun System Agent скорее всего работать не будет. Если вы знаете, как это исправить, мы будем рады вашему Pull Request. + +## Клонируем репозиторий + +``` +git clone https://github.com/MatsuriDayo/nekoray.git --recursive +``` + +## Зависимости + +1. Должен быть установлен `CMake` `Ninja` `npm` +2. Должен быть установлен Qt `5.15.x` и задайте соответствующие переменные окружения, чтобы CMake не находил Qt. (`qtbase` `qtsvg` `qttools`) +3. Должен быть установлен `appdmg` (`sudo npm install -g appdmg`) + +## Параметры CMake + +Те же самые как для [Build_Linux_ru.md](./Build_Linux_ru.md) + +## C++ окружение + +#### Сборка и установка зависимостей C/C++ + +(этот шаг нужен для установки зависимостей) + +```shell +./libs/build_deps_all.sh +``` + +### Компиляция основного кода + +```shell +mkdir build +cd build +cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DNKR_PACKAGE_MACOS=1 .. +ninja +``` + +### Компиляция GO кода + +Смотрите [Build_Core_ru.md](./Build_Core_ru.md) + +## Сборка + +Если есть сомнения, смотрите [этот скрипт](https://github.com/MatsuriDayo/nekoray/blob/main/libs/deploy_macos.sh) + +### Подготовьте ядро + +Поместите скомпилированное `nekoray_core` `nekobox_core` в `build/nekoray.app/Contents/MacOS` + +### Подготовка geo файлов (необязательно) + +```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" +``` + +Если файл geo не включен в пакет, установите `v2ray resource path` внутри приложения + +### Упаковка в каталог nekoray + +```shell +appdmg appdmg.json /path/to/nekoray.dmg +``` diff --git a/docs/Build_Windows_ru.md b/docs/Build_Windows_ru.md new file mode 100644 index 0000000..bf74961 --- /dev/null +++ b/docs/Build_Windows_ru.md @@ -0,0 +1,64 @@ +Компиляция Nekoray для Windows + +### Клонируем репозиторий + +``` +git clone https://github.com/MatsuriDayo/nekoray.git --recursive +``` + +### Установите Visual Studio + +На сайте Microsoft вы можете установить среду разработки Win32 C++ версий 2019 и 2022. + +После установки вы можете найти командную строку `x64 Native Tools Command Prompt` в меню Пуск. + +Команды, приведенные в этой статье, выполняются в cmd. С VS можно использовать такие инструменты, как `cmake` и `ninja`. + +### Установите Qt SDK + +Текущая версия Qt для Windows Release - Qt 6.5.x. + +После загрузки и извлечения SDK добавьте каталог bin в переменную окружения. + +#### Скачайте пакеты Qt для компиляции сборки (MSVC2019 x86_64) + +https://github.com/MatsuriDayo/nekoray_qt_runtime/releases/download/20220503/Qt6.5.0-Windows-x86_64-VS2022-17.5.5-20230507.7z + +#### Официальная подписанная версия Qt 5.15.2 (необязательно, на данный момент в этой версии есть ошибки утечки памяти). + +Скачайте пакеты `qtbase` `qtsvg` `qttools` здесь и распакуйте их в тот же каталог. + +https://download.qt.io/online/qtsdkrepository/windows_x86/desktop/qt5_5152/qt.qt5.5152.win64_msvc2019_64/ + +## C++ окружение + +#### Сборка и установка зависимостей C/C++ + +(этот шаг нужен для установки зависимостей) + +```shell +./libs/build_deps_all.sh +``` + +На данный момент существуют только скрипты для bash, без batch и powershell, поэтому если на Windows не установлен bash, мы рекомендуем установить его самостоятельно. + +Параметры CMake и другие детали во многом совпадают с Linux, если у вас возникнут вопросы, обратитесь к документации [Build_Linux_ru.md](./Build_Linux_ru.md). + +#### Компиляция основного кода + +Замените команды в соответствии с расположением вашего QT Sdk. + +```shell +mkdir build +cd build +cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=D:/path/to/qt/5.15.2/msvc2019_64 .. +ninja +``` + +После компиляции вы получите `nekoray.exe`. + +Наконец, запустите `windeployqt nekoray.exe` для автоматического копирования необходимых DLL и других файлов в текущий каталог. + +### Компиляция GO кода + +Смотрите [Build_Core_ru.md](./Build_Core_ru.md)