mirror of
https://github.com/MatsuriDayo/nekoray.git
synced 2025-12-17 12:34:37 +03:00
change exe name
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
cmake_minimum_required(VERSION 3.5)
|
cmake_minimum_required(VERSION 3.5)
|
||||||
|
|
||||||
project(nekoray VERSION 0.1 LANGUAGES CXX)
|
project(nekobox VERSION 0.1 LANGUAGES CXX)
|
||||||
|
|
||||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
|
||||||
@@ -238,23 +238,23 @@ set(PROJECT_SOURCES
|
|||||||
|
|
||||||
# Qt exe
|
# Qt exe
|
||||||
if (${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
if (${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
||||||
qt_add_executable(nekoray
|
qt_add_executable(nekobox
|
||||||
MANUAL_FINALIZATION
|
MANUAL_FINALIZATION
|
||||||
${PROJECT_SOURCES}
|
${PROJECT_SOURCES}
|
||||||
)
|
)
|
||||||
# Define target properties for Android with Qt 6 as:
|
# Define target properties for Android with Qt 6 as:
|
||||||
# set_property(TARGET nekoray APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
|
# set_property(TARGET nekobox APPEND PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
|
||||||
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
|
# ${CMAKE_CURRENT_SOURCE_DIR}/android)
|
||||||
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
|
# For more information, see https://doc.qt.io/qt-6/qt-add-executable.html#target-creation
|
||||||
else ()
|
else ()
|
||||||
if (ANDROID)
|
if (ANDROID)
|
||||||
add_library(nekoray SHARED
|
add_library(nekobox SHARED
|
||||||
${PROJECT_SOURCES}
|
${PROJECT_SOURCES}
|
||||||
)
|
)
|
||||||
# Define properties for Android with Qt 5 after find_package() calls as:
|
# Define properties for Android with Qt 5 after find_package() calls as:
|
||||||
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
|
# set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android")
|
||||||
else ()
|
else ()
|
||||||
add_executable(nekoray
|
add_executable(nekobox
|
||||||
${PROJECT_SOURCES}
|
${PROJECT_SOURCES}
|
||||||
)
|
)
|
||||||
endif ()
|
endif ()
|
||||||
@@ -262,11 +262,11 @@ endif ()
|
|||||||
|
|
||||||
# Target
|
# Target
|
||||||
|
|
||||||
set_property(TARGET nekoray PROPERTY AUTOUIC ON)
|
set_property(TARGET nekobox PROPERTY AUTOUIC ON)
|
||||||
set_property(TARGET nekoray PROPERTY AUTOMOC ON)
|
set_property(TARGET nekobox PROPERTY AUTOMOC ON)
|
||||||
set_property(TARGET nekoray PROPERTY AUTORCC ON)
|
set_property(TARGET nekobox PROPERTY AUTORCC ON)
|
||||||
|
|
||||||
set_target_properties(nekoray PROPERTIES
|
set_target_properties(nekobox PROPERTIES
|
||||||
WIN32_EXECUTABLE TRUE
|
WIN32_EXECUTABLE TRUE
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -281,17 +281,17 @@ set(LUPDATE_OPTIONS
|
|||||||
-locations none -no-obsolete
|
-locations none -no-obsolete
|
||||||
)
|
)
|
||||||
if (${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
if (${QT_VERSION_MAJOR} GREATER_EQUAL 6)
|
||||||
qt_add_lupdate(nekoray TS_FILES ${TS_FILES} OPTIONS ${LUPDATE_OPTIONS})
|
qt_add_lupdate(nekobox TS_FILES ${TS_FILES} OPTIONS ${LUPDATE_OPTIONS})
|
||||||
qt_add_lrelease(nekoray TS_FILES ${TS_FILES} QM_FILES_OUTPUT_VARIABLE QM_FILES)
|
qt_add_lrelease(nekobox TS_FILES ${TS_FILES} QM_FILES_OUTPUT_VARIABLE QM_FILES)
|
||||||
else ()
|
else ()
|
||||||
qt5_create_translation(QM_FILES ${PROJECT_SOURCES} ${TS_FILES} OPTIONS ${LUPDATE_OPTIONS})
|
qt5_create_translation(QM_FILES ${PROJECT_SOURCES} ${TS_FILES} OPTIONS ${LUPDATE_OPTIONS})
|
||||||
endif ()
|
endif ()
|
||||||
configure_file(translations/translations.qrc ${CMAKE_BINARY_DIR} COPYONLY)
|
configure_file(translations/translations.qrc ${CMAKE_BINARY_DIR} COPYONLY)
|
||||||
target_sources(nekoray PRIVATE ${CMAKE_BINARY_DIR}/translations.qrc)
|
target_sources(nekobox PRIVATE ${CMAKE_BINARY_DIR}/translations.qrc)
|
||||||
|
|
||||||
# Target Link
|
# Target Link
|
||||||
|
|
||||||
target_link_libraries(nekoray PRIVATE
|
target_link_libraries(nekobox PRIVATE
|
||||||
Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::Svg
|
Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::Svg
|
||||||
Threads::Threads
|
Threads::Threads
|
||||||
${NKR_EXTERNAL_TARGETS}
|
${NKR_EXTERNAL_TARGETS}
|
||||||
@@ -299,5 +299,5 @@ target_link_libraries(nekoray PRIVATE
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (QT_VERSION_MAJOR EQUAL 6)
|
if (QT_VERSION_MAJOR EQUAL 6)
|
||||||
qt_finalize_executable(nekoray)
|
qt_finalize_executable(nekobox)
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
18
appdmg.json
18
appdmg.json
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
"title": "nekoray",
|
|
||||||
"icon": "res/nekoray.icns",
|
|
||||||
"contents": [
|
|
||||||
{
|
|
||||||
"x": 448,
|
|
||||||
"y": 344,
|
|
||||||
"type": "link",
|
|
||||||
"path": "/Applications"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"x": 192,
|
|
||||||
"y": 344,
|
|
||||||
"type": "file",
|
|
||||||
"path": "build/nekoray.app"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
@@ -4,12 +4,12 @@ set(PLATFORM_LIBRARIES wininet wsock32 ws2_32 user32 rasapi32 iphlpapi)
|
|||||||
include(cmake/windows/generate_product_version.cmake)
|
include(cmake/windows/generate_product_version.cmake)
|
||||||
generate_product_version(
|
generate_product_version(
|
||||||
QV2RAY_RC
|
QV2RAY_RC
|
||||||
ICON "${CMAKE_SOURCE_DIR}/res/nekoray.ico"
|
ICON "${CMAKE_SOURCE_DIR}/res/nekobox.ico"
|
||||||
NAME "nekoray"
|
NAME "nekobox"
|
||||||
BUNDLE "nekoray"
|
BUNDLE "nekobox"
|
||||||
COMPANY_NAME "nekoray"
|
COMPANY_NAME "nekobox"
|
||||||
COMPANY_COPYRIGHT "nekoray"
|
COMPANY_COPYRIGHT "nekobox"
|
||||||
FILE_DESCRIPTION "nekoray"
|
FILE_DESCRIPTION "nekobox"
|
||||||
)
|
)
|
||||||
add_definitions(-DUNICODE -D_UNICODE -DNOMINMAX)
|
add_definitions(-DUNICODE -D_UNICODE -DNOMINMAX)
|
||||||
set(GUI_TYPE WIN32)
|
set(GUI_TYPE WIN32)
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ namespace NekoGui {
|
|||||||
}
|
}
|
||||||
|
|
||||||
QString genTunName() {
|
QString genTunName() {
|
||||||
auto tun_name = "nekoray-tun";
|
auto tun_name = "nekobox-tun";
|
||||||
#ifdef Q_OS_MACOS
|
#ifdef Q_OS_MACOS
|
||||||
tun_name = "utun9";
|
tun_name = "utun9";
|
||||||
#endif
|
#endif
|
||||||
@@ -725,8 +725,8 @@ namespace NekoGui {
|
|||||||
|
|
||||||
QString WriteVPNSingBoxConfig() {
|
QString WriteVPNSingBoxConfig() {
|
||||||
// tun user rule
|
// tun user rule
|
||||||
auto match_out = dataStore->vpn_rule_white ? "nekoray-socks" : "direct";
|
auto match_out = dataStore->vpn_rule_white ? "nekobox-socks" : "direct";
|
||||||
auto no_match_out = dataStore->vpn_rule_white ? "direct" : "nekoray-socks";
|
auto no_match_out = dataStore->vpn_rule_white ? "direct" : "nekobox-socks";
|
||||||
|
|
||||||
QString process_name_rule = dataStore->vpn_rule_process.trimmed();
|
QString process_name_rule = dataStore->vpn_rule_process.trimmed();
|
||||||
if (!process_name_rule.isEmpty()) {
|
if (!process_name_rule.isEmpty()) {
|
||||||
|
|||||||
@@ -22,9 +22,9 @@ cmake -GNinja ..
|
|||||||
ninja
|
ninja
|
||||||
```
|
```
|
||||||
|
|
||||||
编译完成后得到 `nekoray`
|
编译完成后得到 `nekobox`
|
||||||
|
|
||||||
解压 Release 的压缩包,替换其中的 `nekoray`,删除 `launcher` 即可使用。
|
解压 Release 的压缩包,替换其中的 `nekobox`,删除 `launcher` 即可使用。
|
||||||
|
|
||||||
## 复杂编译法
|
## 复杂编译法
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ cmake -GNinja ..
|
|||||||
ninja
|
ninja
|
||||||
```
|
```
|
||||||
|
|
||||||
编译完成后得到 `nekoray`
|
编译完成后得到 `nekobox`
|
||||||
|
|
||||||
### Go 部分编译
|
### Go 部分编译
|
||||||
|
|
||||||
|
|||||||
@@ -55,9 +55,9 @@ cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=D:/path/to/qt/5.15.
|
|||||||
ninja
|
ninja
|
||||||
```
|
```
|
||||||
|
|
||||||
编译完成后得到 `nekoray.exe`
|
编译完成后得到 `nekobox.exe`
|
||||||
|
|
||||||
最后运行 `windeployqt nekoray.exe` 自动复制所需 DLL 等文件到当前目录
|
最后运行 `windeployqt nekobox.exe` 自动复制所需 DLL 等文件到当前目录
|
||||||
|
|
||||||
### Go 部分编译
|
### Go 部分编译
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ func Launcher() {
|
|||||||
_debug := flag.Bool("debug", false, "Debug mode")
|
_debug := flag.Bool("debug", false, "Debug mode")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
cmd := exec.Command("./nekoray", flag.Args()...)
|
cmd := exec.Command("./nekobox", flag.Args()...)
|
||||||
|
|
||||||
ld_env := "LD_LIBRARY_PATH=" + filepath.Join(wd, "./usr/lib")
|
ld_env := "LD_LIBRARY_PATH=" + filepath.Join(wd, "./usr/lib")
|
||||||
qt_plugin_env := "QT_PLUGIN_PATH=" + filepath.Join(wd, "./usr/plugins")
|
qt_plugin_env := "QT_PLUGIN_PATH=" + filepath.Join(wd, "./usr/plugins")
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ func main() {
|
|||||||
time.Sleep(time.Second)
|
time.Sleep(time.Second)
|
||||||
Updater()
|
Updater()
|
||||||
// 3. start
|
// 3. start
|
||||||
exec.Command("./nekoray.exe").Start()
|
exec.Command("./nekobox.exe").Start()
|
||||||
} else {
|
} else {
|
||||||
// 1. nekoray stop it self and run "updater.exe"
|
// 1. main prog quit and run "updater.exe"
|
||||||
Copy("./updater.exe", "./updater.old")
|
Copy("./updater.exe", "./updater.old")
|
||||||
exec.Command("./updater.old", os.Args[1:]...).Start()
|
exec.Command("./updater.old", os.Args[1:]...).Start()
|
||||||
}
|
}
|
||||||
@@ -43,7 +43,7 @@ func main() {
|
|||||||
if os.Getenv("NKR_FROM_LAUNCHER") == "1" {
|
if os.Getenv("NKR_FROM_LAUNCHER") == "1" {
|
||||||
Launcher()
|
Launcher()
|
||||||
} else {
|
} else {
|
||||||
exec.Command("./nekoray").Start()
|
exec.Command("./nekobox").Start()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -71,6 +71,11 @@ func Updater() {
|
|||||||
os.RemoveAll("./nekoray_update")
|
os.RemoveAll("./nekoray_update")
|
||||||
os.RemoveAll("./nekoray.zip")
|
os.RemoveAll("./nekoray.zip")
|
||||||
os.RemoveAll("./nekoray.tar.gz")
|
os.RemoveAll("./nekoray.tar.gz")
|
||||||
|
|
||||||
|
// nekoray -> nekobox
|
||||||
|
os.Remove("./nekoray.exe")
|
||||||
|
os.Remove("./nekoray.png")
|
||||||
|
os.Remove("./nekoray_core.exe")
|
||||||
}
|
}
|
||||||
|
|
||||||
func Exist(path string) bool {
|
func Exist(path string) bool {
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ rm -rf $DEST
|
|||||||
mkdir -p $DEST
|
mkdir -p $DEST
|
||||||
|
|
||||||
#### copy binary ####
|
#### copy binary ####
|
||||||
cp $BUILD/nekoray $DEST
|
cp $BUILD/nekobox $DEST
|
||||||
|
|
||||||
#### Download: prebuilt runtime ####
|
#### Download: prebuilt runtime ####
|
||||||
curl -Lso usr.zip https://github.com/MatsuriDayo/nekoray_qt_runtime/releases/download/20220503/20230202-5.12.8-ubuntu20.04-linux64.zip
|
curl -Lso usr.zip https://github.com/MatsuriDayo/nekoray_qt_runtime/releases/download/20220503/20230202-5.12.8-ubuntu20.04-linux64.zip
|
||||||
|
|||||||
@@ -7,11 +7,11 @@ rm -rf $DEST
|
|||||||
mkdir -p $DEST
|
mkdir -p $DEST
|
||||||
|
|
||||||
#### copy exe ####
|
#### copy exe ####
|
||||||
cp $BUILD/nekoray.exe $DEST
|
cp $BUILD/nekobox.exe $DEST
|
||||||
|
|
||||||
#### deploy qt & DLL runtime ####
|
#### deploy qt & DLL runtime ####
|
||||||
pushd $DEST
|
pushd $DEST
|
||||||
windeployqt nekoray.exe --no-compiler-runtime --no-system-d3d-compiler --no-opengl-sw --verbose 2
|
windeployqt nekobox.exe --no-compiler-runtime --no-system-d3d-compiler --no-opengl-sw --verbose 2
|
||||||
rm -rf translations
|
rm -rf translations
|
||||||
rm -rf libEGL.dll libGLESv2.dll Qt6Pdf.dll
|
rm -rf libEGL.dll libGLESv2.dll Qt6Pdf.dll
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
SRC_ROOT="$PWD"
|
SRC_ROOT="$PWD"
|
||||||
DEPLOYMENT="$SRC_ROOT/deployment"
|
DEPLOYMENT="$SRC_ROOT/deployment"
|
||||||
BUILD="$SRC_ROOT/build"
|
BUILD="$SRC_ROOT/build"
|
||||||
version_standalone="nekoray-"$(cat nekoray_version.txt)
|
version_standalone="nekoray-"$(cat nekoray_version.txt) # 下次改
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ if [ ! -s /usr/share/applications/nekoray.desktop ]; then
|
|||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=nekoray
|
Name=nekoray
|
||||||
Comment=Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
|
Comment=Qt based cross-platform GUI proxy configuration manager (backend: sing-box)
|
||||||
Exec=sh -c "PATH=/opt/nekoray:\$PATH /opt/nekoray/nekoray -appdata"
|
Exec=sh -c "PATH=/opt/nekoray:\$PATH /opt/nekoray/nekobox -appdata"
|
||||||
Icon=/opt/nekoray/nekoray.png
|
Icon=/opt/nekoray/nekobox.png
|
||||||
Terminal=false
|
Terminal=false
|
||||||
Type=Application
|
Type=Application
|
||||||
Categories=Network;Application;
|
Categories=Network;Application;
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ namespace NekoGui {
|
|||||||
|
|
||||||
namespace CoreType {
|
namespace CoreType {
|
||||||
enum CoreType {
|
enum CoreType {
|
||||||
V2RAY,
|
V2RAY, // DO NOT USE
|
||||||
SING_BOX,
|
SING_BOX,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -140,7 +140,7 @@ int main(int argc, char* argv[]) {
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
// Some Bad System
|
// Some Bad System
|
||||||
QMessageBox::warning(nullptr, "NekoRay", "RunGuard disallow to run, use -many to force start.");
|
QMessageBox::warning(nullptr, "NekoGui", "RunGuard disallow to run, use -many to force start.");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
MF_release_runguard = [&] { guard.release(); };
|
MF_release_runguard = [&] { guard.release(); };
|
||||||
@@ -148,7 +148,7 @@ int main(int argc, char* argv[]) {
|
|||||||
// icons
|
// icons
|
||||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
|
#if (QT_VERSION >= QT_VERSION_CHECK(5, 11, 0))
|
||||||
QIcon::setFallbackSearchPaths(QStringList{
|
QIcon::setFallbackSearchPaths(QStringList{
|
||||||
":/nekoray",
|
":/neko",
|
||||||
":/icon",
|
":/icon",
|
||||||
});
|
});
|
||||||
#endif
|
#endif
|
||||||
@@ -177,9 +177,6 @@ int main(int argc, char* argv[]) {
|
|||||||
|
|
||||||
// Load dataStore
|
// Load dataStore
|
||||||
switch (NekoGui::coreType) {
|
switch (NekoGui::coreType) {
|
||||||
case NekoGui::CoreType::V2RAY:
|
|
||||||
NekoGui::dataStore->fn = "groups/nekoray.json";
|
|
||||||
break;
|
|
||||||
case NekoGui::CoreType::SING_BOX:
|
case NekoGui::CoreType::SING_BOX:
|
||||||
NekoGui::dataStore->fn = "groups/nekobox.json";
|
NekoGui::dataStore->fn = "groups/nekobox.json";
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<h3>
|
<h3>
|
||||||
<p>Please put your clash dashboard files to "nekoray/config/dashboard" dir.</p>
|
<p>Please put your clash dashboard files to "./config/dashboard" dir.</p>
|
||||||
<p>For example, you can download from the following URL.</p>
|
<p>For example, you can download from the following URL.</p>
|
||||||
<p>
|
<p>
|
||||||
<a href="https://github.com/MetaCubeX/Yacd-meta/archive/refs/heads/gh-pages.zip">Download Yacd-meta</a>
|
<a href="https://github.com/MetaCubeX/Yacd-meta/archive/refs/heads/gh-pages.zip">Download Yacd-meta</a>
|
||||||
|
|||||||
@@ -16,7 +16,6 @@
|
|||||||
</qresource>
|
</qresource>
|
||||||
<qresource prefix="/neko">
|
<qresource prefix="/neko">
|
||||||
<file alias="nekobox.png">public/nekobox.png</file>
|
<file alias="nekobox.png">public/nekobox.png</file>
|
||||||
<file alias="nekoray.png">public/nekoray.png</file>
|
|
||||||
<file>neko.css</file>
|
<file>neko.css</file>
|
||||||
<file>vpn/vpn-run-root.sh</file>
|
<file>vpn/vpn-run-root.sh</file>
|
||||||
<file>vpn/sing-box-vpn.json</file>
|
<file>vpn/sing-box-vpn.json</file>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 66 KiB |
BIN
res/nekoray.icns
BIN
res/nekoray.icns
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 60 KiB |
Reference in New Issue
Block a user