---
name: "plowlist"
section: "1"
platform: "linux"
package: "plowshare"
version: "2.1.7-4"
release: "Debian 11 (Bullseye)"
platforms: ["linux"]
url: "https://new.carta.tech/plowlist"
---

# plowlist(1)

List links from shared folders websites

## NAME

plowlist - List links from shared folders websites

## SYNOPSIS

**plowlist** \[*OPTIONS*\]... \[*MODULE\_OPTIONS*\]... *URL*...

## DESCRIPTION

**plowlist** is a command-line tool designed for listing links (files) on file-sharing websites. Provided links can be downloaded with [plowdown(1)](/plowdown/1.md).

## OPTIONS

### Common options

- **-i,** **--interface=***IFACE*

  If your machine has several network interfaces, force using *IFACE* interface.

- **-R, --recursive**

  Recurse into sub folders.

- **-t,** **--timeout=***SECS*

  This is useful for mirroring/multi-upload services. Remote links may not be available or partially, in this case, module exit status is **10** (temporary unavailable error). plowlist will wait exponentially until *SECS* (seconds) is reached. When unspecified, this option is zero (no wait, same legacy behavior) and applies for one single URL listing. Note: Don't give a too big value here (I'll advise few minutes), some hosters may be stuck in some "queued for upload" state.

- **--printf=***FORMAT*

  Print results (on stdout) in a given format (for each non-dead link). Default format string is *"%F%u%n"*. Interpreted sequences are:

  - *%%*

    raw % character

  - *%f*

    filename (can be empty string if module list function does not report any name)

  - *%F*

    empty if **%f** is empty, or alias to "**# %f%n**".

  - *%m*

    module name

  - *%n*

    newline

  - *%t*

    tabulation character

  - *%u*

    download url

  - *%U*

    same as **%u** but url is escaped for JSON usage

### Logging options

- **-v,** **--verbose=***LEVEL*

  Set output verbosity level:

  **0**  none,

  **1**  errors,

  **2**  notice (default behavior),

  **3**  debug,

  **4**  report (very noisy, log HTML pages).

- **-q, --quiet**

  Alias for **-v0**. Do not print any debug messages.

### Miscellaneous options

- **--no-color**

  Disables log messages (stderr only) output coloring.

- **--fallback**

  If no module is found for link, get page (HTTP GET) and simply grep all URLs contained inside.

- **--no-curlrc**

  Do not use curl config file (~/.curlrc).

- **--curlrc=***FILE*

  Force using an alternate curl configuration file. Replaces ~/.curlrc if it exists. This option has no effect when **--no-curlrc** is defined.

- **--no-plowsharerc**

  Do not consider any configuration file.

- **--plowsharerc=***FILE*

  Force using an alternate configuration file (instead of per-user or systemwide plowshare.conf). This option has no effect when **--no-plowsharerc** is defined.

- **--modules**

  Display all supported module names (one per line) and exit. Useful for wrappers.

### Generic program information

- **-h, --help**

  Display main help and exit.

- **-H, --longhelp**

  Display complete help (with module options) and exit.

- **--version**

  Output version information and exit.

## MODULE OPTIONS

### Common options

- **-p,** **--link-password=***PASSWORD*

  Used for password-protected folders.

All switches are not implemented nor required for all modules. See help message for detailed modules option list.

## FILES

- *~/.config/plowshare/plowshare.conf*

  This is the per-user configuration file.

- */etc/plowshare.conf*

  Systemwide configuration file.

The file format is described in [**plowshare.conf**(5)](/plowshare.conf/5.md).

- *~/.config/plowshare/modules.d/*

  User directory considered when searching for modules at startup (plowlist will try to open **~/.config/plowshare/modules.d/\*/config**). One file per module (hoster).

## ENVIRONMENT VARIABLES

The following environment variables may affect plowlist:

- *HOME*

  Search for user configuration directory in **~/.config/plowshare** (see FILES section above). If found, **~/.curlrc** will be used (use **--no-curlrc** to disable it).

- *PLOWSHARE\_CURL*

  Specifies an alternate curl command (**$PATH** search is considered). If not defined, **curl** is used.

- *XDG\_CONFIG\_HOME*

  The directory to store user configuration files. If not defined, **~/.config** is assumed.

## EXIT CODES

Possible exit codes are:

- 0

  Success. Folder contain one or several files.

- 1

  Fatal error. Upstream site updated or unexpected result.

- 2

  No available module (provided URL is not supported).

- 3

  Network error. Mostly curl related.

- 5

  Timeout reached (refer to **-t**/**--timeout** command-line option).

- 10

  Links are temporarily unavailable. This is used by mirroring/multi-upload services, maybe uploads are still being processed.

- 11

  Folder is password protected.

- 13

  Folder has been deleted or does not exist or is empty.

- 15

  Unknown command line parameter or incompatible options.

If **plowlist** is invoked with multiple links and one or several errors occur, the first error code is returned added with 100.

## AUTHORS

Plowshare was initially written by Arnau Sanchez. See the AUTHORS file for a list of some of the many other contributors.

Plowshare is (C) 2010-2016 The Plowshare Team

## SEE ALSO

[**plowdown**(1)](/plowdown/1.md), [**plowup**(1)](/plowup/1.md), [**plowdel**(1)](/plowdel/1.md), [**plowprobe**(1)](/plowprobe/1.md), [**plowshare.conf**(5)](/plowshare.conf/5.md), [**plowmod**(1)](/plowmod/1.md).
