| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- package main
- import (
- "io/ioutil"
- "os"
- "path/filepath"
- "strings"
- )
- func copyConfigFile(src, dest string, goOS GoOS, format bool) error {
- content, err := ioutil.ReadFile(src)
- if err != nil {
- return err
- }
- if format {
- str := string(content)
- str = strings.Replace(str, "\r\n", "\n", -1)
- if goOS == Windows {
- str = strings.Replace(str, "\n", "\r\n", -1)
- }
- content = []byte(str)
- }
- return ioutil.WriteFile(dest, content, 0777)
- }
- func copyConfigFiles(dir string, goOS GoOS) error {
- GOPATH := os.Getenv("GOPATH")
- srcDir := filepath.Join(GOPATH, "src", "v2ray.com", "core", "tools", "release", "config")
- src := filepath.Join(srcDir, "vpoint_socks_vmess.json")
- dest := filepath.Join(dir, "vpoint_socks_vmess.json")
- if goOS == Windows || goOS == MacOS {
- dest = filepath.Join(dir, "config.json")
- }
- if err := copyConfigFile(src, dest, goOS, true); err != nil {
- return err
- }
- if goOS == Windows || goOS == MacOS {
- return nil
- }
- src = filepath.Join(srcDir, "vpoint_vmess_freedom.json")
- dest = filepath.Join(dir, "vpoint_vmess_freedom.json")
- if err := copyConfigFile(src, dest, goOS, true); err != nil {
- return err
- }
- if goOS == Linux {
- if err := os.MkdirAll(filepath.Join(dir, "systemv"), os.ModeDir|0777); err != nil {
- return err
- }
- src = filepath.Join(srcDir, "systemv", "v2ray")
- dest = filepath.Join(dir, "systemv", "v2ray")
- if err := copyConfigFile(src, dest, goOS, false); err != nil {
- return err
- }
- if err := os.MkdirAll(filepath.Join(dir, "systemd"), os.ModeDir|0777); err != nil {
- return err
- }
- src = filepath.Join(srcDir, "systemd", "v2ray.service")
- dest = filepath.Join(dir, "systemd", "v2ray.service")
- if err := copyConfigFile(src, dest, goOS, false); err != nil {
- return err
- }
- }
- return nil
- }
|