/cop

🚨 cop (v.): to acquire without concern, esp. via illicit means; *finesse*

Primary LanguageShell

🚨 cop (v.): to acquire without concern, esp. via illicit means; finesse

im lazy af lol.

--Bill Gates

EXAMPLES

$ cop "https://jsonip.com/"
Using curl...
{"ip":"123.123.123.123"}

ABOUT

cop is an HTTP client agnostic file downloader. Given a URL, cop searches for well-known clients installed on your system and selects the first one it finds.

cop emits file contents to STDOUT by default. This makes it great for troubleshooting small, text file URLs. Pipe or redirect the output as needed. Example:

$ cop https://jsonip.com/ | jq .
Using wget...
{
  "ip": "123.123.123.123"
}

WHY COP?

  • Reduce vendor lock-in of curl vs. wget
  • Run on more platforms, including macOS, Linux, UNIX, Git Bash, Cygwin, MSYS, MinGW, and Windows Subsystem for Linux.
  • Build muscle memory across platforms
  • Bootstrap software components
  • Get $$$rich like Bill Gates

REQUIREMENTS

  • sh (often automatically shimmed from ash, bash, ksh, zsh, etc.)

Recommended

INSTALL

  1. Copy cop.
  2. Add .../bin to PATH.

LINT + TEST

$ vast

NOTES

  • Most client-specific flags are dropped.
  • Some clients lack (S)FTP((E)S) support.
  • Some older clients like ftp may have difficulty processing https://... URLs.
  • If you accidentally spill raw binary file contents onto the terminal, try reset.