This commit is contained in:
NastyaGrifon 2024-06-01 14:27:15 +00:00 committed by GitHub
commit 210de08fe7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 233 additions and 3 deletions

View File

@ -98,9 +98,7 @@ USDT TRC20
XMR
`49bwESYQjoRL3xmvTcjZKHEKaiGywjLYVQJMUv79bXonGiyDCs8AzE3KiGW2ytTybBCpWJUvov8SjZZEGg66a4e59GXa6k5`
- Донат через [Google Play](https://play.google.com/store/apps/details?id=moe.nb4a), используя банковскую карту.
-
## Авторы
Ядра:

25
docs/Build_Core_ru.md Normal file
View File

@ -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`.

78
docs/Build_Linux_ru.md Normal file
View File

@ -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)

65
docs/Build_MacOS_ru.md Normal file
View File

@ -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
```

64
docs/Build_Windows_ru.md Normal file
View File

@ -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)