Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/tomnomnom/fff

The Fairly Fast Fetcher. Requests a bunch of URLs provided on stdin fairly quickly.
https://github.com/tomnomnom/fff

Last synced: 18 days ago
JSON representation

The Fairly Fast Fetcher. Requests a bunch of URLs provided on stdin fairly quickly.

Awesome Lists containing this project

README

        

# fff

The Fairly Fast Fetcher. Requests a bunch of URLs provided on stdin fairly quickly.

The main idea is to launch a new request every `n` milliseconds, without waiting
for the last request to finish first. This makes for consistently fast fetching,
but can be hard on system resources (e.g. you might run out of file descriptors).
The advantage though, is that hitting a bunch of very slow URLs or URLs that
result in timeouts doesn't slow the overall progress very much.

## Install

```
▶ go get -u github.com/tomnomnom/fff
```

## Usage

Basic usage:
```
▶ cat urls.txt | fff
```

Options:

```
▶ fff --help
Request URLs provided on stdin fairly frickin' fast

Options:
-b, --body Request body
-d, --delay Delay between issuing requests (ms)
-H, --header Add a header to the request (can be specified multiple times)
-k, --keep-alive Use HTTP Keep-Alive
-m, --method HTTP method to use (default: GET, or POST if body is specified)
-o, --output Directory to save responses in (will be created)
-s, --save-status Save responses with given status code (can be specified multiple times)
-S, --save Save all responses
-x, --proxy Use the provided HTTP proxy
```

## Tuning
You might want to increase your open file descriptor limit before doing anything crazy:

```
▶ ulimit -n 16384
```

## TODO

* Create an index file in the output directory