Skip to content
/ rrr Public

RRR (Raw Request Response)

Notifications You must be signed in to change notification settings

ir33k/rrr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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