Something went wrong. Try again.
Cloudflare Tunnel client with NetBSD support
Something went wrong. Try again.
1.7 kB · 57 lines
Go
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758package token
import ( "fmt" "net/url" "os" "path/filepath" "strings"
homedir "github.com/mitchellh/go-homedir"
"github.com/cloudflare/cloudflared/config")
// GenerateSSHCertFilePathFromURL will return a file path for creating short lived certificatesfunc GenerateSSHCertFilePathFromURL(url *url.URL, suffix string) (string, error) { configPath, err := getConfigPath() if err != nil { return "", err } name := strings.Replace(fmt.Sprintf("%s%s-%s", url.Hostname(), url.EscapedPath(), suffix), "/", "-", -1) return filepath.Join(configPath, name), nil}
// GenerateAppTokenFilePathFromURL will return a filepath for given Access org tokenfunc GenerateAppTokenFilePathFromURL(appDomain, aud string, suffix string) (string, error) { configPath, err := getConfigPath() if err != nil { return "", err } name := fmt.Sprintf("%s-%s-%s", appDomain, aud, suffix) name = strings.Replace(strings.Replace(name, "/", "-", -1), "*", "-", -1) return filepath.Join(configPath, name), nil}
// generateOrgTokenFilePathFromURL will return a filepath for given Access application tokenfunc generateOrgTokenFilePathFromURL(authDomain string) (string, error) { configPath, err := getConfigPath() if err != nil { return "", err } name := strings.Replace(fmt.Sprintf("%s-org-token", authDomain), "/", "-", -1) return filepath.Join(configPath, name), nil}
func getConfigPath() (string, error) { configPath, err := homedir.Expand(config.DefaultConfigSearchDirectories()[0]) if err != nil { return "", err } ok, err := config.FileExists(configPath) if !ok && err == nil { // create config directory if doesn't already exist err = os.Mkdir(configPath, 0700) } return configPath, err}