From 7a20d0c738da3150c2534d33082b14902043c3c6 Mon Sep 17 00:00:00 2001 From: WeebDataHoarder <57538841+WeebDataHoarder@users.noreply.github.com> Date: Sun, 6 Apr 2025 03:15:50 +0200 Subject: [PATCH] Automatically fetch own package name for running binary --- cmd/go-away/main.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cmd/go-away/main.go b/cmd/go-away/main.go index d7cc5e1..261d866 100644 --- a/cmd/go-away/main.go +++ b/cmd/go-away/main.go @@ -17,6 +17,7 @@ import ( "net" "net/http" "os" + "runtime/debug" "strconv" "strings" ) @@ -55,6 +56,15 @@ func setupListener(network, address, socketMode string) (net.Listener, string) { return listener, formattedAddress } +var internalPackageName = func() string { + + buildInfo, ok := debug.ReadBuildInfo() + if !ok { + return "go-away" + } + return buildInfo.Path +}() + type MultiVar []string func (v *MultiVar) String() string { @@ -78,7 +88,7 @@ func main() { challengeTemplate := flag.String("challenge-template", "anubis", "name or path of the challenge template to use (anubis, forgejo)") challengeTemplateTheme := flag.String("challenge-template-theme", "", "name of the challenge template theme to use (forgejo => [forgejo-dark, forgejo-light, gitea...])") - packageName := flag.String("package-path", "git.gammaspectra.live/git/go-away/cmd/go-away", "package name to expose in .well-known url path") + packageName := flag.String("package-path", internalPackageName, "package name to expose in .well-known url path") jwtPrivateKeySeed := flag.String("jwt-private-key-seed", "", "Seed for the jwt private key, or on JWT_PRIVATE_KEY_SEED env. One be generated by passing \"generate\" as a value, follows RFC 8032 private key definition. Defaults to random")