summaryrefslogtreecommitdiffstats
path: root/network/gemget-bin/docs/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'network/gemget-bin/docs/README.md')
-rw-r--r--network/gemget-bin/docs/README.md91
1 files changed, 91 insertions, 0 deletions
diff --git a/network/gemget-bin/docs/README.md b/network/gemget-bin/docs/README.md
new file mode 100644
index 0000000000..952e51add4
--- /dev/null
+++ b/network/gemget-bin/docs/README.md
@@ -0,0 +1,91 @@
+# gemget
+
+A command line downloader for the [Gemini protocol](https://gemini.circumlunar.space/).
+It works well with streams and can print headers for debugging as well.
+
+```
+gemget [option]... URL...
+
+Usage of ./gemget:
+ -e, --add-extension Add .gmi extensions to gemini files that don't have it, like directories.
+
+ --cert string Path to a PEM encoded TLS client certificate to be sent with the request.
+
+ --connect-timeout uint Max time allowed to form a connection and get the header, in seconds.
+ Set to 0 for no timeout. (default 15)
+ -d, --directory string
+ The directory where downloads go (default ".")
+ --header
+ Print out (even with --quiet) the response header to stdout in the format:
+ Header: <status> <meta>
+
+ -f, --input-file string Input file with a single URL on each line. Empty lines or lines starting
+ with # are ignored. URLs on the command line will be processed first.
+
+ -i, --insecure Skip checking the cert
+
+ --key string Path to a PEM encoded TLS key for the provided client cert.
+
+ -m, --max-size string Set the file size limit. Any download that exceeds this size will
+ cause an Info output and be deleted.
+ Leaving it blank or setting to zero bytes will result in no limit.
+ This flag is ignored when outputting to stdout.
+ Format: <num> <optional-byte-size>
+ Examples: 423, 3.2KiB, '2.5 MB', '22 MiB', '10gib', 3M
+
+ -t, --max-time uint Set the downloading time limit, in seconds. Any download that
+ takes longer will cause an Info output and be deleted.
+
+ --no-progress-bar Disable the progress bar output.
+
+ -o, --output string Output path, for when there is only one URL.
+ '-' means stdout and implies --quiet.
+ It overrides --directory.
+
+ -p, --proxy string A proxy that can requests are sent to instead.
+ Can be a domain or IP with port. Port 1965 is assumed otherwise.
+
+ -q, --quiet Neither info strings or the progress bar will be printed.
+ Note that normally infos are printed to stderr, not stdout.
+
+ -r, --redirects uint How many redirects to follow before erroring out. (default 5)
+ -s, --skip Move to the next URL when one fails.
+ --socks string Host/address for a SOCKS5 proxy
+ --socks-pass string Password for a SOCKS5 proxy (optional)
+ --socks-user string Username for a SOCKS5 proxy (optional)
+
+ -v, --version Find out what version of gemget you're running.
+```
+
+## Project Status
+
+gemget is in maintenance mode. See my [blog post](https://www.makeworld.space/2023/08/bye_gemini.html) for details.
+
+## Installation
+Install a binary of the most recent release from the [releases page](https://github.com/makeworld-the-better-one/gemget/releases/). On Unix-based systems you will have to make the file executable with `chmod +x <filename>`. You can rename the file to just `gemget` for easy access, and move it to `/usr/local/bin/`.
+
+If you have Go installed, you can also install it using the Makefile. Make sure to use GNU Make.
+
+```shell
+git clone https://github.com/makeworld-the-better-one/gemget
+cd gemget
+# git checkout v1.2.3 # Optionally pin to a specific version instead of the latest commit
+make
+sudo make install
+```
+
+## Arch Linux
+
+Arch Linux users can install gemget from AUR. It has the package name `gemget`, and is maintained by @dalz.
+
+```shell
+yay -S gemget
+```
+
+
+## Features to add
+- [x] Support client certificates
+- [ ] Support interactive input for status code 10 & 11
+
+## License
+This project is under the [MIT License](./LICENSE).