Automic VaultAutomic Vault

brew

Install xurls with Homebrew, Nix

Extract urls from text. Version 2.6.0 via Homebrew; verified from local package data.

install

Additional install commands

macOS

Homebrewverified · 100%
brew install xurls

local Homebrew formula metadata

Linux

Nixverified · 92%
nix profile install nixpkgs#xurls

nixpkgs package indexes · pkgs/by-name/xu/xurls/package.nix · source: api.github.com

overview

Package summary

Extract urls from text

Commands and aliases

  • xurls

history

Project history and usage

xurls is Daniel Marti's Go library and CLI for extracting URLs from text with curated regular expressions. It exposes strict and relaxed matchers as Go APIs and ships `cmd/xurls` for shell pipelines.

Project history

The GitHub repository was created in January 2015 and grew as a small Go package centered on reusable `regexp.Regexp` values. The README documents the v2 module path `mvdan.cc/xurls/v2`, strict and relaxed matching, cached compiled expressions, and a CLI install path via `go install`.

The release history shows the project adapting to URL edge cases rather than trying to become a full parser: Go modules, internationalized and punycode TLD handling, markdown punctuation cases, large-input CLI fixes, `xurls -fix`, redirect handling, and regular updates to TLD and scheme lists.

Adoption history

xurls is used as both a library and a command because URL extraction from arbitrary text appears in log processing, documentation checks, chat exports, feed cleanup, and static analysis. Its package-manager presence points to a developer-tool audience rather than a large end-user app.

How it is used

As a CLI, `xurls` reads text and prints matched URLs for shell pipelines. As a Go package, callers use `xurls.Relaxed()` or `xurls.Strict()` and then call standard `regexp` methods such as `FindString` or `FindAllString`.

Why package nerds care

xurls is package-nerd interesting because it packages a messy text-processing convention as a tiny, reproducible Go tool. Its history is mostly a record of edge cases in the public URL ecosystem: new schemes, TLD churn, Unicode, markdown punctuation, email ambiguity, and redirect cleanup.

Timeline

  • 2015-01-12: GitHub repository created.
  • 2018-10-21: v2.0.0 converts the API to Go modules under `mvdan.cc/xurls/v2`.
  • 2019-09-22: v2.1.0 improves punycode and markdown-adjacent matching and fixes a large-input CLI crash.
  • 2020-04-17: v2.2.0 adds `xurls -fix` and improves non-ASCII TLD matching.
  • 2023-04-16: v2.5.0 expands `xurls -fix` behavior and adds a version flag.
  • 2025-01-02: v2.6.0 updates schemes/TLDs and refines relaxed matching.

Related projects

  • Go `regexp`: the standard API shape xurls deliberately exposes.
  • mvdan.cc/sh and shfmt: other developer tools by the same author.
  • Public TLD and URI-scheme data sources: the moving ecosystem xurls periodically tracks.

security posture

Risk level: green

narrow executable package without higher-risk signals.

Risk classifier

green risk · low confidence · appliance

Why

  • narrow executable package without higher-risk signals

Signals

  • metadata:no-higher-risk-signals

Install behavior

  • No Homebrew post-install hook is recorded in formula metadata.
  • Homebrew bottle metadata is available for 8 platform targets.
  • Build metadata lists 1 build dependencies.

Recommended review

Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.

executables

Installed executables

CommandKindExposureNote
xurlscliglobal executable

freshness

Version and freshness

These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.

page generated2026-07-08
manager version2.6.0
manager updated
local dataok
upstreamcurrent
latest detectedv2.6.0

https://github.com/mvdan/xurls

  • infoNo package-manager update timestamp was available.low confidence

install metadata

Package metadata

Package keybrew:xurls
Version2.6.0
Package managerHomebrew
Package manager pagehttps://formulae.brew.sh/formula/xurls
Homepagehttps://github.com/mvdan/xurls
Repositoryhttps://github.com/mvdan/xurls
Upstream docshttps://github.com/mvdan/xurls#readme
LicenseBSD-3-Clause
Source archivehttps://github.com/mvdan/xurls/archive/refs/tags/v2.6.0.tar.gz
Build dependenciesgo
Bottleavailable (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, arm64_ventura, sonoma, ventura, x86_64_linux)
Homebrew post-installnot defined
Servicenone declared

registry facts

Source database details

Source DatabaseHomebrew formula API
Taphomebrew/core
Full Namexurls
Version Scheme0
Revision0
Head VersionHEAD
Bottle Stable Root URLhttps://ghcr.io/v2/homebrew/core
Deprecatedno
Disabledno
Keg Onlyno
URL Keys
  • head
  • stable

source database matches

Other package-manager records

Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.

Nix95%

xurls

nix profile install nixpkgs#xurls
  • normalized package name match
  • Matched by: Xurls
nixpkgs package indexes · api.github.com · nixpkgs package indexes: pkgs/by-name/xu/xurls/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

source trail

Generated from repository data

This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.

Used sources

  • Geiger risk classifier
  • Nucleus package database
  • av.db category and tag curation
  • cross-ecosystem install command graph
  • curated package history
  • external package-manager database matches
  • package relationship graph
  • package version freshness
  • package-page enrichment