cmdline with printf+nc and curl - gopher-tutorials - The gopher tutorials project.
HTML git clone git://bitreich.org/gopher-tutorials/ git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/gopher-tutorials/
DIR Log
DIR Files
DIR Refs
DIR Tags
---
DIR commit f7ab9d87c22c7522af42fcd997468e20ded31152
DIR parent 2eb761ef9eb86c59f63f78a0504deee794bb4582
HTML Author: Solene Rapenne <solene@perso.pw>
Date: Tue, 30 Jan 2018 20:11:47 +0100
cmdline with printf+nc and curl
Diffstat:
A cmdline.txt | 44 +++++++++++++++++++++++++++++++
1 file changed, 44 insertions(+), 0 deletions(-)
---
DIR diff --git a/cmdline.txt b/cmdline.txt
@@ -0,0 +1,44 @@
+Dear reader, in this document we will see differents command line
+software which can be used to connect to a gopher server.
+
+
+Printf + netcat
+===============
+
+It's possible to write request "by hand" using printf to format the
+request string and then netcat to send it to the remote server.
+
+A request of the file "/tutorials/cmdline.txt" will looks like this :
+
+ printf "/tutorials/cmdline.txt" | nc somedomain.com 70
+
+You will get the server answer directly into your output. Be careful
+if you ask binary files, it will be displayed on your screen, this is
+not something a regular user want. If you want to download a binary
+file, you can redirect the output to a file using ">" or pipe it to
+another software (or using tee for both at the same time).
+
+The following example will download a music file, save it on the
+filesystem and play it with mpv while downloading.
+
+ printf "/some_music.ogg" | tee saved_music.ogg | mpv -
+
+You may have seen that the data type is not part of the request
+string, this is because it is only useful for the client to decide how
+to handle the content. In the current case, the client is YOU, so if
+you ask a menu and you want to download a file which has been tagged
+with type "I" then you should use the right process to deal with an
+image file.
+
+
+Curl
+====
+
+It is possible to use curl to connect to a gopher server, most of its
+options are supported, like timeout or traffic shaping. You need to
+pass a full url with "gopher://" at the start to curl to tell it you
+want to request a gopher server.
+
+By default, curl will output the server result to stdout. Explanations
+can be found in the previous section about this.
+