mirror of
https://github.com/v2fly/v2ray-core.git
synced 2025-01-02 15:36:41 -05:00
Fix: GetAssetLocation (#974)
This commit is contained in:
parent
1cb9fd2999
commit
8ce32e0d4c
@ -33,7 +33,6 @@ func GetAssetLocation(file string) string {
|
||||
filepath.Join("/usr/local/share/v2ray/", file),
|
||||
filepath.Join("/usr/share/v2ray/", file),
|
||||
filepath.Join("/opt/share/v2ray/", file),
|
||||
file,
|
||||
} {
|
||||
if _, err := os.Stat(p); err != nil && errors.Is(err, fs.ErrNotExist) {
|
||||
continue
|
||||
|
@ -10,26 +10,8 @@ import (
|
||||
|
||||
"github.com/v2fly/v2ray-core/v4/common"
|
||||
"github.com/v2fly/v2ray-core/v4/common/platform"
|
||||
"github.com/v2fly/v2ray-core/v4/common/platform/filesystem"
|
||||
)
|
||||
|
||||
func init() {
|
||||
const geoipURL = "https://raw.githubusercontent.com/v2fly/geoip/release/geoip.dat"
|
||||
|
||||
wd, err := os.Getwd()
|
||||
common.Must(err)
|
||||
|
||||
tempPath := filepath.Join(wd, "..", "..", "testing", "temp")
|
||||
geoipPath := filepath.Join(tempPath, "geoip.dat")
|
||||
|
||||
if _, err := os.Stat(geoipPath); err != nil && errors.Is(err, fs.ErrNotExist) {
|
||||
common.Must(os.MkdirAll(tempPath, 0755))
|
||||
geoipBytes, err := common.FetchHTTPContent(geoipURL)
|
||||
common.Must(err)
|
||||
common.Must(filesystem.WriteFile(geoipPath, geoipBytes))
|
||||
}
|
||||
}
|
||||
|
||||
func TestNormalizeEnvName(t *testing.T) {
|
||||
cases := []struct {
|
||||
input string
|
||||
@ -91,16 +73,6 @@ func TestWrongErrorCheckOnOSStat(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestGetAssetLocation(t *testing.T) {
|
||||
// Test for external geo files
|
||||
wd, err := os.Getwd()
|
||||
common.Must(err)
|
||||
tempPath := filepath.Join(wd, "..", "..", "testing", "temp")
|
||||
geoipPath := filepath.Join(tempPath, "geoip.dat")
|
||||
asset := platform.GetAssetLocation(geoipPath)
|
||||
if _, err := os.Stat(asset); err != nil && errors.Is(err, fs.ErrNotExist) {
|
||||
t.Error("cannot find external geo file:", asset)
|
||||
}
|
||||
|
||||
exec, err := os.Executable()
|
||||
common.Must(err)
|
||||
loc := platform.GetAssetLocation("t")
|
||||
|
@ -2,12 +2,7 @@
|
||||
|
||||
package platform
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"io/fs"
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
import "path/filepath"
|
||||
|
||||
func ExpandEnv(s string) string {
|
||||
// TODO
|
||||
@ -28,19 +23,5 @@ func GetToolLocation(file string) string {
|
||||
func GetAssetLocation(file string) string {
|
||||
const name = "v2ray.location.asset"
|
||||
assetPath := NewEnvFlag(name).GetValue(getExecutableDir)
|
||||
defPath := filepath.Join(assetPath, file)
|
||||
for _, p := range []string{
|
||||
defPath,
|
||||
file,
|
||||
} {
|
||||
if _, err := os.Stat(p); err != nil && errors.Is(err, fs.ErrNotExist) {
|
||||
continue
|
||||
}
|
||||
|
||||
// asset found
|
||||
return p
|
||||
}
|
||||
|
||||
// asset not found, let the caller throw out the error
|
||||
return defPath
|
||||
return filepath.Join(assetPath, file)
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user