📄 Read RFCs from the command-line
Clone or download
Latest commit 7895996 Jun 27, 2018
Failed to load latest commit information.
test basic tests suit Feb 24, 2014
.gitignore Initial import. Mar 23, 2013
.travis.yml end of travis setup Feb 24, 2014
CHANGELOG.md Release v0.2.5 Jun 27, 2018
LICENSE LICENSE: bump year Mar 5, 2018
README.md Release v0.2.5 Jun 27, 2018
assert.sh basic tests suit Feb 24, 2014
rfc Release v0.2.5 Jun 27, 2018



Build Status

rfc is a little tool written in Bash to read RFCs from the command-line. It fetches RFCs and drafts from the Web and caches them locally.


Just type rfc followed by the RFC number or the draft name:

$ rfc <RFC num>


rfc 42 # Read the RFC 42
rfc 1234 # Read the RFC 1234
rfc draft-ietf-core-coap-18 # Read IETF draft core-coap version 18

Use rfc help to see all available subcommands.


  • --version: same as the version subcommand
  • --help: same as the help subcommand

Exit codes

  • 0: normal execution
  • 1: the requested RFC or archive cannot be found
  • 2: unrecognized option/subcommand
  • 3: unable to connect to the network
  • 4: can't find curl nor wget


Basic install

mkdir -p ~/bin
curl -sL https://raw.github.com/bfontaine/rfc/master/rfc > ~/bin/rfc
chmod u+x ~/bin/rfc

This creates the ~/bin directory if it doesn’t exist, and download rfc in it. If it’s not in your PATH, you have to add it:

echo 'export PATH="$HOME/bin:$PATH"' >> ~/.bashrc

Using Homebrew

If you use Homebrew or Linuxbrew you can install rfc with one command:

brew install bfontaine/utils/rfc


  • curl or wget. It’ll try $CURL, then curl, then wget.
  • less or another pager. It uses $PAGER if it’s set.


You can choose which directory rfc uses by setting the RFC_DIR environment variable. The directory is automatically created if it doesn’t exist.

The default directory is ~/.RFCs.


rfc version 0.2.5 added a special --debug flag that, if passed as the first argument, enables tracing of all the Bash commands in the script.


Baptiste Fontaine and contributors.