config.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package main
  2. import (
  3. "io/ioutil"
  4. "os"
  5. "path/filepath"
  6. "strings"
  7. )
  8. func copyConfigFile(src, dest string, goOS GoOS) error {
  9. content, err := ioutil.ReadFile(src)
  10. if err != nil {
  11. return err
  12. }
  13. str := string(content)
  14. str = strings.Replace(str, "\r\n", "\n", -1)
  15. if goOS == Windows {
  16. str = strings.Replace(str, "\n", "\r\n", -1)
  17. }
  18. return ioutil.WriteFile(dest, []byte(str), 0777)
  19. }
  20. func copyConfigFiles(dir string, goOS GoOS) error {
  21. GOPATH := os.Getenv("GOPATH")
  22. srcDir := filepath.Join(GOPATH, "src", "github.com", "v2ray", "v2ray-core", "release", "config")
  23. src := filepath.Join(srcDir, "vpoint_socks_vmess.json")
  24. dest := filepath.Join(dir, "vpoint_socks_vmess.json")
  25. if goOS == Windows || goOS == MacOS {
  26. dest = filepath.Join(dir, "config.json")
  27. }
  28. err := copyConfigFile(src, dest, goOS)
  29. if err != nil {
  30. return err
  31. }
  32. if goOS == Windows || goOS == MacOS {
  33. return nil
  34. }
  35. src = filepath.Join(srcDir, "vpoint_vmess_freedom.json")
  36. dest = filepath.Join(dir, "vpoint_vmess_freedom.json")
  37. return copyConfigFile(src, dest, goOS)
  38. }