From 06dd693c3c39ed93438b28c1d49bb8a58f247283 Mon Sep 17 00:00:00 2001 From: wwqgtxx Date: Tue, 5 Jan 2021 20:21:09 +0800 Subject: [PATCH] upgrade go1.16beta1 to use go:embed --- .github/workflows/go.yml | 3 ++- build.bat | 2 ++ component/mmdb/Country.mmdb | Bin 0 -> 111794 bytes component/mmdb/mmdb.go | 19 +++++++++++++++++-- config/initial.go | 29 ++++++++++++++++++++--------- constant/path.go | 11 ++++++++++- go.mod | 2 +- 7 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 component/mmdb/Country.mmdb diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index f39625ad16..e9c1fa630c 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -9,7 +9,8 @@ jobs: - name: Setup Go uses: actions/setup-go@v2 with: - go-version: 1.15.x + stable: false + go-version: '1.16.0-beta1' - name: Check out code into the Go module directory uses: actions/checkout@v2 diff --git a/build.bat b/build.bat index 0f76a564bb..99c49a32da 100644 --- a/build.bat +++ b/build.bat @@ -1,4 +1,6 @@ cd %~dp0 +rmdir /S /Q bin +mkdir bin set CGO_ENABLED=0 set GOARCH=amd64 set GOOS=linux diff --git a/component/mmdb/Country.mmdb b/component/mmdb/Country.mmdb new file mode 100644 index 0000000000000000000000000000000000000000..345f4c3b88323d4ac04f873ce0d61f16482de034 GIT binary patch literal 111794 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 z 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 0 { + log.Infoln("Can't find MMDB file, use embed MMDB") + C.SetExtraMMDB(false) + } else { + log.Infoln("Can't find MMDB, start download") + if err := downloadMMDB(C.Path.MMDB()); err != nil { + return fmt.Errorf("can't download MMDB: %s", err.Error()) + } } } if !mmdb.Verify() { - log.Warnln("MMDB invalid, remove and download") - if err := os.Remove(C.Path.MMDB()); err != nil { - return fmt.Errorf("can't remove invalid MMDB: %s", err.Error()) - } + if len(mmdb.EmbedMMDB) > 0 { + log.Warnln("MMDB invalid, use embed MMDB") + C.SetExtraMMDB(false) + } else { + log.Warnln("MMDB invalid, remove and download") + if err := os.Remove(C.Path.MMDB()); err != nil { + return fmt.Errorf("can't remove invalid MMDB: %s", err.Error()) + } - if err := downloadMMDB(C.Path.MMDB()); err != nil { - return fmt.Errorf("can't download MMDB: %s", err.Error()) + if err := downloadMMDB(C.Path.MMDB()); err != nil { + return fmt.Errorf("can't download MMDB: %s", err.Error()) + } } } diff --git a/constant/path.go b/constant/path.go index 6f4af046aa..a530cd94d8 100644 --- a/constant/path.go +++ b/constant/path.go @@ -14,6 +14,7 @@ var Path *path type path struct { homeDir string configFile string + extraMMDB bool } func init() { @@ -36,6 +37,10 @@ func SetConfig(file string) { Path.configFile = file } +func SetExtraMMDB(extraMMDB bool) { + Path.extraMMDB = extraMMDB +} + func (p *path) HomeDir() string { return p.homeDir } @@ -54,5 +59,9 @@ func (p *path) Resolve(path string) string { } func (p *path) MMDB() string { - return P.Join(p.homeDir, "Country.mmdb") + if p.extraMMDB { + return P.Join(p.homeDir, "Country.mmdb") + } else { + return "embed" + } } diff --git a/go.mod b/go.mod index c0e38683cd..237e4fbc2a 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,6 @@ module github.com/Dreamacro/clash -go 1.15 +go 1.16 require ( github.com/Dreamacro/go-shadowsocks2 v0.1.6