Funurl
Parse, modify, encode, decode, and deduplicate URLs from the command line. Use when the user needs to extract URL components, manipulate URLs, encode/decode URL strings, or deduplicate URL lists for security testing or web automation.From its SKILL.md
npx -y skills add HappyHackingSpace/skills --skill funurlAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 4 stars4 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 8 commands, including `dotnet tool install --global funurl` and 7 more.
SKILL.md
2.4 KB, 560 tokens by cl100k_base, as published. Nobody here has run it
funURL - A Functional URL Swiss Army Knife
funURL is a CLI tool for parsing, validating, modifying, encoding/decoding, and deduplicating URLs.
Installation
.NET Tool
dotnet tool install --global funurl
Binary Download
Download from Releases for Linux, macOS, or Windows (x64 and ARM64).
Commands
URL Parsing
Extract specific components from a URL:
# Parse all URL components
funurl parse https://subdomain.example.com/path?query=value#fragment
# Extract specific components
funurl parse -c https://example.com # protocol/scheme
funurl parse -s https://sub.example.com # subdomain
funurl parse -t https://example.com # top-level domain
funurl parse -n https://example.com # hostname
funurl parse -p https://example.com/path # path
funurl parse -q https://example.com/?k=v # query parameters
funurl parse -f https://example.com/#section # fragment
URL Modification
# Change protocol
funurl modify -c https http://example.com
# Update path
funurl modify -p /new/path https://example.com/old/path
# Change query string
funurl modify -q "key1=val1&key2=val2" https://example.com?old=param
# Update fragment
funurl modify -f "new-section" https://example.com#old-section
URL Encoding
# Path-encode
funurl encode "hello world"
# Query component encoding
funurl encode -c "param=value with spaces"
URL Decoding
# Path-decode
funurl decode "hello%20world"
# Query component decoding
funurl decode -c "param%3Dvalue%20with%20spaces"
URL Deduplication
# Deduplicate from arguments
funurl dedupe https://google.com https://google.com/home?qs=value https://google.com/home?qs=secondValue
# Deduplicate from stdin
cat urls.txt | funurl dedupe
Input Methods
- Via command-line argument:
funurl parse https://example.com - Via stdin (pipe):
echo "https://example.com" | funurl parse - Via interactive input:
funurl parsethen type URL and press Enter
References
- Repository: https://github.com/HappyHackingSpace/funURL
What ships with it
Read from the repository
Just SKILL.md. No reference files, no scripts.