#!/bin/sh # env # Written in 2019 by Lucas # CC0 1.0 Universal/Public domain - No rights reserved # # To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any # warranty. You should have received a copy of the CC0 Public Domain # Dedication along with this software. If not, see # . usage() { printf "Usage: %s [-T] rfc-number\n" "${0##*/}" >&2 exit 1 } tonumber() { printf "%u" "$1" 2>/dev/null } : ${RFCDIR:=~/doc/rfc} torsocks=torsocks while getopts T flag; do case $flag in T) torsocks= ;; *) usage ;; esac done shift $(($OPTIND - 1)) if [ $# -ne 1 ] || [ -z "$1" ] || ! n=$(tonumber "$1"); then usage fi rfcfile=$RFCDIR/rfc$n.txt url=https://tools.ietf.org/rfc/rfc$n.txt mkdir -p "$RFCDIR" if [ ! -f "$rfcfile" ]; then if ! $torsocks ftp -Vo "$rfcfile" "$url"; then printf "%s: Couldn't fetch RFC %u\n" "${0##*/}" "$n" >&2 exit 1 fi fi ${PAGER:-more} "$rfcfile"