From f31899c2690ab6b40c28783f8fe41effb002b6e9 Mon Sep 17 00:00:00 2001 From: Hiddify <114227601+hiddify-com@users.noreply.github.com> Date: Tue, 6 Aug 2024 22:45:01 -0400 Subject: [PATCH] fix: parse config issues --- config/option.go | 1 + config/warp.go | 2 +- go.mod | 2 ++ go.sum | 2 ++ v2/custom.go | 4 ++-- v2/service.go | 2 +- 6 files changed, 9 insertions(+), 4 deletions(-) diff --git a/config/option.go b/config/option.go index 9734304..96d5486 100644 --- a/config/option.go +++ b/config/option.go @@ -146,5 +146,6 @@ func DefaultConfigOptions() *ConfigOptions { EnablePadding: false, PaddingSize: "1200-1500", }, + UseXrayCoreWhenPossible: false, } } diff --git a/config/warp.go b/config/warp.go index fe2e73c..398243e 100644 --- a/config/warp.go +++ b/config/warp.go @@ -159,7 +159,7 @@ func patchWarp(base *option.Outbound, configOpt *ConfigOptions, final bool, stat var warpConfig *T.Outbound var err error - if configOpt == nil && (key == "p1" || key == "p2") { + if (configOpt == nil || !final) && (key == "p1" || key == "p2") { warpConfig = base return nil } else if key == "p1" { diff --git a/go.mod b/go.mod index 75338bd..f8cc9c1 100644 --- a/go.mod +++ b/go.mod @@ -20,6 +20,8 @@ require ( gopkg.in/yaml.v3 v3.0.1 ) +require github.com/akavel/rsrc v0.10.2 // indirect + require ( berty.tech/go-libtor v1.0.385 // indirect github.com/ajg/form v1.5.1 // indirect diff --git a/go.sum b/go.sum index dfcc101..241f12a 100644 --- a/go.sum +++ b/go.sum @@ -14,6 +14,8 @@ github.com/OmarTariq612/goech v0.0.0-20240405204721-8e2e1dafd3a0 h1:Wo41lDOevRJS github.com/OmarTariq612/goech v0.0.0-20240405204721-8e2e1dafd3a0/go.mod h1:FVGavL/QEBQDcBpr3fAojoK17xX5k9bicBphrOpP7uM= github.com/ajg/form v1.5.1 h1:t9c7v8JUKu/XxOGBU0yjNpaMloxGEJhUkqFRq0ibGeU= github.com/ajg/form v1.5.1/go.mod h1:uL1WgH+h2mgNtvBq0339dVnzXdBETtL2LeUXaIv25UY= +github.com/akavel/rsrc v0.10.2 h1:Zxm8V5eI1hW4gGaYsJQUhxpjkENuG91ki8B4zCrvEsw= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= diff --git a/v2/custom.go b/v2/custom.go index e341457..8015d9e 100644 --- a/v2/custom.go +++ b/v2/custom.go @@ -87,7 +87,7 @@ func StartService(in *pb.StartRequest) (*pb.CoreInfoResponse, error) { } Log(pb.LogLevel_DEBUG, pb.LogType_CORE, "Parsing Config") - parsedContent, err := parseConfig(content) + parsedContent, err := readOptions(content) Log(pb.LogLevel_DEBUG, pb.LogType_CORE, "Parsed") if err != nil { @@ -247,7 +247,7 @@ func generateConfigFromFile(path string, configOpt config.ConfigOptions) (string if err != nil { return "", err } - options, err := parseConfig(string(content)) + options, err := readOptions(string(content)) if err != nil { return "", err } diff --git a/v2/service.go b/v2/service.go index 9ac6412..eceac3f 100644 --- a/v2/service.go +++ b/v2/service.go @@ -81,7 +81,7 @@ func NewService(options option.Options) (*libbox.BoxService, error) { return &service, nil } -func parseConfig(configContent string) (option.Options, error) { +func readOptions(configContent string) (option.Options, error) { var options option.Options err := options.UnmarshalJSON([]byte(configContent)) if err != nil {