package cli import ( "flag" "fmt" "io/ioutil" "strings" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/golibs/os" ) func (c *cli) ClientKey(args []string, openFile os.OpenFileFunc) error { flagSet := flag.NewFlagSet("clientkey", flag.ExitOnError) filepath := flagSet.String("path", constants.ClientKey, "file path to the client.key file") if err := flagSet.Parse(args); err != nil { return err } file, err := openFile(*filepath, os.O_RDONLY, 0) if err != nil { return err } data, err := ioutil.ReadAll(file) if err != nil { _ = file.Close() return err } if err := file.Close(); err != nil { return err } if err != nil { return err } s := string(data) s = strings.ReplaceAll(s, "\n", "") s = strings.ReplaceAll(s, "\r", "") s = strings.TrimPrefix(s, "-----BEGIN PRIVATE KEY-----") s = strings.TrimSuffix(s, "-----END PRIVATE KEY-----") fmt.Println(s) return nil }