ir33k / rrr

RRR (Raw Request Response)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RRR (Raw Request Response) program sends raw unprocessed request from
standard input to server under host on given port and prints out raw
unprocessed server response to standard output.

Build and usage:

	$ ./build
	$ ./rrr -h
	$ ./rrr    host port <file	# Regular request
	$ ./rrr -s host port <file	# SSL request

Request root of Gopher hole:

	$ echo "" | ./rrr tilde.pink 70
	$ echo "" | ./rrr floodgap.com 70

Request path of Gopher hole:

	$ echo "/~irek" | ./rrr tilde.pink 70
	$ echo "/fun"   | ./rrr floodgap.com 70

Request file from Gopher hole:

	$ echo "/~irek/log/README"   | ./rrr tilde.pink 70
	$ echo "/~irek/log/20240416" | ./rrr tilde.pink 70
	$ echo "/~irek/log/20231119" | ./rrr tilde.pink 70

Request search result from Gopher hole:

	$ echo "/v2/vs	vim"    | ./rrr floodgap.com 70
	$ echo "/v2/vs	emacs"  | ./rrr floodgap.com 70
	$ echo "/v2/vs	gemini" | ./rrr floodgap.com 70

Request HTTP page:

	$ echo "GET http://gabr.pl/ HTTP/1.0"      | ./rrr gabr.pl 80
	$ echo "GET http://arek.gabr.pl/ HTTP/1.0" | ./rrr gabr.pl 80
	$ echo "GET http://irek.gabr.pl/ HTTP/1.0" | ./rrr gabr.pl 80

Request HTTPS page:

	$ echo "GET / HTTP/1.0
	  Host: www.wikipedia.org" | ./rrr -s wikipedia.org 443
	$ echo "GET / HTTP/1.0
	  Host: www.google.com" | ./rrr -s google.com 443
	$ echo "GET /todos/1 HTTP/1.0
	  Host: jsonplaceholder.typicode.com" | ./rrr -s jsonplaceholder.typicode.com 443

Request Gemini capsule:

	$ echo "gemini://tilde.pink/"       | ./rrr -s tilde.pink 1965
	$ echo "gemini://tilde.pink/~irek/" | ./rrr -s tilde.pink 1965

About

RRR (Raw Request Response)


Languages

Language:C 93.8%Language:Shell 6.2%