diff --git a/CMakeLists.txt b/CMakeLists.txt index 48ab939..a0e1c0a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -34,7 +34,11 @@ endif () include("cmake/fuck_windows/fuck.cmake") # default prefix path -list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/libs/deps/built) +if (NKR_PACKAGE) + list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/libs/deps/package) +else () + list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/libs/deps/built) +endif () message("[CMAKE_PREFIX_PATH] ${CMAKE_PREFIX_PATH}") # for some cross toolchain @@ -49,7 +53,7 @@ find_package(Threads) if (NKR_PACKAGE) add_compile_definitions(NKR_PACKAGE) -endif() +endif () if (NKR_NO_EXTERNAL) add_compile_definitions(NKR_NO_EXTERNAL) @@ -115,6 +119,7 @@ set(PROJECT_SOURCES db/Database.cpp db/TrafficLooper.cpp db/ProfileFilter.cpp + db/ConfigBuilder.cpp fmt/AbstractBean.cpp fmt/Bean2CoreObj_ray.cpp @@ -123,7 +128,6 @@ set(PROJECT_SOURCES fmt/Bean2Link.cpp fmt/InsecureHint.cpp fmt/Link2Bean.cpp - db/ConfigBuilder.cpp fmt/ChainBean.hpp # translate sub/GroupUpdater.cpp diff --git a/README.md b/README.md index 6ca2800..e068470 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,14 @@ # NekoRay -基于 Qt/C++ 的跨平台代理配置管理器( 使用 Matsuri 定制版 v2ray-core ) +基于 Qt/C++ 的跨平台 GUI 代理配置管理器 + +后端 1. v2ray 2. sing-box 目前支持 Windows / Linux amd64 开箱即用 -Qt/C++ based cross-platform proxy configuration manager ( Use Matsuri custom version of v2ray-core ) +Qt/C++ based cross-platform GUI proxy configuration manager + +backend: 1. v2ray 2.sing-box Support Windows / Linux amd64 out of the box now. @@ -44,7 +48,7 @@ https://matsuridayo.github.io launcher 参数 -* `./launcher -- -appdata` `--` 后的参数传递给主程序 +* `./launcher -- -appdata` ( `--` 后的参数传递给主程序 ) * `-debug` Debug mode * `-theme` Use local QT theme (unstable) (1.0+) diff --git a/libs/build_deps_all.sh b/libs/build_deps_all.sh index d2711b8..bc48b25 100755 --- a/libs/build_deps_all.sh +++ b/libs/build_deps_all.sh @@ -4,30 +4,49 @@ set -e cd libs # libs/deps/... -mkdir -p deps; cd deps -INSTLL_PREFIX=$PWD/built -mkdir -p $INSTLL_PREFIX +mkdir -p deps +cd deps +if [ -z $NKR_PACKAGE ]; then + INSTALL_PREFIX=$PWD/built +else + INSTALL_PREFIX=$PWD/package +fi +rm -rf $INSTALL_PREFIX +mkdir -p $INSTALL_PREFIX + +#### clean #### +clean() { + rm -rf dl.zip yaml-* zxing-* protobuf +} + +#### ZXing 1.3.0 #### +curl -L -o dl.zip https://github.com/nu-book/zxing-cpp/archive/refs/tags/v1.3.0.zip +unzip dl.zip + +cd zxing-* +mkdir -p build +cd build + +cmake .. -GNinja -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DBUILD_BLACKBOX_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX +ninja && ninja install + +cd ../.. + +#### exit if NKR_PACKAGE #### +if [ ! -z $NKR_PACKAGE ]; then + clean + exit +fi #### yaml-cpp #### curl -L -o dl.zip https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.7.0.zip unzip dl.zip cd yaml-* -mkdir -p build; cd build +mkdir -p build +cd build -cmake .. -GNinja -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTLL_PREFIX -ninja && ninja install - -cd ../.. - -#### ZXing #### -curl -L -o dl.zip https://github.com/nu-book/zxing-cpp/archive/refs/tags/v1.3.0.zip -unzip dl.zip - -cd zxing-* -mkdir -p build; cd build - -cmake .. -GNinja -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DBUILD_BLACKBOX_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$INSTLL_PREFIX +cmake .. -GNinja -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX ninja && ninja install cd ../.. @@ -41,14 +60,14 @@ mkdir -p protobuf/build cd protobuf/build cmake .. -GNinja \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=OFF \ - -Dprotobuf_MSVC_STATIC_RUNTIME=OFF \ - -Dprotobuf_BUILD_TESTS=OFF \ - -DCMAKE_INSTALL_PREFIX=$INSTLL_PREFIX + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=OFF \ + -Dprotobuf_MSVC_STATIC_RUNTIME=OFF \ + -Dprotobuf_BUILD_TESTS=OFF \ + -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX ninja && ninja install cd ../.. -#### clean #### -rm -rf dl.zip yaml-* zxing-* protobuf +#### +clean diff --git a/main/NekoRay.cpp b/main/NekoRay.cpp index 49e1f49..4b686fd 100644 --- a/main/NekoRay.cpp +++ b/main/NekoRay.cpp @@ -337,6 +337,8 @@ namespace NekoRay { search << "/usr/share/xray"; search << "/usr/local/share/xray"; search << "/opt/xray"; + search << "/usr/share/sing-geoip"; + search << "/usr/share/sing-geosite"; for (const auto &dir: search) { if (dir.isEmpty()) continue; QFileInfo asset(dir + "/" + name);