From 7b7e6bfabd7742c730b4646a2b62b92a32fdf2cc Mon Sep 17 00:00:00 2001 From: Andrey Meshkov Date: Sat, 23 Sep 2023 21:57:35 +0300 Subject: [PATCH] add new flags to readme --- README.md | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index aa19505..b658b25 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,18 @@ Simplified version of [`curl`](https://curl.se/) written in Go. 2. Supports some flags that curl does not. [Read more about the new stuff](#newstuff). +* [Why in the world you need another curl?](#why) +* [How to install gocurl?](#install) +* [How to use gocurl?](#howtouse) +* [New stuff](#newstuff) + * [Encrypted ClientHello](#ech) + * [Custom DNS servers](#dns) + * [Experimental flags](#exp) + * [Post-quantum cryptography](#pq) +* [All command-line arguments](#allcmdarguments) + + + ## Why in the world you need another curl? Curl is certainly awesome, but sometimes I need to have better control over @@ -18,7 +30,9 @@ me to implement the necessary parts of curl in Go. Also, I'd like to be able to extend it with what fits my specific needs. Unfortunately, curl is a bit too huge for that now. -## How to install gocurl + + +## How to install gocurl? * Using homebrew: ```shell @@ -31,7 +45,9 @@ Unfortunately, curl is a bit too huge for that now. * You can get a binary from the [releases page](https://github.com/ameshkov/gocurl/releases). -## How to use gocurl + + +## How to use gocurl? Use it the same way you use original curl. @@ -71,11 +87,11 @@ Also, you can use some new stuff that is not supported by curl. uses custom DNS-over-TLS server to resolve hostnames. More on this [below](#dns). * `gocurl --experiment=pq https://pq.cloudflareresearch.com/` enables - post-quantum cryptography support for the request. More on this [below][#exp]. + post-quantum cryptography support for the request. More on this [below](#pq). -#### Encrypted Client Hello support +#### Encrypted ClientHello ECH or Encrypted Client Hello is a new standard that allows completely encrypting TLS Client Hello. Currently, the RFC is in the [draft stage][echrfc], @@ -187,6 +203,8 @@ gocurl \ https://example.org/ ``` + + #### Experimental flags Experimental flags are added to `gocurl` whenever there's a feature that may be @@ -195,6 +213,8 @@ the `--experiment=` argument where `name` is the experiment name and `value` is an optional string value (the need for it depends on the actual experiment). + + ##### Post-quantum cryptography Post-quantum (PQ) cryptography has been designed to be secure against the @@ -209,6 +229,8 @@ gocurl --experiment=pq https://pq.cloudflareresearch.com/ [postquantum]: https://blog.cloudflare.com/post-quantum-for-all/ + + ## All command-line arguments ```shell @@ -248,8 +270,10 @@ Application Options: --json-output Makes gocurl write machine-readable output in JSON format. -o, --output= Defines where to write the received data. If not set, gocurl will write everything to stdout. + --experiment= Allows enabling experimental options. See the documentation for + available options. Can be specified multiple times. -v, --verbose Verbose output (optional). Help Options: -h, --help Show this help message -``` \ No newline at end of file +```