From e364af393a168b37a51e3aabf892d282c66cd0ef Mon Sep 17 00:00:00 2001 From: kr328 Date: Sat, 11 Sep 2021 18:27:02 +0800 Subject: [PATCH] Refactor: refactor golang flavor --- .gitignore | 6 ++---- .gitmodules | 5 ++++- core/build.gradle.kts | 6 ++++-- .../{foss/go => main/golang}/.idea/codeStyles/Project.xml | 0 .../go => main/golang}/.idea/codeStyles/codeStyleConfig.xml | 0 core/src/{foss/go => main/golang}/app.go | 0 core/src/{foss/go => main/golang}/app/app.go | 0 core/src/{foss/go => main/golang}/app/content.go | 0 core/src/{foss/go => main/golang}/app/dns.go | 0 core/src/{foss/go => main/golang}/app/tun.go | 0 core/src/{foss/go => main/golang}/app/ui.go | 0 core/src/{foss/go => main/golang}/bridge.c | 0 core/src/{foss/go => main/golang}/bridge.h | 0 core/src/{foss/go => main/golang}/common/path.go | 0 core/src/{foss/go => main/golang}/config.go | 0 core/src/{foss/go => main/golang}/config/defaults.go | 0 core/src/{foss/go => main/golang}/config/fetch.go | 0 core/src/{foss/go => main/golang}/config/load.go | 0 core/src/{foss/go => main/golang}/config/override.go | 0 core/src/{foss/go => main/golang}/config/process.go | 0 core/src/{foss/go => main/golang}/config/provider_open.go | 0 .../src/{foss/go => main/golang}/config/provider_premium.go | 0 core/src/{foss/go/clash => main/golang/core/foss} | 0 core/src/main/golang/core/premium | 1 + core/src/{foss/go => main/golang}/debug.go | 0 core/src/{foss/go/core => main/golang/delegate}/init.go | 2 +- core/src/{foss/go => main/golang}/go.mod | 2 +- core/src/{foss/go => main/golang}/go.sum | 0 core/src/{foss/go => main/golang}/log.go | 0 core/src/{foss/go => main/golang}/main.go | 4 ++-- core/src/{foss/go => main/golang}/platform/limit.go | 0 core/src/{foss/go => main/golang}/platform/procfs.go | 0 core/src/{foss/go => main/golang}/proxy.go | 0 core/src/{foss/go => main/golang}/proxy/http.go | 0 core/src/{foss/go => main/golang}/trace.c | 0 core/src/{foss/go => main/golang}/trace.h | 0 core/src/{foss/go => main/golang}/tun.go | 0 core/src/{foss/go => main/golang}/tun/dns.go | 0 core/src/{foss/go => main/golang}/tun/link.go | 0 core/src/{foss/go => main/golang}/tun/tcp.go | 0 core/src/{foss/go => main/golang}/tun/tun.go | 0 core/src/{foss/go => main/golang}/tun/udp.go | 0 core/src/{foss/go => main/golang}/tunnel.go | 0 core/src/{foss/go => main/golang}/tunnel/conn.go | 0 core/src/{foss/go => main/golang}/tunnel/connectivity.go | 0 core/src/{foss/go => main/golang}/tunnel/geoip.go | 0 core/src/{foss/go => main/golang}/tunnel/providers.go | 0 .../{foss/go => main/golang}/tunnel/providers_premium.go | 0 core/src/{foss/go => main/golang}/tunnel/proxies.go | 0 core/src/{foss/go => main/golang}/tunnel/state.go | 0 core/src/{foss/go => main/golang}/tunnel/statistic.go | 0 core/src/{foss/go => main/golang}/tunnel/suspend.go | 0 core/src/{foss/go => main/golang}/utils.go | 0 settings.gradle.kts | 2 +- 54 files changed, 16 insertions(+), 12 deletions(-) rename core/src/{foss/go => main/golang}/.idea/codeStyles/Project.xml (100%) rename core/src/{foss/go => main/golang}/.idea/codeStyles/codeStyleConfig.xml (100%) rename core/src/{foss/go => main/golang}/app.go (100%) rename core/src/{foss/go => main/golang}/app/app.go (100%) rename core/src/{foss/go => main/golang}/app/content.go (100%) rename core/src/{foss/go => main/golang}/app/dns.go (100%) rename core/src/{foss/go => main/golang}/app/tun.go (100%) rename core/src/{foss/go => main/golang}/app/ui.go (100%) rename core/src/{foss/go => main/golang}/bridge.c (100%) rename core/src/{foss/go => main/golang}/bridge.h (100%) rename core/src/{foss/go => main/golang}/common/path.go (100%) rename core/src/{foss/go => main/golang}/config.go (100%) rename core/src/{foss/go => main/golang}/config/defaults.go (100%) rename core/src/{foss/go => main/golang}/config/fetch.go (100%) rename core/src/{foss/go => main/golang}/config/load.go (100%) rename core/src/{foss/go => main/golang}/config/override.go (100%) rename core/src/{foss/go => main/golang}/config/process.go (100%) rename core/src/{foss/go => main/golang}/config/provider_open.go (100%) rename core/src/{foss/go => main/golang}/config/provider_premium.go (100%) rename core/src/{foss/go/clash => main/golang/core/foss} (100%) create mode 160000 core/src/main/golang/core/premium rename core/src/{foss/go => main/golang}/debug.go (100%) rename core/src/{foss/go/core => main/golang/delegate}/init.go (98%) rename core/src/{foss/go => main/golang}/go.mod (89%) rename core/src/{foss/go => main/golang}/go.sum (100%) rename core/src/{foss/go => main/golang}/log.go (100%) rename core/src/{foss/go => main/golang}/main.go (93%) rename core/src/{foss/go => main/golang}/platform/limit.go (100%) rename core/src/{foss/go => main/golang}/platform/procfs.go (100%) rename core/src/{foss/go => main/golang}/proxy.go (100%) rename core/src/{foss/go => main/golang}/proxy/http.go (100%) rename core/src/{foss/go => main/golang}/trace.c (100%) rename core/src/{foss/go => main/golang}/trace.h (100%) rename core/src/{foss/go => main/golang}/tun.go (100%) rename core/src/{foss/go => main/golang}/tun/dns.go (100%) rename core/src/{foss/go => main/golang}/tun/link.go (100%) rename core/src/{foss/go => main/golang}/tun/tcp.go (100%) rename core/src/{foss/go => main/golang}/tun/tun.go (100%) rename core/src/{foss/go => main/golang}/tun/udp.go (100%) rename core/src/{foss/go => main/golang}/tunnel.go (100%) rename core/src/{foss/go => main/golang}/tunnel/conn.go (100%) rename core/src/{foss/go => main/golang}/tunnel/connectivity.go (100%) rename core/src/{foss/go => main/golang}/tunnel/geoip.go (100%) rename core/src/{foss/go => main/golang}/tunnel/providers.go (100%) rename core/src/{foss/go => main/golang}/tunnel/providers_premium.go (100%) rename core/src/{foss/go => main/golang}/tunnel/proxies.go (100%) rename core/src/{foss/go => main/golang}/tunnel/state.go (100%) rename core/src/{foss/go => main/golang}/tunnel/statistic.go (100%) rename core/src/{foss/go => main/golang}/tunnel/suspend.go (100%) rename core/src/{foss/go => main/golang}/utils.go (100%) diff --git a/.gitignore b/.gitignore index 4d69c5fc..d229b98d 100644 --- a/.gitignore +++ b/.gitignore @@ -20,10 +20,8 @@ gradle-app.setting *.iml /.idea/* !/.idea/codeStyles -/core/src/foss/go/.idea/* -!/core/src/foss/go/.idea/codeStyles -/core/src/premium/go/.idea/* -!/core/src/premium/go/.idea/codeStyles +/core/src/main/golang/.idea/* +!/core/src/main/golang/.idea/codeStyles # KeyStore *.keystore diff --git a/.gitmodules b/.gitmodules index 923431b0..02cbb04e 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,6 @@ [submodule "clash-foss"] - path = core/src/foss/go/clash + path = core/src/main/golang/core/foss + url = https://github.com/Kr328/clash.git +[submodule "clash-premium"] + path = core/src/main/golang/core/premium url = https://github.com/Kr328/clash.git diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 0dfdf937..ab9f0dcf 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -18,13 +18,15 @@ val geoipOutput = buildDir.resolve("intermediates/golang_blob") golang { sourceSets { create("foss") { - srcDir.set(file("src/foss/go")) + tags.set(listOf("foss")) } create("premium") { - srcDir.set(file("src/premium/go")) + tags.set(listOf("premium")) + moduleFile.set("go.premium.mod") } all { fileName.set("libclash.so") + srcDir.set(file("src/main/golang")) } } } diff --git a/core/src/foss/go/.idea/codeStyles/Project.xml b/core/src/main/golang/.idea/codeStyles/Project.xml similarity index 100% rename from core/src/foss/go/.idea/codeStyles/Project.xml rename to core/src/main/golang/.idea/codeStyles/Project.xml diff --git a/core/src/foss/go/.idea/codeStyles/codeStyleConfig.xml b/core/src/main/golang/.idea/codeStyles/codeStyleConfig.xml similarity index 100% rename from core/src/foss/go/.idea/codeStyles/codeStyleConfig.xml rename to core/src/main/golang/.idea/codeStyles/codeStyleConfig.xml diff --git a/core/src/foss/go/app.go b/core/src/main/golang/app.go similarity index 100% rename from core/src/foss/go/app.go rename to core/src/main/golang/app.go diff --git a/core/src/foss/go/app/app.go b/core/src/main/golang/app/app.go similarity index 100% rename from core/src/foss/go/app/app.go rename to core/src/main/golang/app/app.go diff --git a/core/src/foss/go/app/content.go b/core/src/main/golang/app/content.go similarity index 100% rename from core/src/foss/go/app/content.go rename to core/src/main/golang/app/content.go diff --git a/core/src/foss/go/app/dns.go b/core/src/main/golang/app/dns.go similarity index 100% rename from core/src/foss/go/app/dns.go rename to core/src/main/golang/app/dns.go diff --git a/core/src/foss/go/app/tun.go b/core/src/main/golang/app/tun.go similarity index 100% rename from core/src/foss/go/app/tun.go rename to core/src/main/golang/app/tun.go diff --git a/core/src/foss/go/app/ui.go b/core/src/main/golang/app/ui.go similarity index 100% rename from core/src/foss/go/app/ui.go rename to core/src/main/golang/app/ui.go diff --git a/core/src/foss/go/bridge.c b/core/src/main/golang/bridge.c similarity index 100% rename from core/src/foss/go/bridge.c rename to core/src/main/golang/bridge.c diff --git a/core/src/foss/go/bridge.h b/core/src/main/golang/bridge.h similarity index 100% rename from core/src/foss/go/bridge.h rename to core/src/main/golang/bridge.h diff --git a/core/src/foss/go/common/path.go b/core/src/main/golang/common/path.go similarity index 100% rename from core/src/foss/go/common/path.go rename to core/src/main/golang/common/path.go diff --git a/core/src/foss/go/config.go b/core/src/main/golang/config.go similarity index 100% rename from core/src/foss/go/config.go rename to core/src/main/golang/config.go diff --git a/core/src/foss/go/config/defaults.go b/core/src/main/golang/config/defaults.go similarity index 100% rename from core/src/foss/go/config/defaults.go rename to core/src/main/golang/config/defaults.go diff --git a/core/src/foss/go/config/fetch.go b/core/src/main/golang/config/fetch.go similarity index 100% rename from core/src/foss/go/config/fetch.go rename to core/src/main/golang/config/fetch.go diff --git a/core/src/foss/go/config/load.go b/core/src/main/golang/config/load.go similarity index 100% rename from core/src/foss/go/config/load.go rename to core/src/main/golang/config/load.go diff --git a/core/src/foss/go/config/override.go b/core/src/main/golang/config/override.go similarity index 100% rename from core/src/foss/go/config/override.go rename to core/src/main/golang/config/override.go diff --git a/core/src/foss/go/config/process.go b/core/src/main/golang/config/process.go similarity index 100% rename from core/src/foss/go/config/process.go rename to core/src/main/golang/config/process.go diff --git a/core/src/foss/go/config/provider_open.go b/core/src/main/golang/config/provider_open.go similarity index 100% rename from core/src/foss/go/config/provider_open.go rename to core/src/main/golang/config/provider_open.go diff --git a/core/src/foss/go/config/provider_premium.go b/core/src/main/golang/config/provider_premium.go similarity index 100% rename from core/src/foss/go/config/provider_premium.go rename to core/src/main/golang/config/provider_premium.go diff --git a/core/src/foss/go/clash b/core/src/main/golang/core/foss similarity index 100% rename from core/src/foss/go/clash rename to core/src/main/golang/core/foss diff --git a/core/src/main/golang/core/premium b/core/src/main/golang/core/premium new file mode 160000 index 00000000..fab0b092 --- /dev/null +++ b/core/src/main/golang/core/premium @@ -0,0 +1 @@ +Subproject commit fab0b09292f0d3caf46db5150c969243e35f2ee9 diff --git a/core/src/foss/go/debug.go b/core/src/main/golang/debug.go similarity index 100% rename from core/src/foss/go/debug.go rename to core/src/main/golang/debug.go diff --git a/core/src/foss/go/core/init.go b/core/src/main/golang/delegate/init.go similarity index 98% rename from core/src/foss/go/core/init.go rename to core/src/main/golang/delegate/init.go index ccc38d1e..902bb540 100644 --- a/core/src/foss/go/core/init.go +++ b/core/src/main/golang/delegate/init.go @@ -1,4 +1,4 @@ -package core +package delegate import ( "errors" diff --git a/core/src/foss/go/go.mod b/core/src/main/golang/go.mod similarity index 89% rename from core/src/foss/go/go.mod rename to core/src/main/golang/go.mod index ff8b3476..426b8ad4 100644 --- a/core/src/foss/go/go.mod +++ b/core/src/main/golang/go.mod @@ -13,6 +13,6 @@ require ( gopkg.in/yaml.v2 v2.4.0 ) -replace github.com/Dreamacro/clash => ./clash +replace github.com/Dreamacro/clash => ./core/foss replace cfa/blob => ../../../build/intermediates/golang_blob diff --git a/core/src/foss/go/go.sum b/core/src/main/golang/go.sum similarity index 100% rename from core/src/foss/go/go.sum rename to core/src/main/golang/go.sum diff --git a/core/src/foss/go/log.go b/core/src/main/golang/log.go similarity index 100% rename from core/src/foss/go/log.go rename to core/src/main/golang/log.go diff --git a/core/src/foss/go/main.go b/core/src/main/golang/main.go similarity index 93% rename from core/src/foss/go/main.go rename to core/src/main/golang/main.go index 1cea0721..f04888a8 100644 --- a/core/src/foss/go/main.go +++ b/core/src/main/golang/main.go @@ -11,7 +11,7 @@ import ( "runtime" "cfa/config" - "cfa/core" + "cfa/delegate" "cfa/tunnel" "github.com/Dreamacro/clash/log" @@ -27,7 +27,7 @@ func coreInit(home, versionName C.c_string, sdkVersion C.int) { v := C.GoString(versionName) s := int(sdkVersion) - core.Init(h, v, s) + delegate.Init(h, v, s) reset() } diff --git a/core/src/foss/go/platform/limit.go b/core/src/main/golang/platform/limit.go similarity index 100% rename from core/src/foss/go/platform/limit.go rename to core/src/main/golang/platform/limit.go diff --git a/core/src/foss/go/platform/procfs.go b/core/src/main/golang/platform/procfs.go similarity index 100% rename from core/src/foss/go/platform/procfs.go rename to core/src/main/golang/platform/procfs.go diff --git a/core/src/foss/go/proxy.go b/core/src/main/golang/proxy.go similarity index 100% rename from core/src/foss/go/proxy.go rename to core/src/main/golang/proxy.go diff --git a/core/src/foss/go/proxy/http.go b/core/src/main/golang/proxy/http.go similarity index 100% rename from core/src/foss/go/proxy/http.go rename to core/src/main/golang/proxy/http.go diff --git a/core/src/foss/go/trace.c b/core/src/main/golang/trace.c similarity index 100% rename from core/src/foss/go/trace.c rename to core/src/main/golang/trace.c diff --git a/core/src/foss/go/trace.h b/core/src/main/golang/trace.h similarity index 100% rename from core/src/foss/go/trace.h rename to core/src/main/golang/trace.h diff --git a/core/src/foss/go/tun.go b/core/src/main/golang/tun.go similarity index 100% rename from core/src/foss/go/tun.go rename to core/src/main/golang/tun.go diff --git a/core/src/foss/go/tun/dns.go b/core/src/main/golang/tun/dns.go similarity index 100% rename from core/src/foss/go/tun/dns.go rename to core/src/main/golang/tun/dns.go diff --git a/core/src/foss/go/tun/link.go b/core/src/main/golang/tun/link.go similarity index 100% rename from core/src/foss/go/tun/link.go rename to core/src/main/golang/tun/link.go diff --git a/core/src/foss/go/tun/tcp.go b/core/src/main/golang/tun/tcp.go similarity index 100% rename from core/src/foss/go/tun/tcp.go rename to core/src/main/golang/tun/tcp.go diff --git a/core/src/foss/go/tun/tun.go b/core/src/main/golang/tun/tun.go similarity index 100% rename from core/src/foss/go/tun/tun.go rename to core/src/main/golang/tun/tun.go diff --git a/core/src/foss/go/tun/udp.go b/core/src/main/golang/tun/udp.go similarity index 100% rename from core/src/foss/go/tun/udp.go rename to core/src/main/golang/tun/udp.go diff --git a/core/src/foss/go/tunnel.go b/core/src/main/golang/tunnel.go similarity index 100% rename from core/src/foss/go/tunnel.go rename to core/src/main/golang/tunnel.go diff --git a/core/src/foss/go/tunnel/conn.go b/core/src/main/golang/tunnel/conn.go similarity index 100% rename from core/src/foss/go/tunnel/conn.go rename to core/src/main/golang/tunnel/conn.go diff --git a/core/src/foss/go/tunnel/connectivity.go b/core/src/main/golang/tunnel/connectivity.go similarity index 100% rename from core/src/foss/go/tunnel/connectivity.go rename to core/src/main/golang/tunnel/connectivity.go diff --git a/core/src/foss/go/tunnel/geoip.go b/core/src/main/golang/tunnel/geoip.go similarity index 100% rename from core/src/foss/go/tunnel/geoip.go rename to core/src/main/golang/tunnel/geoip.go diff --git a/core/src/foss/go/tunnel/providers.go b/core/src/main/golang/tunnel/providers.go similarity index 100% rename from core/src/foss/go/tunnel/providers.go rename to core/src/main/golang/tunnel/providers.go diff --git a/core/src/foss/go/tunnel/providers_premium.go b/core/src/main/golang/tunnel/providers_premium.go similarity index 100% rename from core/src/foss/go/tunnel/providers_premium.go rename to core/src/main/golang/tunnel/providers_premium.go diff --git a/core/src/foss/go/tunnel/proxies.go b/core/src/main/golang/tunnel/proxies.go similarity index 100% rename from core/src/foss/go/tunnel/proxies.go rename to core/src/main/golang/tunnel/proxies.go diff --git a/core/src/foss/go/tunnel/state.go b/core/src/main/golang/tunnel/state.go similarity index 100% rename from core/src/foss/go/tunnel/state.go rename to core/src/main/golang/tunnel/state.go diff --git a/core/src/foss/go/tunnel/statistic.go b/core/src/main/golang/tunnel/statistic.go similarity index 100% rename from core/src/foss/go/tunnel/statistic.go rename to core/src/main/golang/tunnel/statistic.go diff --git a/core/src/foss/go/tunnel/suspend.go b/core/src/main/golang/tunnel/suspend.go similarity index 100% rename from core/src/foss/go/tunnel/suspend.go rename to core/src/main/golang/tunnel/suspend.go diff --git a/core/src/foss/go/utils.go b/core/src/main/golang/utils.go similarity index 100% rename from core/src/foss/go/utils.go rename to core/src/main/golang/utils.go diff --git a/settings.gradle.kts b/settings.gradle.kts index 307ffdec..b2cccde5 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -17,7 +17,7 @@ dependencyResolutionManagement { val agp = "7.0.2" val ksp = "1.5.30-1.0.0-beta09" val kotlin = "1.5.30" - val golang = "1.0.1" + val golang = "1.0.2" val coroutine = "1.5.0" val coreKtx = "1.5.0" val activity = "1.2.3"