mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-25 02:50:09 +08:00
Merge c8e224ee97 into 4f45617666
This commit is contained in:
commit
210de08fe7
@ -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
25
docs/Build_Core_ru.md
Normal 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
78
docs/Build_Linux_ru.md
Normal 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
65
docs/Build_MacOS_ru.md
Normal 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
64
docs/Build_Windows_ru.md
Normal 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)
|
||||
Loading…
Reference in New Issue
Block a user