diff --git a/Makefile b/Makefile index 940748f..9f81f7f 100644 --- a/Makefile +++ b/Makefile @@ -292,13 +292,13 @@ docker-publish: # Release commands (GoReleaser) snapshot-release: + @echo "$(PREFIX) Update registry-metadata-direct-fetch.json..." + cp ../osmedeus-registry/registry-metadata-direct-fetch.json public/presets/registry-metadata-direct-fetch.json @echo "$(PREFIX) Building $(BINARY_NAME)..." @mkdir -p $(BINARY_DIR) $(GOBUILD) $(LDFLAGS) -o $(BINARY_DIR)/$(BINARY_NAME) ./cmd/osmedeus @echo "$(PREFIX) Installing $(BINARY_NAME) to $(GOBIN_PATH)..." @cp $(BINARY_DIR)/$(BINARY_NAME) $(GOBIN_PATH)/ - @echo "$(PREFIX) Update registry-metadata-direct-fetch.json..." - cp ../osmedeus-registry/registry-metadata-direct-fetch.json public/presets/registry-metadata-direct-fetch.json @echo "$(PREFIX) Building snapshot release" export GORELEASER_CURRENT_TAG="$(VERSION)" && goreleaser release --clean --skip=announce,publish,validate @echo "$(PREFIX) Install script copied to dist/install.sh" diff --git a/cmd/osmedeus/main.go b/cmd/osmedeus/main.go index 9266c74..7e3883b 100644 --- a/cmd/osmedeus/main.go +++ b/cmd/osmedeus/main.go @@ -16,7 +16,7 @@ var ( // @termsOfService https://docs.osmedeus.org/terms/ // @contact.name Osmedeus Support -// @contact.url https://github.com/osmedeus/osmedeus +// @contact.url https://github.com/osmedeus // @contact.email support@osmedeus.org // @license.name MIT diff --git a/pkg/cli/function.go b/pkg/cli/function.go index 094e102..4a1ae60 100644 --- a/pkg/cli/function.go +++ b/pkg/cli/function.go @@ -57,6 +57,15 @@ var functionListCmd = &cobra.Command{ RunE: runFunctionList, } +// evalCmd is a top-level shorthand for 'func eval' +var evalCmd = &cobra.Command{ + Use: "eval", + Aliases: []string{"e", "ev", "evl", "evla"}, + Short: "Evaluate a script (shorthand for 'func eval')", + Long: UsageFunctionEval(), + RunE: runFunctionEval, +} + func init() { functionEvalCmd.Flags().StringVarP(&evalScript, "eval", "e", "", "script to evaluate") functionEvalCmd.Flags().StringVarP(&evalTarget, "target", "t", "", "target value for {{target}} variable") @@ -73,6 +82,16 @@ func init() { functionListCmd.Flags().IntVar(&funcColumnWidth, "width", 60, "max column width (wraps lines instead of truncating)") functionListCmd.Flags().BoolVar(&funcShowExample, "example", false, "show example usage below each function description") + // evalCmd flags (same as functionEvalCmd - it's a shorthand) + evalCmd.Flags().StringVarP(&evalScript, "eval", "e", "", "script to evaluate") + evalCmd.Flags().StringVarP(&evalTarget, "target", "t", "", "target value for {{target}} variable") + evalCmd.Flags().StringArrayVar(&evalParams, "params", nil, "additional parameters (key=value format)") + evalCmd.Flags().BoolVar(&evalStdin, "stdin", false, "read script from stdin") + evalCmd.Flags().StringVarP(&evalFunctionName, "function", "f", "", "function name to call (remaining args become function arguments)") + evalCmd.Flags().StringVarP(&funcTargetsFile, "targets", "T", "", "file containing targets (one per line)") + evalCmd.Flags().StringVar(&funcFunctionFile, "function-file", "", "file containing the function/script to execute") + evalCmd.Flags().IntVarP(&funcConcurrency, "concurrency", "c", 1, "number of concurrent executions") + functionCmd.AddCommand(functionEvalCmd) functionCmd.AddCommand(functionListCmd) } diff --git a/pkg/cli/root.go b/pkg/cli/root.go index aa219e6..1f81d39 100644 --- a/pkg/cli/root.go +++ b/pkg/cli/root.go @@ -296,6 +296,7 @@ func init() { rootCmd.AddCommand(snapshotCmd) rootCmd.AddCommand(versionCmd) rootCmd.AddCommand(updateCmd) + rootCmd.AddCommand(evalCmd) } // installRequiredBinaries installs all required binaries from the registry. diff --git a/public/presets/registry-metadata-direct-fetch.json b/public/presets/registry-metadata-direct-fetch.json index dbbad04..caa43e1 100644 --- a/public/presets/registry-metadata-direct-fetch.json +++ b/public/presets/registry-metadata-direct-fetch.json @@ -1,5 +1,5 @@ { - "_last_update_at": "2026-01-14T10:12:21.439275+00:00", + "_last_update_at": "2026-01-21T10:08:20.876322+00:00", "amass": { "desc": "In-depth attack surface mapping and asset discovery", "repo_link": "https://github.com/owasp-amass/amass", @@ -137,6 +137,27 @@ "arm64": "https://github.com/projectdiscovery/httpx/releases/download/v1.7.4/httpx_1.7.4_macOS_arm64.zip" } }, + "katana": { + "desc": "A next-generation crawling and spidering framework.", + "repo_link": "https://github.com/projectdiscovery/katana", + "version": "1.4.0", + "package-manager": "github-release", + "tags": [ + "recon", + "http", + "spidering", + "web" + ], + "valide-command": "", + "linux": { + "amd64": "https://github.com/projectdiscovery/katana/releases/download/v1.4.0/katana_1.4.0_linux_amd64.zip", + "arm64": "https://github.com/projectdiscovery/katana/releases/download/v1.4.0/katana_1.4.0_linux_arm64.zip" + }, + "darwin": { + "amd64": "https://github.com/projectdiscovery/katana/releases/download/v1.4.0/katana_1.4.0_macOS_amd64.zip", + "arm64": "https://github.com/projectdiscovery/katana/releases/download/v1.4.0/katana_1.4.0_macOS_arm64.zip" + } + }, "naabu": { "desc": "A fast port scanner written in go with a focus on reliability and simplicity. Designed to be used in combination with other tools for attack surface discovery in bug bounties and pentests", "repo_link": "https://github.com/projectdiscovery/naabu",