mirror of
https://github.com/Mahdi-zarei/nekoray.git
synced 2025-12-18 20:50:09 +08:00
refactor structure
This commit is contained in:
parent
cf85ae18b4
commit
447b9bdf42
3
.gitignore
vendored
3
.gitignore
vendored
@ -84,4 +84,5 @@ CMakeLists.txt.user*
|
||||
/qtsdk
|
||||
|
||||
.vs
|
||||
out
|
||||
out
|
||||
/libs
|
||||
@ -17,8 +17,8 @@
|
||||
#include <QProcess>
|
||||
|
||||
#include "3rdparty/qv2ray/wrapper.hpp"
|
||||
#include "fmt/Preset.hpp"
|
||||
#include "main/NekoGui.hpp"
|
||||
#include "include/configs/proxy/Preset.hpp"
|
||||
#include "include/global/NekoGui.hpp"
|
||||
|
||||
#define QV_MODULE_NAME "SystemProxy"
|
||||
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
#include "w_JsonEditor.hpp"
|
||||
|
||||
#include "main/NekoGui.hpp"
|
||||
#include "include/global/NekoGui.hpp"
|
||||
|
||||
JsonEditor::JsonEditor(const QJsonObject& rootObject, QWidget* parent) : QDialog(parent) {
|
||||
setupUi(this);
|
||||
|
||||
194
CMakeLists.txt
194
CMakeLists.txt
@ -1,4 +1,4 @@
|
||||
cmake_minimum_required(VERSION 3.9)
|
||||
cmake_minimum_required(VERSION 3.10)
|
||||
|
||||
project(nekoray VERSION 0.1 LANGUAGES CXX)
|
||||
|
||||
@ -6,6 +6,7 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_POLICY_DEFAULT_CMP0069 NEW)
|
||||
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
|
||||
|
||||
find_package(Qt6 REQUIRED COMPONENTS Widgets Network Svg LinguistTools QuickControls2)
|
||||
@ -74,10 +75,10 @@ list(APPEND NKR_EXTERNAL_TARGETS qhotkey)
|
||||
set(PROJECT_SOURCES
|
||||
${PLATFORM_SOURCES}
|
||||
|
||||
main/main.cpp
|
||||
main/NekoGui.cpp
|
||||
main/NekoGui_Utils.cpp
|
||||
main/HTTPRequestHelper.cpp
|
||||
src/main.cpp
|
||||
src/global/NekoGui.cpp
|
||||
src/global/NekoGui_Utils.cpp
|
||||
src/global/HTTPRequestHelper.cpp
|
||||
|
||||
3rdparty/base64.cpp
|
||||
3rdparty/qrcodegen.cpp
|
||||
@ -91,113 +92,126 @@ set(PROJECT_SOURCES
|
||||
3rdparty/qv2ray/v2/ui/widgets/editors/w_JsonEditor.ui
|
||||
3rdparty/qv2ray/v2/proxy/QvProxyConfigurator.cpp
|
||||
|
||||
rpc/gRPC.cpp
|
||||
src/api/gRPC.cpp
|
||||
|
||||
db/Database.cpp
|
||||
db/traffic/TrafficLooper.cpp
|
||||
db/ProfileFilter.cpp
|
||||
db/ConfigBuilder.cpp
|
||||
src/dataStore/Database.cpp
|
||||
src/stats/traffic/TrafficLooper.cpp
|
||||
src/dataStore/ProfileFilter.cpp
|
||||
src/configs/ConfigBuilder.cpp
|
||||
|
||||
fmt/AbstractBean.cpp
|
||||
fmt/Bean2CoreObj_box.cpp
|
||||
fmt/Bean2External.cpp
|
||||
fmt/Bean2Link.cpp
|
||||
fmt/Link2Bean.cpp
|
||||
fmt/ChainBean.hpp # translate
|
||||
src/configs/proxy/AbstractBean.cpp
|
||||
src/configs/proxy/Bean2CoreObj_box.cpp
|
||||
src/configs/proxy/Bean2External.cpp
|
||||
src/configs/proxy/Bean2Link.cpp
|
||||
src/configs/proxy/Link2Bean.cpp
|
||||
include/configs/proxy/ChainBean.hpp # translate
|
||||
|
||||
sub/GroupUpdater.cpp
|
||||
include/configs/sub/GroupUpdater.hpp
|
||||
src/configs/sub/GroupUpdater.cpp
|
||||
|
||||
sys/ExternalProcess.cpp
|
||||
sys/AutoRun.cpp
|
||||
src/sys/ExternalProcess.cpp
|
||||
src/sys/AutoRun.cpp
|
||||
|
||||
ui/ThemeManager.cpp
|
||||
ui/Icon.cpp
|
||||
include/ui/setting/ThemeManager.hpp
|
||||
src/ui/setting/ThemeManager.cpp
|
||||
src/ui/setting/Icon.cpp
|
||||
|
||||
ui/mainwindow_grpc.cpp
|
||||
ui/mainwindow.cpp
|
||||
ui/mainwindow.h
|
||||
ui/mainwindow.ui
|
||||
src/ui/mainwindow_grpc.cpp
|
||||
src/ui/mainwindow.cpp
|
||||
include/ui/mainwindow.h
|
||||
include/ui/mainwindow.ui
|
||||
|
||||
ui/edit/dialog_edit_profile.h
|
||||
ui/edit/dialog_edit_profile.cpp
|
||||
ui/edit/dialog_edit_profile.ui
|
||||
ui/edit/dialog_edit_group.h
|
||||
ui/edit/dialog_edit_group.cpp
|
||||
ui/edit/dialog_edit_group.ui
|
||||
include/ui/profile/dialog_edit_profile.h
|
||||
src/ui/profile/dialog_edit_profile.cpp
|
||||
include/ui/profile/dialog_edit_profile.ui
|
||||
include/ui/group/dialog_edit_group.h
|
||||
src/ui/group/dialog_edit_group.cpp
|
||||
include/ui/group/dialog_edit_group.ui
|
||||
|
||||
ui/edit/edit_chain.h
|
||||
ui/edit/edit_chain.cpp
|
||||
ui/edit/edit_chain.ui
|
||||
ui/edit/edit_socks_http.h
|
||||
ui/edit/edit_socks_http.cpp
|
||||
ui/edit/edit_socks_http.ui
|
||||
ui/edit/edit_shadowsocks.h
|
||||
ui/edit/edit_shadowsocks.cpp
|
||||
ui/edit/edit_shadowsocks.ui
|
||||
ui/edit/edit_vmess.h
|
||||
ui/edit/edit_vmess.cpp
|
||||
ui/edit/edit_vmess.ui
|
||||
ui/edit/edit_trojan_vless.h
|
||||
ui/edit/edit_trojan_vless.cpp
|
||||
ui/edit/edit_trojan_vless.ui
|
||||
include/ui/profile/edit_chain.h
|
||||
src/ui/profile/edit_chain.cpp
|
||||
include/ui/profile/edit_chain.ui
|
||||
include/ui/profile/edit_socks_http.h
|
||||
src/ui/profile/edit_socks_http.cpp
|
||||
include/ui/profile/edit_socks_http.ui
|
||||
include/ui/profile/edit_shadowsocks.h
|
||||
src/ui/profile/edit_shadowsocks.cpp
|
||||
include/ui/profile/edit_shadowsocks.ui
|
||||
include/ui/profile/edit_vmess.h
|
||||
src/ui/profile/edit_vmess.cpp
|
||||
include/ui/profile/edit_vmess.ui
|
||||
include/ui/profile/edit_trojan_vless.h
|
||||
src/ui/profile/edit_trojan_vless.cpp
|
||||
include/ui/profile/edit_trojan_vless.ui
|
||||
|
||||
ui/edit/edit_naive.h
|
||||
ui/edit/edit_naive.cpp
|
||||
ui/edit/edit_naive.ui
|
||||
include/ui/profile/edit_naive.h
|
||||
src/ui/profile/edit_naive.cpp
|
||||
include/ui/profile/edit_naive.ui
|
||||
|
||||
ui/edit/edit_quic.h
|
||||
ui/edit/edit_quic.cpp
|
||||
ui/edit/edit_quic.ui
|
||||
include/ui/profile/edit_quic.h
|
||||
src/ui/profile/edit_quic.cpp
|
||||
include/ui/profile/edit_quic.ui
|
||||
|
||||
ui/edit/edit_custom.h
|
||||
ui/edit/edit_custom.cpp
|
||||
ui/edit/edit_custom.ui
|
||||
include/ui/profile/edit_custom.h
|
||||
src/ui/profile/edit_custom.cpp
|
||||
include/ui/profile/edit_custom.ui
|
||||
|
||||
ui/edit/edit_wireguard.h
|
||||
ui/edit/edit_wireguard.cpp
|
||||
ui/edit/edit_wireguard.ui
|
||||
include/ui/profile/edit_wireguard.h
|
||||
src/ui/profile/edit_wireguard.cpp
|
||||
include/ui/profile/edit_wireguard.ui
|
||||
|
||||
ui/dialog_basic_settings.cpp
|
||||
ui/dialog_basic_settings.h
|
||||
ui/dialog_basic_settings.ui
|
||||
src/ui/setting/dialog_basic_settings.cpp
|
||||
include/ui/setting/dialog_basic_settings.h
|
||||
include/ui/setting/dialog_basic_settings.ui
|
||||
|
||||
ui/dialog_manage_groups.cpp
|
||||
ui/dialog_manage_groups.h
|
||||
ui/dialog_manage_groups.ui
|
||||
src/ui/group/dialog_manage_groups.cpp
|
||||
include/ui/group/dialog_manage_groups.h
|
||||
include/ui/group/dialog_manage_groups.ui
|
||||
|
||||
ui/dialog_manage_routes.cpp
|
||||
ui/dialog_manage_routes.h
|
||||
ui/dialog_manage_routes.ui
|
||||
src/ui/setting/dialog_manage_routes.cpp
|
||||
include/ui/setting/dialog_manage_routes.h
|
||||
include/ui/setting/dialog_manage_routes.ui
|
||||
|
||||
ui/dialog_vpn_settings.cpp
|
||||
ui/dialog_vpn_settings.h
|
||||
ui/dialog_vpn_settings.ui
|
||||
src/ui/setting/dialog_vpn_settings.cpp
|
||||
include/ui/setting/dialog_vpn_settings.h
|
||||
include/ui/setting/dialog_vpn_settings.ui
|
||||
|
||||
ui/dialog_hotkey.cpp
|
||||
ui/dialog_hotkey.h
|
||||
ui/dialog_hotkey.ui
|
||||
src/ui/setting/dialog_hotkey.cpp
|
||||
include/ui/setting/dialog_hotkey.h
|
||||
include/ui/setting/dialog_hotkey.ui
|
||||
|
||||
ui/widget/ProxyItem.cpp
|
||||
ui/widget/ProxyItem.h
|
||||
ui/widget/ProxyItem.ui
|
||||
ui/widget/GroupItem.cpp
|
||||
ui/widget/GroupItem.h
|
||||
ui/widget/GroupItem.ui
|
||||
ui/widget/RouteItem.cpp
|
||||
ui/widget/RouteItem.h
|
||||
ui/widget/RouteItem.ui
|
||||
src/ui/profile/ProxyItem.cpp
|
||||
include/ui/profile/ProxyItem.h
|
||||
include/ui/profile/ProxyItem.ui
|
||||
src/ui/group/GroupItem.cpp
|
||||
include/ui/group/GroupItem.h
|
||||
include/ui/group/GroupItem.ui
|
||||
src/ui/setting/RouteItem.cpp
|
||||
include/ui/setting/RouteItem.h
|
||||
include/ui/setting/RouteItem.ui
|
||||
|
||||
res/neko.qrc
|
||||
${QV2RAY_RC}
|
||||
db/RouteEntity.h
|
||||
db/RouteEntity.cpp
|
||||
include/dataStore/RouteEntity.h
|
||||
src/dataStore/RouteEntity.cpp
|
||||
res/darkstyle.qrc
|
||||
ui/edit/edit_ssh.cpp
|
||||
ui/edit/edit_ssh.h
|
||||
ui/edit/edit_ssh.ui
|
||||
fmt/SSHBean.h
|
||||
sys/macos/MacOS.cpp
|
||||
sys/macos/MacOS.h
|
||||
src/ui/profile/edit_ssh.cpp
|
||||
include/ui/profile/edit_ssh.h
|
||||
include/ui/profile/edit_ssh.ui
|
||||
include/configs/proxy/SSHBean.h
|
||||
src/sys/macos/MacOS.cpp
|
||||
include/sys/macos/MacOS.h
|
||||
|
||||
src/sys/windows/guihelper.cpp
|
||||
src/sys/windows/MiniDump.cpp
|
||||
|
||||
src/sys/linux/LinuxCap.cpp
|
||||
|
||||
src/sys/macos/MacOS.cpp
|
||||
|
||||
src/sys/AutoRun.cpp
|
||||
src/sys/ExternalProcess.cpp
|
||||
include/ui/mainwindow_interface.h
|
||||
)
|
||||
|
||||
# Qt exe
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
set(PLATFORM_SOURCES sys/linux/LinuxCap.cpp)
|
||||
set(PLATFORM_SOURCES include/sys/linux/LinuxCap.cpp)
|
||||
set(PLATFORM_LIBRARIES dl)
|
||||
|
||||
@ -1,3 +1,3 @@
|
||||
find_library(SECURITY_FRAMEWORK Security)
|
||||
set(PLATFORM_SOURCES sys/macos/MacOS.cpp)
|
||||
set(PLATFORM_SOURCES include/sys/macos/MacOS.cpp)
|
||||
set(PLATFORM_LIBRARIES ${SECURITY_FRAMEWORK})
|
||||
@ -1,7 +1,7 @@
|
||||
find_package(Protobuf CONFIG REQUIRED)
|
||||
|
||||
set(PROTO_FILES
|
||||
go/grpc_server/gen/libcore.proto
|
||||
core/grpc_server/gen/libcore.proto
|
||||
)
|
||||
|
||||
add_library(myproto STATIC ${PROTO_FILES})
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
set(PLATFORM_SOURCES 3rdparty/WinCommander.cpp sys/windows/guihelper.cpp sys/windows/MiniDump.cpp)
|
||||
set(PLATFORM_SOURCES 3rdparty/WinCommander.cpp src/sys/windows/guihelper.cpp src/sys/windows/MiniDump.cpp)
|
||||
set(PLATFORM_LIBRARIES wininet wsock32 ws2_32 user32 rasapi32 iphlpapi)
|
||||
|
||||
include(cmake/windows/generate_product_version.cmake)
|
||||
|
||||
0
go/.gitignore → core/.gitignore
vendored
0
go/.gitignore → core/.gitignore
vendored
@ -322,7 +322,7 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C
|
||||
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAinclude/dataStore/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAinclude/dataStore/ePZxsR/4RtNHQocxwk9r4=
|
||||
lukechampine.com/blake3 v1.3.0 h1:sJ3XhFINmHSrYCgl958hscfIa3bw8x4DqMP3u1YvoYE=
|
||||
lukechampine.com/blake3 v1.3.0/go.mod h1:0OFRp7fBtAylGVCO40o87sbupkyIGgbpv1+M1k1LM6k=
|
||||
@ -3026,9 +3026,9 @@ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gotest.tools/v3 v3.5.1/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAinclude/dataStore/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAinclude/dataStore/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAinclude/dataStore/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las=
|
||||
lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
|
||||
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
|
||||
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "ProxyEntity.hpp"
|
||||
#include "sys/ExternalProcess.hpp"
|
||||
#include "include/dataStore/ProxyEntity.hpp"
|
||||
#include "include/sys/ExternalProcess.hpp"
|
||||
|
||||
namespace NekoGui {
|
||||
class BuildConfigResult {
|
||||
@ -3,7 +3,7 @@
|
||||
#include <QJsonObject>
|
||||
#include <QJsonArray>
|
||||
|
||||
#include "main/NekoGui.hpp"
|
||||
#include "include/global/NekoGui.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
struct CoreObjOutboundBuildResult {
|
||||
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "main/NekoGui.hpp"
|
||||
#include "include/global/NekoGui.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
class ChainBean : public AbstractBean {
|
||||
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "fmt/AbstractBean.hpp"
|
||||
#include "AbstractBean.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
class CustomBean : public AbstractBean {
|
||||
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "fmt/AbstractBean.hpp"
|
||||
#include "AbstractBean.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
class NaiveBean : public AbstractBean {
|
||||
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "fmt/AbstractBean.hpp"
|
||||
#include "AbstractBean.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
class QUICBean : public AbstractBean {
|
||||
@ -1,6 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "fmt/AbstractBean.hpp"
|
||||
#include "AbstractBean.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
class SSHBean : public AbstractBean {
|
||||
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "fmt/AbstractBean.hpp"
|
||||
#include "fmt/V2RayStreamSettings.hpp"
|
||||
#include "AbstractBean.hpp"
|
||||
#include "V2RayStreamSettings.hpp"
|
||||
#include "Preset.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "fmt/AbstractBean.hpp"
|
||||
#include "fmt/V2RayStreamSettings.hpp"
|
||||
#include "AbstractBean.hpp"
|
||||
#include "V2RayStreamSettings.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
class SocksHttpBean : public AbstractBean {
|
||||
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
|
||||
#include "fmt/AbstractBean.hpp"
|
||||
#include "fmt/V2RayStreamSettings.hpp"
|
||||
#include "AbstractBean.hpp"
|
||||
#include "V2RayStreamSettings.hpp"
|
||||
#include "Preset.hpp"
|
||||
|
||||
namespace NekoGui_fmt {
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user